关于Zbra显示问题


#1

@KelvinC

测试档案
Test ZBra.3dm (82.5 KB)

问题: Blendersrf后连续性用斑马线测试显示有错误。

V5里也这样,分情况了。 必须JOIN才显示正常。

V6里不应该出现这现象。原因是V6里加入了历史功能,在跳动控制点时,斑马线也跟着变化。这样一来,错误的显示会让使用者产生错误的判断。 如果V6里JOIN,直接破坏掉的历史,这就失去了加入历史功能的意义了。

好像怕思考不懂我说的啥意思,说要调动Mesh的参数。
我的问题是,如果每次出现这样的情况再去调整mesh参数,没完了。

或者是不是我missing什么东西了??


#2

以你這個例子而言,就算 Join 了也還是會有這樣的情形,Mesh 調的多細都沒用,這是因為 Degree 3 曲面的控制點移動時牽引曲面的力道比較大,無法對曲面的形狀做夠細微的調整達到要求的連續性 (誤差比較大),你可以試試看把那個曲面的 UV 兩個方向都改成 5 階,MatchSrf 就不會有這樣的問題,不過曲面未組合時 Mesh 還是要調細一點。


#3

有道理有道理。 多谢了。 至少懂了点什么。


#4

你好,关于你问的这个问题,我想补充一下:

事实上绝大多数情况两块面是没有办法做到无缝的对接的下,因为不同曲面背后的方程式和参数不一样,理论上决定了他们不可能描述同一根曲线,所以为了解决这个问题,所有的和rhino一样的nurbs软件都采用相同的办法来出来,就是给曲面或者曲线加入更多的控制点去 拟合 想要的形状。但因为理论上无法做到完美,所以我们只是把面之间的误差做到我们可以接受的程度即可,也就是把误差控制在我们能够接受的范围,这就是rhino系统里的公差 参数 设置的作用。

 所以如果你做曲面的对接,无论是做matchsrf ,还是blend,或者sweep ,只要是有曲面连续性选项的功能,他们都只是做到公差设定的误差以内,并不可能做到理论上的完美,儿追求完美的代价很大,就是非常密集的控制点让面更加不利于调整和控制,而及时这样也只是让误差又更小了一点而已,误差理论上无法消除。

2.事实上,即便两块面做到了理论上的完美对接,很可能你用zbera去检测的时候还是会错开(达不到g1连续),因为目前为止所有的nurbs软件的显示和着色检测都需要内部转换为mesh来进行,所以如果转换的时候相邻边界的mesh顶点没有刚好对上(重合),那么基本上检测的结果线条就会是错开的,只是程度不一样而已。所以如果你不断的去拉近视图去查看对接情况,那么他一定是错开的。但是如果你做了join在做检测,可能会好些,原因就是join之后在做检测,内部或转换的边界的mesh的顶点是重叠的。但无论如何,我觉得, 只要你理解了这种机制,就能理解没有必要去纠结检测工具本身的检测误差的问题,而且这种问题其实非常细微,只要参数设置比较合理,检测的结果不至于影响我们的正确判断,因为这种问题现阶段无法通过简单的参数去解决。

3.除去理论上的和检测工具的精度的问题,设置比较了比较精细的mesh转换参数仍然发现检测线条明显错开,这表明曲面本身没有达到想要的连续性g1。这是为什么呢?两块曲面要做到好的连续性能,需要控制的因素是多方面的,例如 曲面的结构合理性,空间的合理性,对接的参数设置,曲面的uv结构走向,都会影响最终的结果。并不是简单的在参数中设置了想要的连续性就一定可以达到对应的连续性。这也是就是为什么一些专业行业的例如汽车制造行业,汽车曲面外形需要专业的人来做,因为没有一定时间的积累是很那做到理想的效果的。

以上这些希望让你对曲面对接方面有比较全面的认识。


#5

:smile: 解释的这么详细。 多谢了~Dixon


#6

非常清楚的解释,多谢指教!!