文档介绍:第7章曲线与曲面
曲线和曲面是计算机图形学中重要的研究内容之一,在实际工作中有广泛的应用。实验、统计数据的表示,设计、分析和优化的结果显示,以及汽车、飞机的外型设计都需要用到曲线和曲面的知识。本章主要介绍曲线和曲面的基础知识、常用曲线、曲面的数学基础、性质和分析,并且通过实验对所涉及到的算法进行程序设计。
基础知识
所谓自由曲线和曲面,指的是形状比较复杂、不能用二次方程表示的曲线和曲面。在自
由曲线和曲面设计中,必须首先研究它的数学表示形式,并通过计算机图形学的技术将数学表示(模型)在计算机屏幕上以图形的形式显示出来。
曲线的数学表示
曲线的数学表示形式有显式、隐式和参数三种表示形式。
(1)显式表示:对于一条平面曲线,显式表示的一般形式是:y=f(x),即一个x对应一个y值。例如,一条直线方程y=mx+b。显然,显式表示只能表示直线方程,而不能表示封闭或多值曲线,如圆、椭圆等。
(2)隐式表示:隐式表示的一般形式是:f(x,y)=0。例如,圆锥曲线的一般方程为:ax2+2bxy+cy2+2dx+2ey+f=0,通过定义不同的方程系数,可得到不同的圆锥曲线,典型的圆锥曲线是抛物线、双曲线和椭圆。
显式表示和隐式表示两种方式属于非参数方程,在进行图形显示过程中会出现如下问题:①与坐标轴相关;②会出现斜率为无穷大的情况(如垂直线);③对于非平面曲线、曲面难以用常系数的非参数化函数表示;④不便于计算和编程序。因此,在计算机图形显示中曲线和曲面经常用参
数方程来表示。
(3)参数表示:在平面曲线的参数表示中,曲线上每一点的坐标均要表示成一个参数形式,参数表示的一般形式为:
x=x(t)
y=y(t)
曲线上点矢量表示为:
P(t)=[ x(t), y(t)]
参数曲线的切矢量(或导函数)是:
P’(t)=[ x’(t), y’(t)]
通常经过对参数变量的规格化,使t在[0,1]闭区间内变化,对此区间内的参数曲线进行研究。利用参数表示曲线具有很多
优越性,对曲线的形状也更容易控制,因此自由曲线一般都是由参数方程来表示。
例如,通过两点p1(x1,y1)和p2(x2,y2)的直线段参数方程表示为:
p(t)=p1+(p2-p1)t,其中t∈[0,1],p(t)=[x(t),y(t)], p1=[x1,y1], p2=[x2,y2]
即 x(t)=x1+(x2-x1)t
y(t)=y1+(y2-y1)t
插值、逼近、拟合和光顺
在研究和应用曲线和曲面时,经常要用到值、逼近、拟合和光顺技术,下面具体解释一下这四个概念的含义及其所采用的技
术。
插值是函数逼近的重要方法。设给定函数f(x)在区间[a,b]中互异的n个点(称为型值点)的值(xi),i=1,2,…,n,基于这个列表数据,寻找某一函数(x)去逼近(x)。如果要求(x)在xi处与(xi)相等,就称这样的函数逼近问题称为插值问题,称(x)为(x)的插值函数。也就是说,(x)在n个插值点xi与(xi)相等,而在别处就用去(x)近似代
替(x)。求给定型值点之间曲线上的点称为曲线的插值。
在曲线和曲面中最常用的是线性插值和抛物线插值。
(1)线性插值
假设给定函数(x)在两个不同点x1和x2的值,y1=(x1),y2=(x2)。线型插值是用过这两个点的直线段y=(x)=ax+b来近似代替函数y=(x)。。
y=f(x)
y=(x)
y
x
x1
x2
y1
y2
线性插值
(x2-x1)
(x)= y1+ (x-x1) (点斜式)
例如,已知f(x)=x ,x1=,y1=,
x2=,y2=,求 。
用过两点的直线段来代替函数(x) 。线性插值函数
(-)
(-)
(x)= + (x-)
(-)
(-)
()= + (-) =
(2)抛物线插值
设已知函数(x)上三个互异点x1, x2,x3的函数值,分别为y1, y2,y3,要求构造一个抛物线函数:(x)=ax2+bx+c,使(x)在三个型值点上满足条件:(xi)= (xi),i=1,2,3。通过联立方程组,求出a,b,c,即可以得到抛物线函数(x)的插值函数。。
y=f(x)
y=(x)
y
x
x1
x3
y1
y2
抛物线插值
y3
x2