0

在我当前的项目中,我已经实现了 NURBS 曲线,并且在曲线的开头我有一些 3D 点,它们都位于该点的法线平面中(u = 0.0)。现在我想将这些点复制到曲线的其他位置(例如 u = 0.5)以创建某种拉伸/扫描机制。我的理论方法是在点 0.0 创建一个局部坐标系,并计算每个点相对于该系统的坐标。然后我可以在所需的点创建局部坐标系并将这些点放置在那里。我的问题是,通过 NURBS 曲线的第一次推导,我可以获得切线,因此可以获得点/系统的法线平面(局部 X 方向),但我不知道如何定位系统。

有没有解决这个问题的通用方法?

作为一个附加问题,我想知道如何指定给定控制点的切线向量,例如第一个控制点的切线。目前我通过指定第二个控制点的位置来解决这个问题,这似乎不是很优雅。

4

2 回答 2

0

看起来您想在 NURBS 曲线上的任何给定点找到一个局部坐标系。如果是这种情况,Frenet 框架是典型的选择。有关更多详细信息,请参阅此链接

至于“给定控制点的切向量”的问题,由于控制点一般不在NURBS曲线上,所以没有切向量。如果出于某种特殊原因确实需要一个,可以使用曲线上最靠近控制点的点处的切线向量。

于 2018-07-10T16:42:33.893 回答
0

我们使用这种方法解决了同样的问题:

https://www.microsoft.com/en-us/research/wp-content/uploads/2016/12/Computation-of-rotation-minimizing-frames.pdf

于 2018-07-11T13:23:47.203 回答