文档介绍:第5章曲线与曲面的生成与计算
曲线的参数表示
Bezier、B样条曲线的生成
曲面的参数表示
Bezier、B样条曲面的生成
曲线和曲面是计算机图形学中研究的重要内容之一,它们在实际工作中有着广泛的应用。例如:
实验、统计数据如何用曲线表示。
设计、分析、优化的结果如何用曲线、曲面表示。
汽车、飞机等具有曲面外形的产品怎样进行设计,才能使之美观且物理性能最佳。
由于实际问题不断对曲线、曲面有许多新的要求,近二十年来,有关曲线曲面的研究文章、专著层出不穷。在实际工作中,人们常用曲线有Bezier、B样条、非均匀有理B样条(Nurbs)、圆锥曲线、等距线、过度线等;常用的曲面有Bezier曲面、 B样条曲面、Coons曲面等。
曲线与曲面的生成与计算
在本章中,我们将主要介绍曲线曲面的参数表示,Bezier,
B样条曲线以及Bezier、B样条曲面的概念和特征。
在具体讲述上面知识之前,有必要了解一下如下几个概念的区别和联系。
1 曲线绘制:这类问题归结为已知曲线方程,要求画出曲线
2 曲线插值:由实验、观测或计算得到了若干个离散点组成的点列,要求用光滑的曲线把这些离散点连结起来。
3 曲线逼近:在曲线形状设计中,给定了折线轮廓,要求用一曲线逼近这个折线轮廓,这类问题称为曲线逼近。
(注:曲线插值与曲线逼近的区别:逼近不要求曲线通过数据点)
4 曲线拟合:曲线、曲面的设计过程中,用插值或逼近方法是生成的曲线、曲面达到某些设计要求。
曲线与曲面的生成与计算
曲线、曲面可以有显式、隐式和参数表示,但从计算机图形学和计算几何的角度来看,还是使用参数表示较好,因为采用参数方法表示曲线和曲面,可以将其形状从特定坐标系的依附性中解脱出来,很容易借助计算机得以实现。
一个动点的轨迹可以用位置向量P来描述,如下图所示:
X
Y
Z
0
u1
u2
u
曲线的参数表示
曲线的参数表示
注:这里讨论的动点轨迹是在三维空间中所表示的曲线,平面轨迹曲线只是一种特殊情况
向量P与时间t有关:P=P(t),就是说P是时间t的函数。用坐标表示为:
若把参数t 换成一个普通意义的参数u,则曲线的参数形式为:
例如: 是一条空间曲线的参数形式。
注:这是一条以点(0,1,3)为起点,(3,2,5)为终点的线段
曲线的参数表示
参数的含义:
时间,距离,角度,比例等等;
规范参数区间[0,1]:归一化;
矢量表示:
切矢量(导函数):
例:已知直线段的端点坐标: ,则此直线段的参数表达式为:
相应的x,y坐标分量为:
切矢量为:
直线斜率:
曲线的参数表示
Bezier曲线和B样条曲线都是一种自由曲线。自由曲线
是指一条无法用标准代数方程来描述的曲线。在实际中,自
由曲线应用十分广泛,比如轮船身外形放样时的样条曲线,
汽车、飞机及各种产品的外形曲线都可以看成是自由曲线。
计算机产生这种曲线的方法通常有两类:
(1)插值的方法:要求生成的曲线通过每个数据点,即型值点。曲线插值方法有多项式插值、分段多项式插值和样条函数插值等。
(2)拟合的方法:要求生成曲线靠近每个数据点(型值点),但不一定要求通过每个点。拟合的方法一般有最小二乘法、 Bezier方法和B样条方法等。
下面主要介绍工程上流行应用的Bezier曲线和B样条曲线。
Bezier、B样条曲线的生成
Bezier、B样条曲线的生成
,这种方法的特点是:控制点的输入与曲线输出之间的关系明确,使设计人员比较直观地估计给定条件与设计出的曲线之间的关系。当设计人员(用户)使用交互手段改变输入控制点,就能很方便地在屏幕上改变拟合曲线的形状与代表它的多项式的次数以迎合设计要求。
Bezier曲线是指用光滑参数曲线段逼近一折线多边形,它不要求给出导数,只要给出数据点就可以构造曲线,而且曲线次数严格依赖确定该段曲线的数据点个数。
贝塞尔(Bezier)曲线
Bezier、B样条曲线的生成
曲线的形状依赖于该多边形的形状,即由一组多边折线(该多边折线称为特征多边形)的顶点唯一地定义出来,且只有该多边形第一个顶点和最后一个顶点在曲线上。 Bezier曲线及其特征多边形如下图
三次Bezier曲线和特征多边形
注:上图是由四个控制点形成的三次Bezier曲线,曲线的形状依附于该特征多边形的形状。且特征多边形的第一条边线和最后一条边线分别表示曲线在第一个顶点和最后一个顶点的切线方向
Bezier、B样条曲线的生成
Bezier