【发布时间】:2011-02-01 02:14:41
【问题描述】:
我想知道用存储在向量中的一组点(大约 100 多个点)在 C++ 中绘制贝塞尔曲线的最佳且不太复杂的方法是什么 据我了解: - 贝塞尔曲线由 4 个控制点组成,中间的点决定曲线的方向/切线
一种可能的方法是将点分解为不同的段,并从每个段中确定控制点和切线吗?
【问题讨论】:
标签: c++ graphics bezier curves
我想知道用存储在向量中的一组点(大约 100 多个点)在 C++ 中绘制贝塞尔曲线的最佳且不太复杂的方法是什么 据我了解: - 贝塞尔曲线由 4 个控制点组成,中间的点决定曲线的方向/切线
一种可能的方法是将点分解为不同的段,并从每个段中确定控制点和切线吗?
【问题讨论】:
标签: c++ graphics bezier curves
它被称为三次样条,如果你搜索你可能会找到一些 C++ 代码。我使用了来自Numerical Recipes Online 的免费 Fortran 代码并将其移植到 C# 中没有任何问题。
【讨论】:
一种可能的方法是 将点分解成不同的 段和从每个段 确定控制点和 切线?
是的,基本上,将线段首尾相连,使得接近线段末端的坡度在连接点的两侧相等。这称为三次样条。你可以找到这个here的算法。
【讨论】: