参数化曲线:Hermite Catmull-Rom Bezier

    技术2022-07-10  142

    本来来自于翻译摘录自 CMSC427 Parametric curves: Hermite, Catmull-Rom,Bezier CMU课程pdf https://www.cs.cmu.edu/afs/cs/academic/class/15462-s09/www/lec/10/lec10.pdf

    概述

    piecewise polynomials:分段多项式。

    插值多项式和拟合多项式的差别:

    描述曲线连续性的两种方式

    :Ck:连接点的k阶导数连续; Gk:k阶导数是成比例的。

    Hermite曲线

    给点两点P0 P1以及这两点的导数数值,求取得唯一一个三次多项式。 根据已知的点,可以对abcd efgh参数进行求取, 下面对abcd的计算进行举例:对t=0 t=1的x(t) x’(t)进行求取 就能够得到abcd的数值解。 转化为矩阵的形式可以表示为: 得到参数abcd的矩阵形式解 同样的也可以求取y的数值,据此将以上矩阵转化为向量形式如下,即表示多维度下的hermite曲线解。其中P0 P1为点向量,T0 T1为点的切线向量。 除了以上的矩阵表达形式,还有如下两种表达形式: 其基函数的曲线画图如下,也就是说选择不同的x0 x1 dx0 dx1就是对以下四个函数的线性组合。

    Catmull-Rom曲线

    简称C-R曲线,由发明者的名字catmull rom取名。该曲线能够保证连接点处的朝向相同,但是不能保证曲率相同。即C1连续性。同时能够保证所有原始点组成的凸包都在插值后的曲线范围内部。 首先可看简要介绍https://blog.csdn.net/i_dovelemon/article/details/47984241 原文内容来自http://graphics.cs.cmu.edu/nsp/course/15-462/Fall04/assts/catmullRom.pdf Catmull, E., and Rom, R的原文:A class of local interpolating splines(经典原文) 其矩阵表达式可表示为如下形式:

    cubic Bezier曲线

    和catmull-rom曲线相比,三阶贝塞尔曲线也是保证C1连续,但是不能够经过所有控制点。但是其能够保证起点的朝向。

    矩阵形式如下: 按照catmull-rom曲线相同的转换方式,可以提取其基函数如下:

    各个三阶曲线性能对比

    可参考博客

    Processed: 0.010, SQL: 9