使用标准化向量在两个点之间创建曲线

时间:2016-01-24 08:02:48

标签: c# math vector curve smoothing

所以我需要一个write方法来创建两个点之间的曲线,每个点都有一个指向任意方向的归一化向量。我一直试图设计这样一种方法,但却无法绕过数学。

在这里,由于图片胜过千言万语,这就是我所需要的:

enter image description here

在图片中,矢量垂直于红线。我相信矢量需要加权相同,重量等于点之间的距离。它需要是这样的,当两个点在彼此的顶部指向相反的方向时,它仍然看起来像一条平滑的曲线(图中的顶部曲线)。另外,我需要整合曲线以找到它们的长度。我不知道为什么我还没有想到如何计算所有这些,但我没有。

我也在使用csharp语言并不重要。

1 个答案:

答案 0 :(得分:1)

Cubic Bezier确实会达到要求的效果。每个曲线段需要四个控制点。两个定义端点,另外两个定义端点处切线的方向。剩下两个自由度,告诉控制点在切线上的距离。

无法通过分析计算弧长,您需要数值方法。这个other question为您提供了有用的信息。

enter image description here