NCF参数化建筑论坛

标题: gh如何实现空间多段线交点求面? [打印本页]

作者: GUYCHOOOU    时间: 2013-7-1 12:54
标题: gh如何实现空间多段线交点求面?
[attach]39287[/attach]
通过空间多条多段线求得相交的封闭平面(4交点构成的面)?请各位大神多多帮忙!

作者: denghua    时间: 2013-7-1 14:33
本帖最后由 denghua 于 2013-7-1 17:47 编辑

书上写的方法(我没试过,不过应该是可以的)是:
1. 在下面 定义一个接近的mesh 来定义法线 (因为没有法线 系统不能自定义曲面的内外) ;
2. 求出所有交点 作为顶点集合V。每个元素vi{3dvector 位置,linkedlist<halfedge>关联的边的单循环链表}
3. 遍历V 求所有与vi距离为0的线 求在曲线上 参数(不是距离) 与vi上的参数 差异最小的参数的两个顶点 作为该点的 邻点集合 Nvi
4. 对vi 根据对应的法线 逆时针访问 Nvi中所有元素,得到二元序集族 【vi,vj】 作为halfedgeij 放入该点的半边单循环链表。
5 把所有半边提取出来得到半边集E,根据逆时针最小角原则生面 得到面集合F(如果最小角不为π则下一半边直到再次遇到自身 定义面,如果最小角为π 则停止并移除当前子过程访问的半边)
6 融合 所有face
作者: denghua    时间: 2013-7-1 15:24
本帖最后由 denghua 于 2013-7-1 17:47 编辑

[attach]39288[/attach][attach]39289[/attach]
另外一个省事但 每次都要人工处理的办法 是用一个 拓扑与结果一致的 mesh 去 替换

作者: GUYCHOOOU    时间: 2013-7-2 13:00
denghua 发表于 2013-7-1 15:24
另外一个省事但 每次都要人工处理的办法 是用一个 拓扑与结果一致的 mesh 去 替换

大神威武!哪搞不懂后再请教!
作者: GUYCHOOOU    时间: 2013-7-2 18:52
denghua 发表于 2013-7-1 15:24
另外一个省事但 每次都要人工处理的办法 是用一个 拓扑与结果一致的 mesh 去 替换

大神的第二种方法通过xy方向两次排列,如图对多条线的点很错乱,也许是自己哪弄错了?还请多多指点。[attach]39294[/attach]第一种方法小弟完全搞不懂啊!0_0!

我提供的这些线组成平面还是有些问题,篮圈处扭曲过大实现不了近视的平面板,线还待优化啊
[attach]39293[/attach][attach]39292[/attach]                       



作者: denghua    时间: 2013-7-3 09:37
GUYCHOOOU 发表于 2013-7-2 18:52
大神的第二种方法通过xy方向两次排列,如图对多条线的点很错乱,也许是自己哪弄错了?还请多多指点。第一 ...

我是 在下面垫了一个大的曲面来定位那不是世界坐标
那是曲面坐标 的uv





欢迎光临 NCF参数化建筑论坛 (http://ncf-china.com/) Powered by Discuz! X3.2