计算机图形学第五章
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 这样做有许多方面的好处:
–1、很容易表示无穷远点 –2、容易用矩阵与矢量乘的方法表示点的平移操作, 以便简化计算过程。
齐次坐标的引入
• 例一:
–式子P= P0 + a1v1+a2v2+a3v3的简化: –非齐次坐标:
• P= P0 + [a1,a2,a3] {v1,v2,v3}
T
–齐次坐标:
齐次坐标的引入
5.1.2 比例变换
一个图形中的坐标点P(x,y)若在X轴方向变化一个比例 系数sx,在Y轴方向变化一个比例系数sy,则新坐标点 P(x,y)的表达式为:
5.1.2 比例变换
这一变换称为相对于坐标原点的比例变换 , sx 和 sy 分别表示点 P(x,y )沿 X 轴方向和 Y 轴方向相对坐标原点 的比例变换系数。比例变换改变图形的大小。 变换方程写成齐次坐标矩阵形式为:
做对称于Y轴的对称变换,其变换矩阵为:
最后反向旋转和反向平移将直线置回原处,其变换矩阵分别 为:
所以,对称于任一轴y﹦mx﹢b的变换矩阵为:
变换矩阵中的和需要用已知量表示出来。当m为直线斜 率,b为截距时有:
所以
替换变换矩阵中的和得:
上述变换用代数方程表示为:
错切变换
错切( shear )变换是轴上点不动,其它点沿平行于此 轴方向移动变形的变换。错切变换也称为剪切、错位或 错移变换。常用的错切变换有两种:改变 x坐标值和改 变y坐标值。 1. 沿X轴方向关于Y的错切 变换前和变换后y坐标不变,而x坐标根据y坐标值呈 线性变化。变换前后点的坐标之间的关系为:
变换方程写成齐次坐标矩阵形式为:
其中变换矩阵:
对称X轴变换的几何表示见下图
2. 对称于Y轴 当变换对称于 Y 轴时,则坐标点 P(x,y)经对称变换 后,新坐标点P’(x’,y’)的表达式为:
变换方程写成齐次坐标矩阵形式为:
其中变换矩阵:
对称Y轴变换的几何表示见下图
3. 对称于原点 当图形对 X 轴和 Y 轴都进行对称变换时,即得相 对于坐标原点的对称变换。这一变换前后点坐标之 间的关系为: 写成齐次坐标矩阵形式为:
5.1.1二维图形几何变换的基本原理
例如,如果要对下图中的四边形ABCD进行平移变换,只需要 对四个顶点A、B、C、D做平移变换,连接平移后的四个顶点 即可得到四边形平移变换的结果。
5.1.1二维图形几何变换的基本原理
对二维图形进行几何变换有五种基本变换形式, 它们是:平移、旋转、比例、对称和错切,这些图形 变换的规则可以用函数来表示。有两种不同的变换形 式:一种是图形不动,而坐标系变动,即变换前与变 换后的图形是针对不同坐标而言的,称之为坐标模式 变换;另一种是坐标系不动,而图形改变,即变换前 与变换后的坐标值是针对同一坐标系而言的,称之为 图形模式变换。实际应用中,后一种图形变换更有实 际意义,下面讨论的图形变换是属于后一种变换。
其中变换矩阵:
6. 对称于任一点(xc,yc)的变换 对称于任一点 (xc,yc) 的变换,实际上可以看做分 别相对于直线轴 x﹦xc和直线轴 y﹦yc的两次对称变换, 因此其变换公式是两者的综合:
变换方程写成齐次坐标矩阵形式为:
其中变换矩阵:
7.对称于任一轴的变换 关于 XY 平面内任一直线 y﹦mx﹢b 为对称轴的变换, 可以分解为平移、旋转、对称于坐标轴等变换的组合。 首先平移直线经过坐标原点,而后将直线绕坐标原点 旋转至同某一坐标轴重合,做对称于坐标轴的变换, 最后反向旋转和反向平移将直线置回原处。 如下图所示,平移直线经过坐百度文库原点需要在 Y 轴方 向上移动距离 b,然后将直线绕坐标原点旋转至同 Y 轴 重合,设旋转角度为 ,两步的变换矩阵分别为:
T
坐标系之间的变换
• 对于空间中的任一个点D ,如果已知D点在坐标 系II中的坐标为[d1d2d3] • 则:
–D= P0+ [d1d2d3] {v1,v2,v3} T – = Q0 -[q1q2q3] {v1,v2,v3} T – +[d1d2d3] {v1,v2,v3} T – = Q0 +([d1d2d3]- [q1q2q3] )M -1{u1,u2,u3}T
T
第五章 图形变换
在应用中,经常要进行从一个几何图形到另一 个几何图形的变换,例如,将图形向某一方向 平移一段距离;将图形旋转一定的角度;或将 图形放大或缩小等等,这种变换过程称为几何 变换。图形的几何变换是计算机绘图中极为重 要的一个组成部分,利用图形变换还可以实现 二维图形和三维图形之间转换,甚至还可以把 静态图形变为动态图形,从而实现景物画面的 动态显示。
公式的推导可参考右图
旋转变换
变换方程写成齐次坐标矩阵形式为:
其中变换矩阵
上面是点P(x,y)以坐标原点为中心的旋转变换,还可以 任意点Pc(xc,yc)为中心做旋转变换。其变换公式为:
旋转变换
此公式的推导过程可以这样考虑,先平移坐标原点 (0,0)到(xc,yc),然后进行旋转变换,变换后再将坐标 原点移回到(0,0)。三个过程的结果就是以点(xc,yc)为 中心的旋转变换。
其中变换矩阵:
5.1.2 比例变换
比例变换系数sx和sy可赋予任何正数值。当值小于 1 时缩小图形,值大于 1 则放大图形。当 sx 和 sy 被赋予 相同值时,就产生保持图形相对比例一致的变换, sx 和sy值不等时产生 X轴方向和Y轴方向大小不等的比例 变换。sx和sy都指定为1时,图形大小不改变。 实际上,相对于坐标原点图形的比例变换,相当 于每一点相对于坐标原点的变换,因此,它不但改变 图形的大小,而且改变图形的位置。
坐标系和坐标
• 在三维空间给定一个点P0和三个线性无关的 矢量v1、v2、v3 • 则,空间中任何一个点P可以表示为:
–P= P0 + a1v1+a2v2+a3v3 ,(a1a2a3为实数) –称点P的坐标为(a1,a2,a3) –写成矩阵形式为: –P=P0+ (a1,a2,a3)( v1、v2、v3 )T
5.1.2平移变换
平移变换是指将图形从一个坐标位置移到另一个坐标 位置的重定位变换。已知一点的原始坐标是 P(x,y ),加 上一个沿X,Y方向的平移量 tx 和ty ,平移此点到新坐标 (x﹢tx,y﹢ty),则新坐标的表达式为:
如果对一图形的每个点都进行上述变换,即可得到该图 形的平移变换。实际上,线段是通过对其两端点进行平移变 换,多边形的平移是平移每个顶点的坐标位置,曲线可以通 过平移定义曲线的坐标点位置,用平移过的坐标点重构曲线 路径来实现。
计算机图形学
第5章 图形变换
• • • • • 预备知识 图形变换的数学基础 5.1 图形的几何变换 5.2 投影变换 5.3 图形显示中的裁剪问题 5.4 OpenGL的坐标变换机制
5.1 图形变换的数学基础
• • • • 矢量、点和欧氏空间 坐标系和坐标 矩阵与坐标变换 齐次坐标的引入
矢量
写成齐次坐标矩阵形式为:
旋转变换
其中变换矩阵:
旋转变换只能改变图形的方位,而图形的大小和形 状不变。旋转变换的几何表示见下图。
对称变换
对称变换是产生图形镜象的一种变换,也称镜象变换或 反射变换。将图形绕对称轴旋转就可以生成镜象图形。 1. 对称于X轴 当变换对称于 X 轴时,则坐标点 P(x,y) 经对称变换后, 新坐标点P’(x’,y’)的表达式为:
5.1 二维图形变换
5.1.1二维图形几何变换的基本原理 5.1.2 平移变换 5.1.3 比例变换 5.1.4 旋转变换 5.1.5 对称变换 5.1.6 错切变换
5.1.1二维图形几何变换的基本原理
二维平面图形的几何变换是指在不改变图形连线 次序的情况下,对一个平面点集进行的线性变换。实 际上,由于一个二维图形可以分解成点、直线、曲线。 把曲线离散化,它可以用一串短直线段来逼近,而每 一条直线段均由两点所决定,这样,二维平面图形不 论是由直线段组成,还是由曲线段组成,都可以用它 的轮廓线上顺序排列的平面点集来描述。因此可以说, 对图形作几何变换,其实质是对点的几何变换,通过 讨论点的几何变换,就可以理解图形几何变换的原理。
其中变换矩阵:
对称原点变换的几何表示见下图
4. 对称平行于X轴的直线 当对称轴是平行于X轴的直线y﹦yc时,变换前后 点的坐标之间的关系为:
变换方程写成齐次坐标矩阵形式为:
其中变换矩阵:
5. 对称平行于Y轴的直线 当对称轴是平行于Y轴的直线x﹦xc时,变换前后 点的坐标之间的关系为:
变换方程写成齐次坐标矩阵形式为:
• 所以,D点在坐标系I中的坐标为
–([d1d2d3]- [q1q2q3] )M
-1
齐次坐标的引入
• 对于三维空间中的点,其坐标用三个实数表示, 如:(X,Y,Z)。 • 还可以用四个实数来表示一个点的坐标,写为:
– (X,Y,Z,W),其中W不能为0。 –该坐标与(X/W,Y/W,Z/W)等价。
下图是一图形比例变换的例子: 中心在原点的放大变换 中心不在原点的放大变换
可以通过选择一个在变换后不改变位置的固定点 Pc(xc,yc),来控制图形变换的位置。例对于多边形图形, 固定点的坐标 (xc,yc) 可以选择图形的某个顶点、图形几 何中心点或任何其它位置,这样变换后固定点坐标不改变, 多边形每个顶点相对于固定点缩放。对于坐标为P(x,y)的 顶点,相对于固定点Pc(xc,yc)变换后的坐标P(x,y)可计算 为:
欧氏空间
• 投影 u 。v =|u||v|cos( ) • 矢量乘 n=uxv,|n|=|u||v|sin()
–由右手法则确定方向
坐标系和坐标
• 为了描述矢量和点引入坐标系 • 在3维空间,给出三个线性无关的矢量v1、 v2、v3 • 则任意一个矢量w可以表示为:
–w= a1v1+a2v2+a3v3 , (a1a2a3为实数) –因此,可以将矢量w记为a(a1,a2,a3)
写成齐次坐标矩阵形式为:
5.1.2 比例变换
其中变换矩阵:
计算公式的推导可以这样考虑,先平移坐标原点(0,0)到 (xc,yc),然后进行比例变换,变换后再将坐标原点移回 到(0,0)。三个过程的结果就是相对于点(xc,yc)的比 例变换。三个过程的变换矩阵分别是:
比例变换
旋转变换
若图形中的坐标点P(x,y)绕坐标原点逆时针旋转一个角度 θ, 则新坐标点P(x’,y’)的表达式为:
• 矢量具有确定的方向和大小(长度) • 矢量是流动的,无位置概念 • 矢量的运算 C=A+B, B=2A
矢量
• • • • 点表示空间中的一个位置 点和另一个点相减得到一个矢量 v=P-Q 矢量和点相加得到另一个点 P=Q+v 点和矢量都是客观实在
欧氏空间
• • • • 点乘 a=u 。v (a为实数,u、v为矢量) 0 。0=0 如果u 。v=0,则称u和v垂直 矢量的长度|v|, |v|2=v 。v
坐标系之间的变换
• 已知
–坐标系I:原点Q0,坐标轴 {u1,u2,u3} –坐标系II:原点P0 ,坐标轴{v1,v2,v3} –Q0在坐标系II的坐标为:[q1,q2,q3]
坐标系之间的变换
• 写成矩阵形式:
–Q0=P0 + [q1,q2,q3] {v1,v2,v3} –{u1,u2,u3} T =M {v1,v2,v3} T –其中:
平移变换只改变图形的位置,不改变图形的大小和 形状。下图是一平移变换的例子。
可以用矩阵形式来表示二维平移变换方程。图形 变换通常使用齐次坐标矩阵来表示。平移变换方程的齐次 坐标矩阵表示式为:
其中
有了上面的矩阵表示,连续的平移 变换可以通过连续的矩阵乘法来实现。 称为变换矩阵。 例如, 点经平移变换T1(tx1,ty1) 后,再经平移变换T2(tx2,ty2), 那么,最终的平移变换矩阵。
• 将关系式
• 简化为:
齐次坐标的引入
• 对于空间中的任一个点D ,如果已知D点 在坐标系II中的坐标为[d1d2d31] • D= [d1d2d31] {v1,v2,v3 ,P0} T • = [d1d2d31]M-1 {u1,u2,u3 ,Q0} T • 推导过程也变得简单了 • Q’=[q’1,q’2,q’2,1] {u1,u2,u3 ,Q0} T = [q’1,q’2,q’2,1]M{v ,v ,v ,P } • 1 2 3 0