显式几何内容放在了上一讲中
(资料图片)
本节内容
贝塞尔曲线
贝塞尔曲线用一系列的控制点去定义某个曲线,需要满足一些性质,比如曲线方向要朝着p0到p1方向走,再到p2,最后到p3,并且起止点必须为p0、p3
贝塞尔曲线运用德卡斯特里奥(de Casteljau)算法 生成二次贝塞尔曲线:
定义三个点 -> 根据任意的 t 插值出点 -> 不断重复 t在[0,1]间不断取值 -> 得到曲线
(二次贝塞尔曲线采用了递归的方式,并且需要尽量多的加入t值去得到曲线想要的点)
三个点的应用
四个点的应用
二次贝塞尔曲线动画
贝塞尔曲线的代数表示
在每两个之间找一个时间t,相当于每两个之间线性插值
把算法过程写成代数的形式(如图)
推广到n阶,不难发现这其实是一个符合二项分布的多项式
举例:三次贝塞尔曲线的代数表示
贝塞尔曲线的性质
1.对称性:第i项系数和倒数第i项系数相同
2.必过起点终点,起始切线方向为前两个点连接的方向,终止切线方向为结尾两个点连接的方向
3.在仿射变换下,只需要对顶点做仿射变换,就能得到这个贝塞尔曲线在仿射变换下的结果
4.凸包性质:贝塞尔曲线始终会在包含了所有控制点的最小凸多边形中, 而不是按照控制点的顺序围成的最小多边形
逐段贝塞尔曲线
控制点多了以后,贝塞尔曲线并不直观,很难控制,于是我们想到可以每次定义一段贝塞尔曲线,然后连起来
普遍习惯每四个控制点定义一段,并略去中间两点间的连线
但如何保证连起来的曲线是光滑的呢?
起点的两个切线导数相等(不仅方向一样,大小也一样)
--逐段贝塞尔曲线连续性(分为点连续和切线连续)
当然也会有更高的连续性要求比如c2等(c2不知道)
样条曲线--其他类型的曲线
样条:连续的曲线,由一系列控制点控制,满足一定的连续性,即可控的曲线
B样条曲线有关信息可以参考:
https://zhuanlan.zhihu.com/p/50626506
https://www.bilibili.com/video/BV13441127CH?p=13 胡事民老师的课
B样条曲线(别称基函数样条)需要比贝塞尔曲线更多的信息,并满足所有贝塞尔曲线的重要性质