计算机图形学 - 第三章讲义
- 格式:ppt
- 大小:992.00 KB
- 文档页数:80
第三讲 曲线曲面基本理论1概述(a) 飞机 (b) 船舶 (c) 汽车图 1-1 曲线曲面造型应用曲线曲面造型(Surface Modeling)是计算机辅助几何设计(Computer Aided Geometric Design, CAGD)和计算机图形学的一项重要内容,主要研究在计算机系统中如何用曲线曲面表示、设计、显示和分析物体模型。
它在航空航天、船舶、飞机、汽车等行业得到广泛应用(如图1-1所示)。
由Coons 、Bezier 等大师于二十世纪六十年代奠定其理论基础,经过三十多年的发展,曲线曲面造型现在已形成了以有理B 样条曲线曲面(Rational B-spline Surface)参数化特征设计和隐式代数曲线曲面(Implicit Algebraic Surface)表示为主体的两类方法,且以插值(Interpolation)、逼近(Approximation)手段为几何理论体系。
1.1曲线曲面表示曲线曲面可以用三种形式进行表示,即显式、隐式和参数表示,三种形式表示如下。
显式表示:形如),(y x f z =的表达式。
对于一个平面曲线而言,显式表达式可写为)(x f y =。
在平面曲线方程中,一个x 值与一个y 值对应,所以显式方程不能表示封闭或多值曲线,例如,不能用显式方程表示一个圆。
隐式表示:形如0),,(=z y x f 的表达式。
如一个平面曲线方程,隐式表达式可写为0),(=y x f 。
隐式表示的优点是易于判断函数),(y x f 是否大于、小于或等于零,也就易于判断点是落在所表示曲线上或在曲线的哪一侧。
参数表示:形如)(t f x =,)(t f y =,)(t f z =的表达式,其中t 为参数。
即曲线上任一点的坐标均表示成给定参数的函数。
如平面曲线上任一点P 可表示为)](),([)(t y t x t P =,如图1-2(a)所示;空间曲线上任一三维点P 可表示为)](),(),([)(t z t y t x t P =,如图1-2(b)所示。
3.1 直线的扫描转换--中点画线算法直线扫描转换的速度要求尽量使用整数加减法,避免乘、除、开方、三角等复杂运算,避免取整运算。
y=kx+b(浮点乘、浮点加、取整)中点画线算法的前提起点:P0(x0,y0),终点:P1(x1,y1) 都是整数0≤k≤1,则|△x|≥|△y|,x0<x1,y0<y1增量算法x i+1=x i+1(整数)y i+1=y i+k(浮点加,取整)中点误差项y i+1= y i +1 ----中点在直线下,d i<0 y i+1= y i----中点在直线上, d i≥0 d i+1=d i+1-k , d i<0d i+1=d i-k , d i≥0d i+1中仍有浮点加令f i=2d i△xb xkyyxFdiiiii-+-+=++=)1(5.0)5.0,1(kd-=5.0整数中点误差项x i+1=x i +1y i+1= y i +1 ----中点在直线下,f i <0 y i+1= y i ----中点在直线上, f i ≥0算法算法与公式对照。
⏹ x=x0;y=y0;⏹ dx=x1-x0;dy=y1-y0; ⏹ f=dx -2*dy;//式(3-7) ⏹ for (i=1; i<=dx+1; i++)⏹ {setpixel(x,y,color); //画点,统一各变量值的位置 ⏹ x=x+1; ⏹ if (f<0)⏹ {y=y+1; //式(3-3) ⏹ f=f+2*dx;}//式(3-8) ⏹ f=f -2*dy; ⏹ }实例起点(2,1),终点(10,7),按算法给出每一点各项变量值。
y x f ∆-∆=20002221≥<⎩⎨⎧∆-∆-∆+=+i i i ii f f yf y x f fi xi yi Fi+1习题起点(3,2),终点(9,7),给出每点的i、x、y、f值。
3.2圆的扫描转换根据方程画圆假设圆心在原点,半径为R:(1)y=±√R2−x2(2) x =R ∙cosθ y =R ∙sinθ θ∈[0,2π]圆的对称性只计算第一象限上半区间的点,通过对称性画出其余的点。