计算机图形学第6章
拟合:
在曲线曲面的设计过程中,用插值或逼近的方法使生成的 曲线曲面达到某些设计要求。
青岛农业大学
6.1.5 曲线的连续性
构造复杂曲线时,可以首先构造一些简单的自由 曲线,然后将这些简单曲线段连接成复杂曲线。 拼接条件:首先必须有连接点,其次必须在连接 点处平滑过渡,即需要满足连续性条件。 连续性条件有两种:参数连续性和几何连续性。
第二篇 几 何
青岛农业大学
第6章 曲线与曲面
青岛农业大学
青岛农业大学
6.1 基础知识
自由曲线和曲面发展过程 自由曲线曲面的最早是出现在工作车间,为了获得特殊的曲线,人们 用一根富有弹性的细木条或塑料条(叫做样条),用压铁在几个特殊 的点(控制点)压住样条,样条通过这几个点并且承受压力后就变形 为一条曲线。人们调整不断调整控制点,使样条达到符合设计要求的 形状,则沿样条绘制曲线。 1963年,美国波音,弗格森提出使用参数三次方程来构造曲面 1964-1967年,美国MIT,孔斯用封闭曲线的四条边界来定义曲面 1971年,法国雷诺汽车,Bezier提出用控制多边形来定义曲线和曲面 1974年,美国通用汽车,戈登和里森菲尔德, B样条理论用于形状描 述 1975年,美国锡拉丘兹大学,佛斯普里尔提出有理 B样条 80年代,皮格尔和蒂勒, 将有理B样条发展成非均匀有理B样条, NURBS方法
二阶参数连续性(记作C2) 指相邻两个曲线段在交点处具有相同的一阶 和二阶导数。
青岛农业大学
6.1.5 曲线的连续性—几何连续性
几何连续性只要求导数成比例,而不是相等。 零阶几何连续性(记作 G 0): 与零阶参数连续性相同,即相邻两个曲线段 在交点处有相同的坐标。
青岛农业大学
6.1.5 曲线的连续性—几何连续性
青岛农业大学
6.1.6 三次Hermite样条曲线
给出端点坐标、端点坐标的切矢量,即: P(0),P(1), P’(0),P’(1)
根据条件,得出方程:
P (0) a3 0 a2 0 a1 0 a0 P (1) a3 1 a2 1 a1 1 a0 2 P '(0) 3a3t 2a2t a1 a1 P '(1) 3a3 2a2 a1
矩阵形式:
P0 0 P1 1 P 0 ' 0 P 1' 3
0 0 1 1 1 1 0 1 0 2 1 0
1
0 1 0 2
0 1 1 1
1 a3 a2 1 0 a1 0 a0
拟合型
对已经存在的离散点列构造出尽可能光滑 的曲线,用以直观(而忠实)地反映出实 验特性、变化规律和趋势等。
设计型
设计人员对其所设计的曲线并无定量的
概念,而是在设计过程中即兴发挥。
青岛农业大学
6.1.1 曲线的表示
曲线的表示方法
参数表示
非参数表示 显示表示 隐式表示
青岛农业大学
青岛农业大学
6.1.6 三次Hermite样条曲线
例1:给定9个型值点,其中起始点和终止点是同一个点,从而其特 征多边形是一个首尾相接的封闭多边形,具体坐标位置如下: (100,300),(120,200),(220,200),(270,100),(370,100), (420,200),(420,300),(220,280),(100,300) 假定各点处的一阶导数数值如下: (70,-70), (70,-70), (70,-70),(70,-70), (70,70), (70,70), (-70,70),(-70,70), (70,-70) 用Hermite插值方法绘制曲线。 解:p0=(100,300) p1=(120,200) p0’=(70,-70) p1’=(70,-70) For(t=0;t<=1;t=t+0.1)或 For(t=0;t<=1;t=t+0.01)或
• 控制点 用来控制或调整曲线形状的特殊点(不一定在曲线上) • 插值点
在型值点或制点之间插入的一系列点。
青岛农业大学
6.1.2 插值
插值
给定一组有序的数 据点Pi,i=0, 1, …, n,构造一条曲线 顺序通过这些数据 点,称为对这些数 据点进行插值,所 构造的曲线称为插 值曲线。
青岛农业大学
三次参数样条曲线方程可以写成:
P0 P1 t 1] Mh P 0 ' P 1'
P(t ) [t 3 t 2
三次Hermite样 条曲线的方程
青岛农业大学
6.1.6 三次Hermite样条曲线
上式展开
其中:
称为Hermite样条调和函数
因为它们调和了边界约束值,使在整个参数范围内产生曲线的 坐标值。调和函数仅与参数t有关,而与初始条件无关。
则:
a3 0 a 2 1 a1 0 a0 3
P0 2 2 1 1 P0 P1 3 3 2 1 P1 P 0 ' 0 0 1 0 P0 ' P 1' 1 0 0 0 P 1'
青岛农业大学
6.1.1 曲线的表示
直线的参数方程表示为:
x x1 ( x2 x1 )t y y1 ( y 2 y1 )t
,t∈[0,1]
青岛农业大学
6.1.1 曲线的表示
参数表示法的优越性:
1)用参数表示的曲线形状本质与坐标系的选取无关,具有几 何不变性。 2)有更大自由度来控制曲线、曲面的形状。 3)容易实现各种线性变换运算。
青岛农业大学
6.1 基础知识
从表示形式来看,曲线可分成两大类: 可以用标准方程描述的曲线。如圆、 规则曲线—— 椭圆、抛物线、双曲线、渐开线、 摆线等 曲线 无法用标准方程描述的曲线,通常 自由曲线—— 由一系列实测数据点确定。如汽车 的外形曲线、等高线等。
青岛农业大学
6.1 基础知识
从生成算法来看,曲线可分成两大类:
一阶几何连续性(记作 G 1) 指相邻两个曲线段在交点处的一阶导数成比 例,但大小不一定相等。
青岛农业大学
6.1.5 曲线的连续性 –几何连续性
二阶几何连续性(记作 G 2) 指相邻两个曲线段在交点处的一阶和二阶导 数成比例,即曲率一致。
青岛农业大学
样条曲线
在汽车制造厂里,传统上采用样条绘制曲线的形状。 绘图员弯曲样条(如弹性细木条)通过各实测点,其
青岛农业大学
6.1.6 三次Hermite样条曲线
例2:试求两段三次Hermite曲线达C1连续的条件。 解:两段三次Hermite曲线分别为:
Q1(t1)=a3t1 + a2t1+ a1t1+ a0
Q2(t2)=b3 t2 + b2t2+ b1t2+ b0
t1∈[0 1]
t2∈[0 1]
依据C1连续充要条件为:
6.1.1 曲线的表示--以直线为例
已知直线的起点坐标P1(x1,y1)和终点坐标P2 (x2,y2),直线的显式方程表示为:
y 2 y1 y y1 ( x x1 ) x2 x1
直线的隐式方程表示为:
y2 y1 f ( x,y) y y1 ( x x1 ) 0 x2 x1
青岛农业大学
6.1.6 三次Hermite样条曲线
P (0) a3 0 a2 0 a1 0 a0 P (1) a3 1 a2 1 a1 1 a0 P '(0) 3a3t 2 2a2t a1 a1 P '(1) 3a3 2a2 a1
Q1(1)和Q2(0)在P点处重合,且其在P点处的切
矢量方向相同,大小相等
青岛农业大学
6.1.6 三次Hermite样条
即 Q1(1)= Q2(0)、Q1’(1)= Q2’(0)、Q1”(1)= Q2”(0)
有 Q1(1)= a3 + a2 + a1 + a0
Q2(0)= b0 因 Q1’(t1)=3a3t1 + 2a2 t1+ a1 Q2’(t2)=3b3 t2+ 2b2 t2+ b1 则 Q1’(1)=3a3 + 2a2+ a1 Q2’(0)= b1 因 Q1”(t1)=6a3t1 + 2a2 Q2”(t2)=6b3t2 + 2b2 则 Q1”(1)=6a3+ 2a2 Q2”(0)= 2b2
它地方自然过渡,然后沿样条画下曲线,即得到样条
曲线(Spline Curve)。
在计算机图形学中,样条曲线是指由多项式曲线段 (可为规则/自由曲线段)连接而成的曲线,在每段 的边界处满足特定的连续性条件。
青岛农业大学
样条的插值
通常:进行分段插值 n+1个控制点进行分段,建立简单的数学模型; 在线段交点处,设置边界条件进行光滑连接。
6.1.2 插值 –线性插值
线性插值:假设给定函数f(x)在两个不同点x1 和x2的值,用线形函数 y=Φ (x)=ax+b近似代替, 称Φ (x)为f(x)的线性插值函数。
青岛农业大学
6.1.2 插值 –抛物线插值
抛物线插值(二次插值)
已知f(x)在三个互异点x1,x2,x3的函数值为y1,y2,y3, 要求构造函数 y =Φ (x)=ax2+bx+c,使得Φ (x)在xi处与 f(x)在xi处的值相等。