计算机图形学第五章
- 格式:ppt
- 大小:342.50 KB
- 文档页数:58
第五章图形变换重 点:掌握二维几何变换、二维观察变换、三维几何变换以及三维观察变换。
难 点:理解常用的平移、比例、旋转变换,特别是复合变换。
课时安排:授课4学时。
图形变换包括二维几何变换, 二维观察变换,三维几何变换和三维观察变换。
为了能使各种几何变换(平移、旋转、比例等)以相同的矩阵形式表示,从而统一使用矩阵乘法运算来实现变 换的组合,现都采用齐次坐标系来表示各种变换。
有齐次坐标系齐次坐标系:n 维空间中的物体可用 n+1维齐次坐标空间来表示。
例如二维空间直线 ax+by+c=O ,在齐次空间成为 aX+bY+cW=0 ,以X 、Y 和W 为三维变量,构成没有常数项的 三维平面(因此得名齐次空间)。
点P (x 、y )在齐次坐标系中用P (wx,wy,w )表示,其中 W 是不为零的比例系数。
所以从 n 维的通常空间到 n+1维的齐次空间变换是一到多的变换,而其反变换 是多到一的变换。
例如齐次空间点P (X 、Y 、W )对应的笛卡尔坐标是 x=X/W 和y=Y/W 。
将通一地用矩阵乘法来实现变换的组合。
常笛卡尔坐标用齐次坐标表示时, W 的值取1。
采用齐次坐标系可以将平移、比例、旋转这三种基本变换都以相同的矩阵形式来表示,并统齐次坐标系在三维透视变换中有更重要的作用, 示形它使非线形变换也能采用线形变换的矩阵表式。
图形变换平移变换图示如图所示,它使图形移动位置。
新图 p'的每一图元点是原图形 p 中每个图元点在向分别移动Tx 和Ty 产生,所以对应点之间的坐标值满足关系式x'=x+Tx y'=y+Ty可利用矩阵形式表示成:[x' y' ] = : x y ] + : Tx Ty ]简记为:P'= P+T , T= : Tx Ty ]是平移变换矩阵(行向量)二堆几何变换1 1二维观察变換三维几诃变换平移变换 比例变换 陡转变换 对称变换 错切变换 仿肘变换 复合变换平移变换 比例变换 旋转变换 绕空间任意轴離转 对称变换 蜡切变换三维观察变5.1二维几何变换二维几何变换就是在平面上对二维点的坐标进行变换,从而形成新的坐标。
5.3 试用中点Bresenham 算法画直线段的原理推导斜率在[-1,0]之间的直线段绘制过程(要求写清原理、误差函数、递推公式以及最终画图过程)。
解:原理:每次在最大位移方向上走一步,而另一个方向是走步还是不走步取决于误差项的判别。
∵斜率k 在[-1,0]之间∴x 为最大位移方向,每次在x 加1,而y 或减1或减0。
设直线段的方程F(x,y)=y-kx-b ,假设当前点是P(x i ,y i ),则下一点在P u (x i +1,y i )与P d (x i +1,y i -1)中选一。
设M 为P u 和P d 的中点,则M 点的坐标为(x i +1,y i -0.5)。
构造误差判别式:d i =F(x M ,y M )=F(x i +1,y i -0.5)=y i -0.5-k(x i +1)-b若d i ≥0,取P d (x i +1,y i -1);若d i <0,取P u (x i +1,y i );即有x i+1=x i +1,y i+1=y i -1(d i ≥0)或y i (d i <0)。
误差函数的递推:d i ≥0时,取P d (x i +1,y i -1),再判断下一像素取哪个时,应计算d i+1=F(x i +2,y i -1.5)= y i -1.5-k(x i +2)-b=d i -1-k ,增量为-1-k 。
d i <0时,取P u (x i +1,y i ),再判断下一像素取哪个时,应计算(x 0,yd i+1=F(x i+2,y i-0.5)= y i-0.5-k(x i+2)-b=d i-k,增量为-k。
判别式的初值:从(x0,y0)点出发,下一个像素的选取计算d0=F(x0+1,y0-0.5)= y0-0.5-k(x0+1)-b=-0.5-k取的是误差判别式的符号,因此可进行如下变换:D=d*2∆x∆x=x1-x0,根据选取的起点和绘制方向,∆x>0,因此,D与d同号。
5.1 图形几何变换基础5.1.1 规范化齐次坐标齐次坐标就是用n +1维矢量表示n 维矢量,第n +1维称为齐次坐标位,第n +1维为1时为规范化齐次坐标。
有了规范化齐次坐标后,二维变换可形成一个通式。
[x ′ y ′ 1]=[x y 1]∙TT 为3×3矩阵。
5.2 二维图形基本几何变换矩阵(1)五种简单变换平移(Translate )、比例(Scale )、旋转(Rotate )、反射(Reflect )和错切(shear )(2)变换的解析式(3)变换的矩阵表达式要记住变换的矩阵表达式。
平移: 比例:旋转:反射: ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=1010001y x T T T ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=1000000y x S S T ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=1000cos sin 0sin cos ββββT ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=100010001T错切:沿x 的错切: x ′=x +cyy ′=y沿y 的错切:x ′=xy ′=bx +y(4)多边形的变换只对顶点变换。
5.3 二维复合变换复合变换的变换矩阵是简单变换矩阵的乘积相对于点的复合变换例5-1:相对于参考点Q 的旋转变换T1: 平移(-Qx, -Qy ),把Q 平移到原点T2: 绕原点旋转β角T3:平移(Qx, Qy ),把原点平移到Q相对于直线(轴)的复合变换例5-2:相对于直线y=kx+b 的复合变换T1: 平移(0, -b ),使直线过原点T2: 绕原点旋转-β角,使直线与x 轴重合T3:根据x 的反射变换T4: 绕原点旋转β角T5: 平移(0, b )⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=1000101c b T n T T T P T P P 21'⋅⋅=⋅=二维仿射变换由五种简单变换或其复合变换构成的变换即仿射变换(Affine Transformation )。
CTransform 类的用法见实验二中“test”文件夹中的程序5.4 二维图形裁剪5.4.1 图形学中用到的几种坐标系世界坐标系,用户坐标系,观察坐标系,屏幕坐标系,设备坐标系5.4.2 窗口与视区5.4.3 窗视变换5.5 Cohen -Sutherland 直线裁剪算法 算法原理C3,C2,C1,C0 上 下 右 左[][]⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⋅==10011''3,23,12,22,11,21,1a a a a a a y x y x算法实例。
计算机图形学习题参考答案第1章绪论1、第一届ACM SIGGRAPH会议是哪一年在哪里召开的?解:1974年,在Colorado大学召开了第一届SIGGRAPH年会。
2、计算机图形学之父是谁?解:Sutherland3、列举一些计算机图形学的应用领域(至少5个)。
解:计算机辅助设计、图示图形学、计算机艺术、娱乐、教学与培训、可视化、图像处理、图形用户界面等。
4、简要介绍计算机图形学的研究内容。
解:(1)图形的输入。
如何开发和利用图形输入设备及相关软件把图形输入到计算机中,以便进行各种处理。
(2)图形的处理。
包括对图形进行变换(如几何变换、投影变换)和运算(如图形的并、交、差运算)等处理。
(3)图形的生成和输出。
如何将图形的特定表示形式转换成图形输出系统便于接受的表示形式,并将图形在显示器或打印机等输出设备上输出。
5、简要说明计算机图形学与相关学科的关系。
解:与计算机图形学密切相关的学科主要有图像处理、计算几何、计算机视觉和模式识别等。
计算机图形学着重讨论怎样将数据模型变成数字图像。
图像处理着重研究图像的压缩存储和去除噪音等问题。
模式识别重点讨论如何从图像中提取数据和模型。
计算几何着重研究数据模型的建立、存储和管理。
随着技术的发展和应用的深入,这些学科的界限变得模糊起来,各学科相互渗透、融合。
一个较完善的应用系统通常综合利用了各个学科的技术。
6、简要介绍几种计算机图形学的相关开发技术。
解:(1)OpenGL。
OpenGL是一套三维图形处理库,也是该领域事实上的工业标准。
OpenGL独立于硬件、操作系统和窗口系统,能运行于不同操作系统的各种计算机,并能在网络环境下以客户/服务器模式工作,是专业图形处理、科学计算等高端应用领域的标准图形库。
以OpenGL为基础开发的应用程序可以十分方便地在各种平台间移植;OpenGL与C/C++紧密接合,便于实现图形的相关算法,并可保证算法的正确性和可靠性;OpenGL使用简便,效率高。