Bar*_*ian 5 bezier surface formula bicubic openscad
我正在尝试计算平滑连接管的双三次贝塞尔曲面的控制点。此示例为相应的贝塞尔曲线图块提供了 16 个控制点(采用 OpenSCAD 的语法):
[[[ 2 , 2 , 0], [2.5, 1.5, 0], [3.5, 1 , 0], [4, 1 , 0]],
[[ 2 , 2 , 1], [2.5, 1.5, 1], [3.5, 1 , 1], [4, 1 , 1]],
[[1.3, 1.3, 2], [1.8, 0 , 2], [ 3 , 0.5, 2], [4, 0.5, 2]],
[[ 0 , 0 , 2], [1.8, 0 , 2], [ 3 , 0 , 2], [4, 0 , 2]]]
Run Code Online (Sandbox Code Playgroud)
给出了角点;沿边缘的控制点(以红色显示)是根据具有明显方向的切线计算的:
该补片可以在平面 z=0、y=0、x=4 和 x=y 上进行镜像,以生成更大的复合曲面,该曲面沿所有四个接缝 C1 连续。该曲面在 z=0、y=0 和 x=4 平面中的接缝处也是 C2 连续的,但在 x=y 平面中的接缝处却不是这样(参见 V 形黄色法向量):
为了获得所需的 C2 连续性,沿违规接缝的表面法线应与平面 x=y 共面。
是否有可能设置四个内部控制点,以便所有接缝处的法线都能按需要显示?
如果是这样,应该通过什么公式或算法计算内部控制点以允许完全 C2 连续的组合表面?
如果不是这样,生成所需补丁的适当方法是什么?
为了使两条贝塞尔曲线之间的交界处连续且平滑,交界处的三个点必须对齐(如草图中黄色所示)。这是因为在其末端,曲线始终与最后两点形成的线段相切。
同样的原理也适用于贝塞尔曲面,您可以在草图底部看到(也是黄色的)。我认为没有限制性较小的解决方案。