计算机图形学5
广工数媒计算机图形学之5基本图形生成算法-多边形扫描转换及区域填充

计算机图形学基础:基本图形生成算法——多边形扫描转换及区域填充 多边形扫描转换——x-扫描线算法 x-扫描线算法填充多边形基本思路:
扫描线与x轴平行。按照扫描顺序,计算每一条扫描线与多边 形的相交区间,用指定颜色显示区间内的像素。区间的端点 可以通过计算扫描线与多边形边界线的交点获得。 x-扫描线算法可以填充凸、凹多边形,也可填充中间有空的 多边形。
广东工业大学机电学院图学与数字媒体工程系
计算机图形学基础:基本图形生成算法——多边形扫描转换及区域填充
多边形扫描转换——x-扫描线算法
x-扫描线算法涉及的问题: 一、扫描线与多边形边界交点的 有效性判别; 扫描线y=5与AB边有无效交点k, 在做求交运算之前,判断该扫 描线的y坐标不在点A和点B的y 坐标之间,不做求交运算。
广东工业大学机电学院图学与数字媒体工程系
计算机图形学基础:基本图形生成算法——多边形扫描转换及区域填充
区域填充——边界填充算法
栈结构实现4-连通边界填充算法步骤: (1)种子像素入栈; (2)栈顶象素出栈; (3)将出栈象素置成填充色; (4)检查出栈象素的4-邻接点,若其中某个象素点不是边 界色且未置成多边形色,则把该象素入栈。 (5)检查栈是否为空,若非空,则执行步骤(2),若为 空,则结束。 4-连通边界填充.SWF
广东工业大学机电学院图学与数字媒体工程系
计算机图形学基础:基本图形生成算法——多边形扫描转换及区域填充 填充算法——边缘填充算法
“边缘填充算法的过程.SWF”演示了边缘填充算法的实现过 程。 该算法的优点是简单,缺点是对于复杂图形,每一像素可 能要访问多次,效率降低。
广东工业大学机电学院图学与数字媒体工程系
计算机图形学第五章图形变换

第五章图形变换重 点:掌握二维几何变换、二维观察变换、三维几何变换以及三维观察变换。
难 点:理解常用的平移、比例、旋转变换,特别是复合变换。
课时安排:授课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二维几何变换二维几何变换就是在平面上对二维点的坐标进行变换,从而形成新的坐标。
计算机图形学chapter5

图5.8 引力场
19
6. 标尺和导向线 • 为了能用比较准确的尺寸来绘图, 可以在屏幕上
使用标尺。用户可用适当的命令在屏幕上显示 标尺, 如图5.9, 利用标尺来决定长度或位置。 • 图5.10说明导向线的用法。图中希望两个矩形的 左端能对齐, 用户命令系统显示一导向线,达到目 的后用命令去掉导向线。 7. 坐标显示 为了能把点定位定得准确, 可以在坐标附近显示 出点的坐标值, 如图5.11。
4
5.2 基本交互任务
1. 定位 – 此任务是确定平面上或空间的一个点: (x,y) 或(x,y,z)。一个直接的办法便是从键盘上输 入二个或三个代表坐标的数。 – 在选定一个子图、菜单等操作时, 常常并不 需要很精确的定位。这时, 我们可用在上一 节中说明的各种定位设备和屏幕上的光标 来实现。
5
11
β α
图5.3 控制对象旋转的角α及β
12
5.3 高级的交互技术
1.几何约束 – 第一种几何约束是对定位的约束。在屏幕上定 义一个不可见的网格, 有时也可用点的形式显 示网格结点的位置。对用任何方式输入一个点 都用离它最近的一个网格结点来代替。 – 第二种几何约束为方向约束。例如, 要绘制的 线只能是垂直或水平两个方向, 当给定的起点 和终点连线和水平线的交角小于45。时,便绘出 一条水平线, 否则就绘垂直线。如图5.4所示。
橡皮筋也可以做成矩形, 如图5.7所示, 这时用一个 矩形代替直线。
15
光
标
拖
选
动
图
图
元
元
图5.5 拖动
到目 的地 按一 下按 钮开 关
16
.
+
+
+ +
图5.6 橡皮筋技术
计算机图形学第五次实验报告

《计算机图形学》实验报告实验十一真实感图形一、实验教学目标与基本要求初步实现真实感图形, 并实践图形的造型与变换等。
二、理论基础运用几何造型, 几何、投影及透视变换、真实感图形效果(消隐、纹理、光照等)有关知识实现。
1.用给定地形高程数据绘制出地形图;2.绘制一(套)房间,参数自定。
三. 算法设计与分析真实感图形绘制过程中, 由于投影变换失去了深度信息, 往往导致图形的二义性。
要消除这类二义性, 就必须在绘制时消除被遮挡的不可见的线或面, 习惯上称之为消除隐藏线和隐藏面, 或简称为消隐, 经过消隐得到的投影图称为物体的真实图形。
消隐处理是计算机绘图中一个引人注目的问题, 目前已提出多种算法, 基本上可以分为两大类:即物体空间方法和图象空间方法。
物体空间方法是通过比较物体和物体的相对关系来决定可见与不可见的;而图象空间方法则是根据在图象象素点上各投影点之间的关系来确定可见与否的。
用这两类方法就可以消除凸型模型、凹形模型和多个模型同时存在时的隐藏面。
1).消隐算法的实现1.物体空间的消隐算法物体空间法是在三维坐标系中, 通过分析物体模型间的几何关系, 如物体的几何位置、与观察点的相对位置等, 来进行隐藏面判断的消隐算法。
世界坐标系是描述物体的原始坐标系, 物体的世界坐标描述了物体的基本形状。
为了更好地观察和描述物体, 经常需要对其世界坐标进行平移和旋转, 而得到物体的观察坐标。
物体的观察坐标能得到描述物体的更好视角, 所以物体空间法通常都是在观察坐标系中进行的。
观察坐标系的原点一般即是观察点。
物体空间法消隐包括两个基本步骤, 即三维坐标变换和选取适当的隐藏面判断算法。
选择合适的观察坐标系不但可以更好地描述物体, 而且可以大大简化和降低消隐算法的运算。
因此, 利用物体空间法进行消隐的第一步往往是将物体所处的坐标系转换为适当的观察坐标系。
这需要对物体进行三维旋转和平移变换。
常用的物体空间消隐算法包括平面公式法、径向预排序法、径向排序法、隔离平面法、深度排序法、光线投射法和区域子分法。
计算机图形学 5.1二维变换

a11b13 a12b23 a13b33 a 21b13 a 22b23 a 23b33 (5-1) a n1b13 a n 2 b23 a n3b33
由线性代数知道,矩阵乘法不满足交换律,只有左矩 阵的列数等于右矩阵的行数时,两个矩阵才可以相乘。 特别地,对于二维变换的两个3×3的方阵A和B,矩阵 相乘公式为:
5.1.1 规范化齐次坐标
为了使图形几何变换表达为图形顶点集合矩阵与 某一变换矩阵相乘的问题,引入了规范化齐次坐标。 所谓齐次坐标就是用n+1维矢量表示n维矢量。 例如,在二维平面中,点P(x,y)的齐次坐标表示为 (wx,wy,w)。类似地,在三维空间中,点P(x,y,z) 的齐次坐标表示为(wx,wy,wz,w)。这里,w为任一 不为0的比例系数,如果w=1就是规范化的齐次坐标。 二维点P(x,y)的规范化齐次坐标为〔x,y,1〕,三维 点P(x,y,z)的规范化齐次坐标为〔x,y,z,1〕。不 能写成下标形式,w和x,w和y,w和z是乘法的关系。 定义了规范化齐次坐标以后,图形几何变换可以 表示为图形顶点集合的规范化齐次坐标矩阵与某一变换 矩阵相乘的形式。
x1 x P 2 xn y1 y2 yn 1 1 1
变换后图形顶点集合的规范化齐次坐标矩阵为:
x'1 x' ' P 2 x' n y '1 y' 2 y'n 1 1 1
a b 二维变换矩阵为: T c d l m
a11b11 a12b21 a13b31 a11b12 a12b22 a13b32 a b a b a b a 21b12 a 22b22 a 23b32 21 11 22 21 23 31 a n1b11 a n 2 b21 a n3b31 a n1b12 a n 2 b22 a n3b32
计算机图形学课后习题答案

计算机图形学课后习题答案计算机图形学课后习题答案计算机图形学是一门研究计算机生成和处理图像的学科,它在现代科技和娱乐领域扮演着重要的角色。
在学习这门课程时,我们通常会遇到一些习题,用以巩固所学知识。
本文将提供一些计算机图形学课后习题的答案,希望能对大家的学习有所帮助。
1. 什么是光栅化?如何实现光栅化?光栅化是将连续的几何图形转换为离散的像素表示的过程。
它是计算机图形学中最基本的操作之一。
实现光栅化的方法有多种,其中最常见的是扫描线算法。
该算法通过扫描图形的每一条扫描线,确定每个像素的颜色值,从而实现光栅化。
2. 什么是反走样?为什么需要反走样?反走样是一种减少图像锯齿状边缘的技术。
在计算机图形学中,由于像素是离散的,当几何图形的边缘与像素格子不完全对齐时,会产生锯齿状边缘。
反走样技术通过在边缘周围使用不同颜色的像素来模拟平滑边缘,从而减少锯齿状边缘的出现。
3. 什么是光照模型?请简要介绍一下常见的光照模型。
光照模型是用来模拟光照对物体表面的影响的数学模型。
常见的光照模型有以下几种:- 环境光照模型:模拟环境中的整体光照效果,通常用来表示物体表面的基本颜色。
- 漫反射光照模型:模拟光线在物体表面上的扩散效果,根据物体表面法线和光线方向计算光照强度。
- 镜面反射光照模型:模拟光线在物体表面上的镜面反射效果,根据光线方向、物体表面法线和观察者方向计算光照强度。
- 高光反射光照模型:模拟光线在物体表面上的高光反射效果,通常用来表示物体表面的亮点。
4. 什么是纹理映射?如何实现纹理映射?纹理映射是将二维图像(纹理)映射到三维物体表面的过程。
它可以为物体表面增加细节和真实感。
实现纹理映射的方法有多种,其中最常见的是将纹理坐标与物体表面的顶点坐标关联起来,然后通过插值等技术将纹理映射到物体表面的每个像素上。
5. 什么是投影变换?请简要介绍一下常见的投影变换方法。
投影变换是将三维物体投影到二维平面上的过程。
常见的投影变换方法有以下几种:- 正交投影:将物体投影到一个平行于观察平面的平面上,保持物体在不同深度上的大小不变。
计算机图形学第三版答案

计算机图形学第三版答案【篇一:《计算机图形学》第1-5章课后习题参考答案】计算机图形学研究的基本内容?答:见课本p5-6页的1.1.4节。
2、计算机图形学、图形处理与模式识别本质区别是什么?请各举一例说明。
答:计算机图形学是研究根据给定的描述,用计算机生成相应的图形、图像,且所生成的图形、图像可以显示屏幕上、硬拷贝输出或作为数据集存在计算机中的学科。
计算机图形学研究的是从数据描述到图形生成的过程。
例如计算机动画制作。
图形处理是利用计算机对原来存在物体的映像进行分析处理,然后再现图像。
例如工业中的射线探伤。
模式识别是指计算机对图形信息进行识别和分析描述,是从图形(图像)到描述的表达过程。
例如邮件分捡设备扫描信件上手写的邮政编码,并将编码用图像复原成数字。
3、计算机图形学与cad、cam技术关系如何?答:见课本p4-5页的1.1.3节。
4、举3个例子说明计算机图形学的应用。
答:①事务管理中的交互绘图应用图形学最多的领域之一是绘制事务管理中的各种图形。
通过从简明的形式呈现出数据的模型和趋势以增加对复杂现象的理解,并促使决策的制定。
②地理信息系统地理信息系统是建立在地理图形基础上的信息管理系统。
利用计算机图形生成技术可以绘制地理的、地质的以及其它自然现象的高精度勘探、测量图形。
③计算机动画用图形学的方法产生动画片,其形象逼真、生动,轻而易举地解决了人工绘图时难以解决的问题,大大提高了工作效率。
5、计算机绘图有哪些特点?答:见课本p8页的1.3.1节。
6、计算机生成图形的方法有哪些?答:计算机生成图形的方法有两种:矢量法和描点法。
①矢量法:在显示屏上先给定一系列坐标点,然后控制电子束在屏幕上按一定的顺序扫描,逐个“点亮”临近两点间的短矢量,从而得到一条近似的曲线。
尽管显示器产生的只是一些短直线的线段,但当直线段很短时,连成的曲线看起来还是光滑的。
②描点法:把显示屏幕分成有限个可发亮的离散点,每个离散点叫做一个像素,屏幕上由像素点组成的阵列称为光栅,曲线的绘制过程就是将该曲线在光栅上经过的那些像素点串接起来,使它们发亮,所显示的每一曲线都是由一定大小的像素点组成的。
计算机图形学 第5章 图形用户界面和交互输入方法

东华理工学院
17
光笔也用来输入坐标位置,但必须在实现时进行 某些特殊的处理。由于光笔通过检测屏幕荧光体发射 的光来进行操作,因此在所选的坐标位置上必须有非 零强度级的信号出现。在光栅系统中,可以在屏幕上 绘出彩色背景。只要没有出现黑色区域,光笔可以用 于选择任意的屏幕位置。在无法排除显示中的黑色区 域时(例如向量系统),可以通过创建一个小的发光 图案以供光笔检测,从而将光笔作为定位设备使用。 该图案将在屏幕上移动直到发现了光笔。
东华理工学院
6
另一方面,有经验的用户强调操作速度。他们不需要多 余的提示和来自键盘或多种“鼠标-按键”的输入。由于有 经验的用户记住了常用动作的缩写,因此经常通过功能键 或同时按下组合键来选择这些动作。
同样,也可以分成几个层次来设计帮助功能,使初学 者进行较为详细的对话,有经验的用户则减少或去掉提示 和消息。帮助功能还可以包含一个或多个辅导性应用,来 介绍该软件的功能和使用方法。
第五章 图形用户界面和 交互输入方法
主要内容: 5.1 用户对话 5.2 图形数据的输入 5.3 输入功能 5.5 交互式构图技术
东华理工学院
1
5.1 用户对话
对于某种特定的应用,用户模型是设计对话的基础。
用户模型说明所设计的系统能做什么,应具备什么样的图
形操作。这种模型指明了可以显示的对象类型以及如何管
东华理工学院
9
5.1.5 回退和出错处理
在一系列操作过程中,回退和取消机制是用户界面的另 一个共同的特点。常常在操作完成之前取消该操作,然 而系统将保存操作之前的状态。有了在任一位置回退的 功能,就可以放心地使用系统的各种功能。
可以有多种形式来控制回退操作。一个标准的undo键或 命令可以用来取消一次单个的操作。有的系统可以回退 若干步操作,因此可以把系统回退到某些特定的位置。 在具有多步回退功能的系统中,所有输入均被保存,因 而可以回退并“重复操作”任意一部分。
计算机图形学 第5章 裁剪

3.直线裁剪实例 例5.1 用编码算法裁剪如图5-3(a)所示中的直线段 AB。
图5-3 AB线段的裁剪过程
例5.2 用编码算法裁剪如图5-4(a)所示中的直线段MN。
图5-4 MN线段的裁剪过程
5.1.2 中点分割算法 算法步骤:输入线段端点p1,p2;对于端点p2: (1) p2是否可见,若可见,则它为离p1最远的可见点, 处理结束。 (2) plp2是否全不可见,若是,没有输出,处理结束。 (3) 让pa = p1,pb = p2。
边 V1V2 V2V3 V3V4 V4V5 V5V1 n (1,1) (4,-3) (-1,-2) (-4,3) (0,1) f (2,0) (3,6) (3,6) (4,0) (2,0) w [-4,1] [-5,-5] [-5,-5] [-6,1] [-4,1] w· n -3 -5 15 27 1 D· n 11 30 -13 -30 2 -1/2 tL 3/11 1/6 15/13 9/10 tu
外裁剪有两个重要的应用。
(1) 应用于凹多边形裁剪窗口的线段裁剪。如图5-9 所示线段p1p2相对于凹多边形vlv2v3v4v5v1进行裁剪。 连接v2v4,v1v2v4v5v1为凸多边形,应用Cyrus-Beck算 法,先将p1p2对此凸多边形作内裁剪得到,再将对多 边形v2v3v4v2作外裁剪,最后得到窗口内部分为和。
(4) 沿vi+1p1将多边形一分为二,一个多边形由vi+1, vi+2,…, p1vi+1组成,另一个多边形由vip1及其余顶点组 成。 (5) 对分割的两个多边形递归地重复以上步骤,直到 所有新产生的多边形均为凸,算法结束。
5.1.7 Sutherland-Hodgman逐次多边形裁剪算法 多边形由顶点表p1, p2,…, pn所定义,于是边表为p1p2, p2p3,…, pn-1pn和pn p1。算法的基本思想是将原多边形和 每次裁剪所生成的多边形逐次对裁剪窗口的每一条边 界进行裁剪。考虑图5-12(a)原多边形被窗口左边界所 裁剪,如图5-12(b)所示;生成的多边形又被窗口顶边 所裁剪,如图5-12(c)所示;继续这一过程,生成的中 间多边形被窗口的右边界,如图5-12(d)所示,直至下 边界裁剪完,如图5-12(e)所示为止。
计算机图形学第五章 PPT

下面我们仅介绍如何在线段P1P2上求离P1最 远的可见点 (求P2最远的可见点同p1) ,其 具体步骤如下:
① 测试P2是否在窗口内,若是,则P2就是 离P1最远的可见点,结束。否则,进行下一
(如图中的EF就是这种情况,它 使QL=0,DL>0和QR=0,DR>0。这 时由于EF和x=xL及x=xR平行,故不 必去求出EF和x=xL及x=xR的交点, 而让EF和y=yT及y=yB的交点决定直 线段上的可见部分。)
E A
B F
思考:前面几种裁剪直线段 算法的裁剪窗口都是矩形区 域,如何推广裁剪区域呢?
中点分割裁剪算法
基本思想: 与前一种Cohen-Sutherland算
法一样首先对线段端点进行编码,并把 线段与窗口的关系分为三种情况: 全部可见、完全不可见和线段部分可见。 对前两种情况,进行一样的处理。对于 第三种情况,用中点分割的方法求出线 段与窗口的交点。
问:算法为什么可行?会不会 无限循环、不断二分?
N·(P(t)-A)>0
参数化算法(Cyrus-Beck)
k条边的多边形,可见线段参数区间的解: Ni·(p(t)-Ai)>=0, i=0,…,k, 0≤t ≤1. 即:Ni·(P1-Ai)+ Ni·(P2-P1) t>=0 可得:
NN i •i•P2P2PN1Pi1•0P2 0 tP1t0N N N N ii ••ii••NPP12iPP12AP1iPAP21iP1
yT为终边。 yT为始边。
Liang-Barsky算法:交点计算
求出P0P1与两条始边的交点参 数t0, t1 , 令 tl=max(t0 ,t1,0),则tL即为 三者中离p1最近的点的参数
计算机图形学课件——fifth1PPT

其中变换矩阵: 1 0 0
T
0
1
0
0 0 1
11.06.2020
21
对称Y轴变换的几何表示见下图
11.06.2020
22
3. 对称于原点 当图形对X轴和Y轴都进行对称变换时,即得相
对于坐标原点的对称变换。这一变换前后点坐标之 间的关系为:
x' x
y'
y
写成齐次坐标矩阵形式为:
1 0 0
11.06.2020
31
5.1.6 错切变换 错切(shear)变换是轴上点不动,其它点沿平行于
此轴方向移动变形的变换。错切变换也称为剪切、错位 或错移变换。常用的错切变换有两种:改变x坐标值和 改变y坐标值。
可以分解为平移、旋转、对称于坐标轴等变换的组合。 首先平移直线经过坐标原点,而后将直线绕坐标原点 旋转至同某一坐标轴重合,做对称于坐标轴的变换, 最后反向旋转和反向平移将直线置回原处。
如下图所示,平移直线经过坐标原点需要在Y轴方 向上移动距离b,然后将直线绕坐标原点旋转至同Y轴
重合,设旋转角度为 ,两步的变换矩阵分别为:
11.06.2020
28
1 0 0
T1
0
1
0
0 b 1
cos sin 0
T2 sin cos 0
0
0 1
1 0 0
做对称于Y轴的对称变换,其变换矩阵为:T3
0
1
0
0 0 1
最后反向旋转和反向平移将直线置回原处,其变换矩阵分别
为:
cos)( sin )( 0 co ssin0
1 0 0
T4sin )( cos)(0sin co s0
T5
计算机图形学基础教程(Visual C++版)第05章 二维图形变换与裁剪(清华大学出版社 孔令德)

y
5-19 设备坐标系
图形学中常用的坐标系
规格化设备坐标系(Normalized Device Coordinate,NDC) 将设备坐标系规格化到(0.0,0.0)到(1.0,1.0)的 范围内而定义的坐标系。 规格化设备坐标系独立于具体输出设备。 一旦图形变换到规格化设备坐标系中,只要作一个简 单的乘法运算即可映射到具体的设备坐标系中。
wyt (xw,yw) 0000 wyb
vyt (xv,yv) 0000 vyb
wxl
wxr
vxl
已知窗口内的一点P的坐标(xw,yw),求视区中 对应点P’的坐标(xv,yv) 这属于相对于任一参考点的二维几何变换
vxr
变换步骤为:
1.将窗口左下角点(wxl,wyb)平移到观察坐标系 原点
写成方程为:
xv S x xw vxl wxl S x yv S y yw vyb wyb S y
则窗视变换的展开式为:
令
xv a x w b yv c y w d
裁剪
图形变换到观察坐标系下,需要按照窗口进行 裁剪,即只保留窗口内的那部分图形,去掉窗 口外的图形 假设窗口是标准矩形,即边与坐标轴平行的矩 形,由 上(y=wyt)、 下(y=wyb)、 左(x=wxl)、 右(x=wxr) 四条边描述
30
裁剪——点的裁剪
点是构成图形的基本元素 点的裁剪:
wxl x wxr, 且wyb y wyt
把图形全部打散成点进行裁剪?
31
二维直线段的裁剪
直线的裁剪是二维图形裁剪的基础 裁剪的实质是判断直线是否与窗口相交,如相 交则进一步确定位于窗口内的部分
计算机图形学实用教程第5章 图形变换与裁剪1

(x w , y w)
yb
yv
Ow Yu
W xl 视图区
W xr
Xw
令பைடு நூலகம்
V yt
(x v , y v)
V yb
有
xv axw c
yv byw d
Ou
V xl
V xr
Xu
窗口与视图区的对应关系
本章内容
5.基本几何变换的齐次坐标表示
平移变换
1 y 1 0 Tx 0 1 Ty 0 0 1
x
比例变换
y 1 x
x
旋转变换
逆时针为正
y 1 x
S x y 1 0 0
0 Sy 0
0 0 1
x
y 1 x
cos sin 0 y 1 sin cos 0 0 1 0
当 S x S y时,变换前的图形与变换后的图形相似 当 S x S y 1时,图形将放大,并远离坐标原点 当 0 S x S y 1 时,图形将缩小,并靠近坐标原点 当 S x S y时,图形将发生畸变
3.旋转变换(rotation) 点P绕原点逆时针转θ度角 (设逆时针旋转方向为正方向)
指相对于原点的比例变换
S x 平行于x轴的方向上的缩放量 S y 平行于y轴的方向上的缩放量
x
y
几何关系
x' x S x y' y S y
y
相对于原点的比例变换
重心
矩阵形式
x
y x
S x y 0
0 Sy
5计算机图形学

规则形体(下):空间分割表示实体模型的三类表示◆边界表示(Boundary Representation,B-reps),即用一组曲面(含平面)来描述物体,这些曲面将物体分为内部和外部。
边界表示具体又包括多边形表面模型和扫描表示两种。
◆构造实体几何表示(Constructive Solid Geometry,CSG),它将实体表示成立方体、长方体、圆柱体、圆锥体等基本体素的组合,可以采用并、交、差等运算构造新的形体。
◆空间分割表示(Space-Partitioning),用来描述物体的内部性质,将包含一物体的空间区域划分成一组小的、非重叠的、连续实体(通常是立方体)。
提纲空间位置枚举表示12八叉树3BSP树空间位置枚举表示1将包含实体的空间分割为大小相同、形状规则(正方形或立方体)的体素,然后,以体素的集合来表示图形对象。
用三维数组P[I][J][K]表示物体,数组中的元素与单位小立方体一一对应当P[I][J][K] = 1时,表示对应的小立方体被物体占据当P[I][J][K] = 0时,表示对应的小立方体没有被物体占据八叉树2八叉树(octrees )又称为分层树结构,它对空间进行自适应划分,采用具有层次结构的八叉树来表示实体。
0132456xyz八叉树2四叉树B:Boundary(边界) E:Empty(空) F:Full(满)八叉树2八叉树(octrees )又称为分层树结构,它对空间进行自适应划分,采用具有层次结构的八叉树来表示实体。
013245601234567八叉树2基于八叉树的集合运算:E E E E E FF F 01324560 1 2 3 4 5 6 7形体A0132456F E E E E FF E 0 1 2 3 4 5 6 7形体B八叉树2基于八叉树的集合运算:E E E E E FF F 013201324545660 1 2 3 4 5 6 7F E E E E FF E 0 1 2 3 4 5 6 7FEEEE FFF 0 1 2 3 4 5 6 70132456并运算形体A形体B八叉树2基于八叉树的集合运算:E E E E E FF F 013201324545660 1 2 3 4 5 6 7F E E E E FF E 0 1 2 3 4 5 6 7EEEEE FFE 0 1 2 3 4 5 6 70132456交运算形体A形体B八叉树2基于八叉树的集合运算:E E E E E FF F 013201324545660 1 2 3 4 5 6 7F E E E E FF E 0 1 2 3 4 5 6 7EEEEE EEF 0 1 2 3 4 5 6 70132456差运算A-B形体A形体B八叉树2八叉树实例八叉树2八叉树实例八叉树2松散八叉树思想:松散八叉树的基本思想和普通八叉树一样,但是每个长方体的大小选中比较宽松。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5.1曲线和曲面的表示
显式表示:y=f(x) 隐式表示:f(x,y)=0 参数表示:P(t)=[x(t), y(t), z(t)] 显式或隐式表示存在下述问题: 1)与坐标轴相关; 2)会出现斜率为无穷大的情形(如垂线); 3) 不便于计算机编程。
参数表示:曲线上任一点的坐标均表示成给 定参数的函数。假定用t表示参数,平面 曲线上任一点P可表示为:
C (u u ) C (u ) x(u u ) x(u) y(u u) y(u) z (u u ) z (u) , , u u u u
所以 C (u ) [ x(u ), y(u ), z(u )] 矢函数的导矢也是一个矢函数,因此也有方向 和模。矢量 [C (u u) C (u)] / u 的方向平行于割 线MM1;当u 0 时, C(u) / u 就转变为 M(u)点的切线矢量,故又称导矢为切矢。
一般称折线P 0 , P 1 , P n 为 C(u) 的控制 多边形;P 0 , P 1 , P n 各点为 C(u) 的控 制顶点。控制多边形是 C(u) 的大致形状 的勾画; C(u) 是对P 0 , P 1 , P n 的逼近。
图5.1 Bezier曲线
Bernstein基函数具有下列性质:
5)便于采用规格化的参数变量 t [0,1] 如:区间 [a,b] 可由区间 [0,1]通过仿射变换得 到,t : [0, 1 ] u [ a, b] 若 仿射变换关系为:t (u a) (b a) 直线上的插值点可以下两式表示
x (t ) (1 t ) a tb b u u a x (u ) a b b a b a
pi (ti1 ) p(i1) (t(i1) 0 ) 且pi(ti1 ) p(i1) (t(i1) 0 )
2阶参数连续性,
记作 C2 连续性,指两个相邻曲线段的方程在相交点
处具有相同的一阶和二阶导数。
(a)0阶连续性
(b)1阶连续性
(c)2阶连续性
2.几何连续性
0阶几何连续性,记作G0连续性,与0阶参数连续性的定
此式也称为单参数的矢函数。它的参数方程为:
x x (u ) y y (u ) , z z (u )
u [u0 , un ]
2.曲线的矢函数求导
曲线的矢函数求导与数量函数的求导一样,矢 u 变为 u u 函数也可以求导。设当参数 时,矢函数对 应的位置OM 由变为 OM 1,线段对应的矢量差为:
1) 非负性: 对于所有的i,n以及 0 u 1 均有 Bi ,n 0 成立; 2) 规范性:
B
i 0
n
i ,n
(u) 1,
0 u 1
3)对称性
Bi ,n (u) Bn i ,n (1 u),
i 0,1,...,n
4)递推性
Bi ,n (u) (1 u) Bi ,n1 (u) u Bi 1,n1 (u), 5)端点性
t [0,1]
参数表示的优点
1)有更大的自由度控制曲线曲面的形状; 2)可对参数曲线曲面的方程直接进行几何变换, 而不需要对曲线曲面的每个数据点进行几何变 换; 3) 可以处理斜率无穷大的情况; 4)代数、几何相关和无关的变量是完全分离的, 对变量个数不限,便于将低维空间中的曲线曲 面扩展到高维空间中;
( s ) 称为曲率半径。 记 ( s) 1 / k ( s) ,
令垂直于T和N的单位矢量为B,称此矢量副 法线单位矢量:
B(s) T (s) N (s)
由切线和主法线所确定的平面称为密切平面; 由主法线和副法线组成的平面称为法平面;由 切线和副法线构成的平面称为从切面。
5. 插值、逼近和拟合
6)易于用矢量和矩阵表示几何分量,简化计算;
有一空间点A,从原点O到A点的连线表示一个 矢量,此矢量称为位置矢量。 空间一点的位置矢量有三个坐标分量,而空间 曲线是空间动点运动的轨迹,也就是空间矢量 端点运动形成的矢端曲线,其矢量方程为:
C C (u ) [ x(u), y(u), z (u)]
' n 1 i 0
C(0) n( P 1 P 0 ),
C(1) n( Pn Pn1 )
相切,在点
Bezier 曲线在 P 0 点处与边 P 1P 0 处与边 Pn1 Pn 相切。 P n
3) 端点的曲率:在C(u)两端点的曲率分别为:
n 1 | P0 P 1 P 1P 2 | K (0) 3 n | P0 P | 1 n 1 | Pn 2 Pn 1 Pn 1 Pn | K (1) n | Pn 1 Pn |3
5.2 Bezier 曲线
1962年,法国雷诺汽车公司的P.E.Bezier构造 了一种以逼近为基础的参数曲线和曲面的设计方法 使得设计师在计算机上就象使用作图工具一样得心 应手。Bezier 曲线由一组折线集即Bezier 特征多 边形来曲线的起点和终点与该多边形的起点终点重 合,且多边形的第一和最后一条边表示切矢量的方向 .
义相同,满足:
pi (ti1 ) p(i1) (t(i1)0 )
1 阶几何连续性,记作 G1 连续性,指一阶导数在相邻段 的交点处有切矢方向相同,大小不等
2 阶几何连续性,记作 G2 连续性,指相邻曲线段在交点
处其一阶和二阶导数方向相同,大小不等。
C1连续保证G1连续,C2连续能保证 G2连续,但反过来不行。也就是说Cn连续 的条件比Gn连续的条件要苛刻。在曲线造 型中一般只用到C1、 C2 、 G1 、G2连续。
Bi ,n ( cu)
10)积分性
B
j 0
n
i, j
( c ) B j ,n ( u )
1 n 1
1
0
Bi ,n ( u ) du
2.Bezier曲线的性质 Bezier曲线C(u)具有以下性质: 1)端点性质
C(0) P0 ,
C(1) Pn
2) 端点切矢量
C (u ) n Bi ,n 1 (u )(P i 1 P i)
i 0,1,...,n
1, Bi ,n (0) 0, 1, Bi ,n (1) 0,
i0 else in else
6)最大性 : Bi ,n (u )在 u
i / n 处达到最大值;
i 0,1,...,n
7)可导性
Bi ,n (u) n[ Bi 1,n1 (u) Bi ,n1 (u)],
这是因为
C" (u) n(n 1) ( Pi 2 2 Pi 1 Pi ) Bi ,n2 (u)
i 0
n 2
C" (0) n(n 1)(P 2 2P 1 P 0) C" (1) n(n 1)(P n 2P n 1 P n 2 )
( s) k ( s) N ( s) T
单位矢量N(s)定义为曲线的主法线单位矢量,简称为 主法矢;主法矢N(s)总是指向曲线凹入的方向;而k(s) (s) T (s)称 是一标量系数,成为曲线的曲率,而矢量 C 为曲率矢量,其模就是该曲线的曲率:
( s ) k ( s ) C
3. 曲线的自然参数方程
设在空间曲线C(u)上任取一点 M 0 ( x0 , y0 , z0 ) 作为计 算弧长的初始点,曲线上其他点 M ( x, y, z )到M0 之间的弧长 s 是可以计算的(如用弧长积分公 式或累计弦长公式),这样曲线上每个点的位 置与它的弧长之间有一一对应关系。以曲线弧 长作为曲线方程的参数,这样的方程称为曲线 的自然参数方程,弧长则称为自然参数:
4. 曲线的法矢量 设空间曲线的自然参数方程为 C=C(s),曲线 的切矢为单位矢量,记为T:
( s) T ( s) C 因为 ((T (s))2 ,对左式求导,得到: 1
可以认为:
( s) 0 2T ( s) T (s) 垂直,鉴于 T ( s) 不是单位矢量, 说明T (s),T
型值点:是指通过测量或计算得到的曲线或曲面上 少量描述其几何形状的数据点。 控制点:是指用来控制或调整曲线曲面形状的特殊 点,曲线曲面本身不一定通过控制点。 插值和逼近:这是曲线曲面设计中的两种不同方法。 插值设计方法要求建立的曲线曲面数学模型,严格 通过已知的每一个型值点。而逼近设计方法建立的 曲线曲面数学模型只是近似地接近已知的型值点。 拟合:是指在曲线曲面的设计过程中,用插值或逼 近的方法使生成的曲线曲面达到某些设计要求。
假定参数曲线段pi以参数形式进行描述:
pi pi (t )
1.参数连续性
t[ti0 , t i1]
0 阶参数连续性,记作 C0 连续性,是指曲线的几 何位置连接,即
pi (ti1 ) p(i1) (t(i1)0 )
1阶参数连续性
记作C1连续性,指代表两个相邻曲线段的方程在相
交点处有相同的一阶导数:
C (u ) C (u u ) C (u )
其变化率为
C (u ) C (u u ) C (u ) u u
当 u 0 时,这个矢量的极限叫做c(u)的一阶导矢, 记为 C (u ) 或: dC(u ) / du
又设 因为
r (u) [ x(u), y(u), z(u)]
6. 连续性
设计一条复杂曲线时,常常通过多段曲线组合而成 ,这需要解决曲线段之间如何实现光滑连接的问题。 曲线间连接的光滑度的度量有两种: 一种是函数的可微性,把组合参数曲线构造成在 连接处具有直到n阶连续导矢,即n阶连续可微,这类 光滑度称之为Cn或n阶参数连续性。 另一种称为几何连续性,组合曲线在连接处满 足不同于Cn的某一组约束条件,称为具有n阶几何连续 性,简记为Gn。 Cn连续包含在Gn连续之中。