样条曲线

样条曲线

贝塞尔曲线(bezier curve)

由线性插值而来的光滑曲线
插值公式 lerp(P0 ,P1 ,t) = P0 (1 - t)+ P1 t

三阶贝塞尔曲线

  • 插值表示法
    三阶贝塞尔曲线
    P代表控制点,t∈(0, 1)。
  • 伯恩斯坦表示法
    请添加图片描述
    基函数
    请添加图片描述
    代表了各个点的影响
  • 特征矩阵表示法
    请添加图片描述

贝塞尔曲线的不足

  • 控制能力不足:移动一个点会影响整条曲线
  • 只经过起点和终点

多条3阶贝塞尔曲线的拼接

参数t变为u,u取值从0到曲线条数,整数部分代表曲线索引,小数部分为每条曲线本地t值。
knot values :
knot interval:节点之间间隔
请添加图片描述

连续性的讨论

请添加图片描述

  • broken knot
    c0 连续
  • aligned
  • mirrored
    c1 连续
c1 连续

A‘(1) = B’(0) --> P4 = 2P3 - P2
A, B代表了相邻的两条曲线

c2 连续

A’‘(1) = B’'(0) --> P5 = P1 + 4(P3 - P2 )
牺牲控制能力来保证连续性。

几何连续性

请添加图片描述
2阶是曲率

Hermite Spline

请添加图片描述
指定起点,终点的位置速度得到。当我们将多条hermite曲线拼接,并使两条曲线结点处位置,速度相等:
请添加图片描述
hermite与 bezier的转换请添加图片描述

线性曲线

请添加图片描述

Cardinal Spline

指定每个点的位置,速度是邻近2点组成的向量再乘上一个缩放因子scale(端点处只有一个neibor,做neibor关于端点的镜像,从而得到端点的速度)。
曲线的随scale的变小变得平缓。
请添加图片描述

Catmull-Rom Spline

scale=0.5 的Cardinal Spline

B Spline

请添加图片描述

总结

请添加图片描述
参考
https://www.bilibili.com/video/BV1dP411r7Ve/?spm_id_from=333.1007.top_right_bar_window_history.content.click&vd_source=578bc4faa4007385bf65652409031ed3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值