b样条和三次样条_catmull-rom 样条(spline)公式推导

本文介绍了Catmull-Rom样条的用途,它用于创建平滑曲线路径,使得物体从一点移动到另一点时不是沿直线而是曲线路径。文章详细推导了该三次样条的数学公式,并给出了参数化表达式,通过控制点构建曲线。此外,还讨论了如何应用于多条线段的情况。
摘要由CSDN通过智能技术生成

e6dd86a3401df1a9834ad2d0bf8eed38.png

【别的文章都说网上关于这个资料很多?为什么我在中文互联网上愣是没找到呢?不管了,以下是对http://algorithmist.net/docs/catmullrom.pdf的翻译】

有时候我们想要物体从一个点移动到另一个点,但并不希望它沿着直线移动过去,而是稍微弯曲一点,这时候catmull-rom样条就派上用场了。推导其实很简单。

2201135eea95c6f72a59a8f7c1504032.png

比如,我们想要构造P0到P1之间的曲线P(t),P(t)是如下待求解的三次曲线

316d03ca1241ce717a8557a281c63164.png

p-1和p2是控制点,满足如下方程,

是0到1之间的参数,用来控制曲线的尾部与控制点之间的平行程度。

017f3c99e98f1f9e5055903a2d253aa7.png

由于

ca535bb1b30f78683ccd75b17eacf241.png

于是

442dc1ba07eb5204d3ec0718d11ba97c.png

a953bebd895d1f63387b5d46256fc8f9.png

由等式[2]可得到:

bd11689cad1ee4314fee94b5cb50b787.png

由等式[3]可得到:

e5720608438c86fb37c51d6024e7340c.png

[4a]和[4b]联合可得:

b1c03d2eb6759c5b3798720bf7218677.png

继续化简:

5a7a744f4993373781412902965d53e2.png

参数

也可以理解为曲线的“紧张程度”。通常取0.5。

d27237098c3005a2cfb037a26473633e.png

最终解出方程

aa2471f91b80563168014d358a2917e7.png

效果如下:

b04479102d8e91decae008fb3082a4ff.png

对于多条线段,那么对于第i控制点,方程在x坐标轴上如下:

d12d60b1b32b685004387ab94c539ff9.png

效果如下:

c8cf2ff2cd53eb75e27da3791b1521fb.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值