Wednesday, June 4, 2014

莫比乌斯曲面连续性问题探究

最近有用户在Shaper3d论坛提问关于莫比乌斯环状曲面连续性的问题,在对接位置存在不连续的问题:如下图所示
03.png
02.png
Dixon给出的解答如下:
1.首先必须知道,曲面如果要对接,那么必须要求uv要能正确对应,因此正常的即便是一个简单的默比乌斯单面,因为对接端的方向因为旋转了180度,导致边缘方向相反,所以是无法做曲面的融合行程闭环的,也就是说,那个接缝是必须存在的,不可能通过任何办法消除。
2.如果是反转360度的整数倍,那么没有问题,以内接缝和方向经过360度的旋转,又重新对齐了。因此如果你的程序设置为360度(排除程序的其他问题),那么是ok的可以生成循环封闭的曲面,自然是很光滑的。
3.但以上的方法其实是曲面法则和做法的限制引起的,并不表示180度的莫比乌斯就无法做出来,或者说无法在接缝处做到光滑。
莫比乌斯的接缝问题
360度
如果直接做180度的莫比乌斯,那么因为接缝反转的问题,强行保持接缝对齐,就会导致如下后果:
m3.png
m4.png
因此,有两种解决办法。
1.保持接缝错开,也就是不做边缘融合,这种方法导致的问题就是,如果做法不做特殊的有针对性的调整,那么接缝处可能会不光滑,例如下面用rhino直接做loft也是一样的,其实你的程序也就是这个问题,因为loft并不能直接保证接缝处的光滑。所以这不是gh或者rhino的问题,相反这样的结构本来就是不光滑的。
2,在rhino中我们可以通过其他很多方法处理,避免咋再曲面接缝位置出现不光滑的现象。
直接做loft,180度的情况无法做光滑对接
直接做loft,180度的情况无法做光滑对接
m6.jpg
另外一个方法,就是人工对齐扭转180度之后的曲面的接缝,再rhino里效果如下
这种方法同样可以做到接缝光滑,并且用loft来做
m7.jpg
m8.png
以上两种做法,都可以做到 :180度的莫比乌斯 ,接缝光滑。
1.第一种是通过做曲面的技巧避免不光滑的问题
2.是通过调整 线的闭合点的结构,让闭合点不会错开,来保证 loft功能打开封闭放样功能后不会错开变形的目的。
因此,外形可以做到一样,但曲面的结构是不同的。
所以你的问题不是gh的问题,而是rhino里做面几何法则没搞清楚的问题。还有手法课可以多种多样,就看怎么灵活运用了。
所以重要的是方法,方法没错了, 用什么工具都可以做,gh也好,rhino也好。
m9.jpg
左边是原始的接缝,中间是改过的,后边是效果
mmm.png
还有更多热心网友和版主给出的解答,了解详情及参与讨论,请访问:

浅谈曲面连续性


作者:Shadow
两个曲面做到0的误差,你可以理解为它们是一个曲面分割出来的。可是我们在做造型设计的时候,基本上不可能做到一个造型只用一个曲面就可以表达的。目前市场上的软件,所谓的G0 G1 G2,大多是取近似值而已,就是说在一定的公差范围内,都会认为是合格的。
好了,再回到星点的G1条件,我贴个5星的图出来。
1.jpg
要做到这5个面的G1连续,最基本的条件是012345这6个点,必须在同一个平面内。(我拿左边的两个面来举例,其它的面逻辑都相同),然后找切线方向,就是25,AB,CD,GH,这个方向也不是随意定的,它跟控制点的连线01 16 67是相交的,交点分别是8 E F,它们之间的比例还必须相同,即08/81=1E/E6=6F/F7,28/85=AE/EB=CF/FD=G7/7H。这些条件都满足了,这两个面就会是G1的0误差。其它几个面相同的原理。做好之后你会发现那个绿色5边形的顶点是唯一的,因为它要兼顾相邻两个面的连续性,只有相交在一个点,才会做到兼顾。如果是对称性的曲面,做到G1当然就自然是G2了。
非对称性的曲面如何实现?我觉得那只存在理论上的可能,实际可能性为0,不信的朋友可以去尝试用VSR或者别的软件来弄,看看它们内部是不是能实现0的误差。因为5星的很难做到G2的连续,所以我们在做模型的时候,要尽量回避不要出现这种结构。再放几张图来比较一下。。
2.jpg
22.jpg
4.jpg
上面几张图是在SW里面直接曲面填充,可以看到它的公差也控制得很好。下面这张图是用VSR来补的,你会发现G2那项其实数值很高,即使选择了曲率连续,但还是很难控制曲率的数值。
3.jpg
下面是直接用rhino的patch指令补的这5边面,数值都不比VSR的差太多。
5.jpg
上面的只想说明一个事,就是不要纠结用啥工具来实现,也不必纠结1span还是多span,只要你做出来的面,外表看起来不错,检测的数据也不错就可以 了。有的补面用1span来做,反而不好控制。
既然做不到G2,那星形结构是不是只做G1就可以了?当然不是,做好了G1,可以再借助match工具做G2,可以很好的控制曲率在一定的范围之内,换句话说,可以做到我们能接受的那个曲率范围值内。
接着上面说说rhino的matchsrf如何控制曲率。
a.jpg
像这种结构的两个曲面,大家也用得比较多。如果用右边的曲面去匹配左边,会发现3点跑得比较远。如果不想它动,我们只需要改动4点的位置就可以了,4点的位置就是跟123点共平面即可达到。以123点做一个工作平面,再把4弄到工作平面上,你再匹配的G1的时候,右边的边界肯定不会动。G1匹配好之后再看看它的效果,还过得去,但数值有些偏大。
b.jpg
d.jpg
再修改一下匹配的参数,勾选精确衔接,改一下相切的角度公差(如果你想省事,就直接输入0,它也起作用的,当然它会增加一些ISO),再看一下数据是0.0091,很完美。
e.jpg
f.jpg
最后再做G2
g.jpg
21.jpg
像这个造型,很多初学者都玩过,发现做好这边那边又跑了,其实就只改一个参数,做这种效果,也可以做到0的误差。ISO会增加一些,完全可以无视,因为软件是由少自动增加到多的,所以它的增加并不会造成曲面内部的凹凸不平。
废话这么多,其实只是想表达一下,不要纠结1span和多span,用你习惯的操作方式来完成模型,只要曲面看起来没有什么凹凸不平,就是好曲面,管它是2span还是5span。1span是方便后续的调整,如果你做的面不需要考虑这种因素,完全可以忽视。还有做到5边需要补面的时候,尽量分成两个4边就完事了,没必要弄成5星的,因为那个连续性并不是最好的,也不容易控制。
如果您有什么疑问,或参与此话题的讨论,请访问: