SnappyBézier曲线

ala*_*ere 2 c# math bezier interpolation shapes

Bézier曲线上的控制点越多,曲线到达的任何给定控制点附近的控制点越少.

例如,2点(线性)曲线到达两个控制点.三点(二次)曲线在三点之间形成一个圆弧,这对我来说是理想的,它不是精确跟随线,因为它不是一条曲线,但是控制点之间存在强烈的视觉关系和线.

使用具有锯齿形控制点的4点(立方)曲线,但是所得到的线更直.延伸使用Z字形中的100个控制点,曲线几乎完全笔直.

为了保持zig-zag的例子,形成我正在寻找的曲线的一种方法,在这种情况下看起来像一个不那么积极平滑的锯齿形而不是Bézier曲线将产生的100个控制点,将是打破形成许多小的3点Bézier曲线,在它们之间进行插值.

有没有C#,伪代码甚至只是一个简单形式的更多信息可以做更复杂的Bézier曲线相关任务?

650*_*502 6

非常容易实现的是使用二次贝塞尔曲线建立曲线

在此输入图像描述

您基本上使用源顶点之间的中点作为每个弧的开始/停止和源顶点作为弧的控制点.这种选择保证了切线的连续性,并对曲线形状留下了很多控制.

此外,通过使用具有相同坐标的两个连续源顶点,您可以轻松获得尖角.