在两个点之间创建一条曲线,每个点都具有归一化向量
Creating a curve between two points each with normalized vectors
所以我需要一个 write 方法来创建两点之间的曲线,每个点都有一个指向任意方向的归一化向量。我一直在尝试设计这样一种方法,但一直无法解决数学问题。
在此,一图抵千言,这就是我所需要的:
在图中,向量垂直于红线。我相信矢量需要加权相同,权重等于点之间的距离。它需要这样,当两个点彼此重叠并指向相反的方向时,它仍然看起来像一条平滑的曲线(图中的顶部曲线)。此外,我需要对曲线进行积分以找到它们的长度。我不知道为什么我一直想不出如何计算所有这些,但我没有。
我也在使用 csharp,语言并不重要。
三次贝塞尔确实可以达到要求的效果。每个曲线段需要四个控制点。两个定义端点,另外两个定义端点处切线的方向。剩下两个自由度,告诉控制点可以沿着切线多远。
无法解析计算弧长,您将需要数值方法。 other question 为您提供有用的信息。
所以我需要一个 write 方法来创建两点之间的曲线,每个点都有一个指向任意方向的归一化向量。我一直在尝试设计这样一种方法,但一直无法解决数学问题。
在此,一图抵千言,这就是我所需要的:
在图中,向量垂直于红线。我相信矢量需要加权相同,权重等于点之间的距离。它需要这样,当两个点彼此重叠并指向相反的方向时,它仍然看起来像一条平滑的曲线(图中的顶部曲线)。此外,我需要对曲线进行积分以找到它们的长度。我不知道为什么我一直想不出如何计算所有这些,但我没有。
我也在使用 csharp,语言并不重要。
三次贝塞尔确实可以达到要求的效果。每个曲线段需要四个控制点。两个定义端点,另外两个定义端点处切线的方向。剩下两个自由度,告诉控制点可以沿着切线多远。
无法解析计算弧长,您将需要数值方法。 other question 为您提供有用的信息。