如何计算 C2 连续双三次贝塞尔曲面片的内部控制点

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 连续的组合表面?

如果不是这样,生成所需补丁的适当方法是什么?

Cad*_*yrn 0

为了使两条贝塞尔曲线之间的交界处连续且平滑,交界处的三个点必须对齐(如草图中黄色所示)。这是因为在其末端,曲线始终与最后两点形成的线段相切。

1

同样的原理也适用于贝塞尔曲面,您可以在草图底部看到(也是黄色的)。我认为没有限制性较小的解决方案。