点序列插值

Nic*_*ack 10 math graphics bezier splines vector-graphics

给定空间中的任意点序列,您将如何在它们之间产生平滑的连续插值?

欢迎使用2D和3D解决方案.产生以任意粒度的点列表的解决方案以及为贝塞尔曲线产生控制点的解决方案也是值得赞赏的.

另外,看到一个迭代解决方案可以在接收到点时接近曲线的早期部分,这很酷,所以你可以用它绘制.

Bob*_*oss 9

所述的Catmull-Rom样条是保证通过所有控制点.我发现这比试图调整其他类型样条曲线的中间控制点更方便.

这篇由Christopher Twigg撰写的PDF文章简要介绍了样条的数学.最好的总结句子是:

Catmull-Rom样条曲线具有C1连续性,局部控制和插值,但不位于其控制点的凸包内.

换句话说,如果点指向右侧的急剧弯曲,则样条将在向右转之前向左倾斜(该文档中有示例图片).这些转动的紧密度可控制,在这种情况下使用示例矩阵中的tau参数.

这是另一个可下载DirectX代码的例子.