计算机图形学二维几何变换
二维几何变换学习镜像平移和旋转等变换

二维几何变换学习镜像平移和旋转等变换在几何学中,二维几何变换是一种将平面上的点或形状进行改变的操作。
镜像、平移和旋转是常见的二维几何变换,它们不仅有着广泛的应用,而且在计算机图形学和图像处理等领域中扮演着重要的角色。
本文将分别介绍镜像、平移和旋转等变换的基本概念、性质与应用。
一、镜像变换镜像变换,又称翻转变换,是将平面上的点或形状沿着一条直线进行对称的变换。
在镜像变换中,我们可以定义一条直线作为镜像轴,对于沿轴线的点,它们在镜像后仍保持在轴上,而对于不在轴上的点,则沿垂直于轴线的方向移动相同的距离。
镜像变换可以分为对称镜像和中心镜像两种类型。
对称镜像是将平面上的点或形状沿着一条直线进行对称的变换。
对于对称镜像,镜像轴上的点保持不变,其他点关于轴线对称。
例如,在一个直角三角形中,如果将三角形沿着斜边的中垂线进行对称,那么三角形的形状将完全相同,但位置改变了。
中心镜像是将平面上的点或形状沿着一个点进行对称的变换。
对于中心镜像,镜像中心点保持不变,其他点关于镜像中心对称。
例如,在一个正方形中,如果将正方形沿着中心进行中心镜像,那么正方形的形状将保持不变。
镜像变换在现实生活和工程应用中有着广泛的应用。
例如,在建筑设计中,通过对称镜像可以快速获得相对称的结构,从而减少设计和施工的难度。
在计算机图形学中,镜像变换被广泛应用于图像处理和计算机游戏中,能够快速生成镜像效果。
二、平移变换平移变换是将平面上的点或形状沿着一个方向进行移动的变换。
在平移变换中,每个点的平移距离和方向相同,所有的点都保持相对位置不变。
平移变换可以用坐标表示为(x, y) → (x+dx, y+dy),其中(dx, dy)表示平移的距离和方向。
平移变换的一个重要性质是保持平行性,即平移后的平行线与原先的平行线依然平行。
这个性质在工程设计和计算机图形学中有着重要的应用。
例如,在工程设计中,通过平移变换可以方便地复制和粘贴结构,缩短设计和施工的时间。
计算机图形学-变换

第3章 变换
基本的二维几何变换 二维复合变换 其他二维变换 三维几何变换 OpenGL几何变换函数 三维图形的显示流程 投影 裁剪
2
几何变换
应用于对象几何描述并改变它的位置、方 向或大小的操作称为几何变换(geometric transformation) 基本的二维几何变换包括平移、旋转和缩 放
8
矩阵表示和齐次坐标
许多图形应用涉及到几何变换的顺序 需要用一个通式来表示平移、旋转和缩放
P M1 P M 2
将2×2矩阵扩充为3×3矩阵,可以把二维几 何变换的乘法和平移项组合为单一矩阵表示
9
二维平移矩阵
x 1 0 t x x y 0 1 t y y 1 0 0 1 1
三维坐标轴旋转
X轴坐标不变,循环替代x、y、z三个 轴可以得到绕x轴旋转的公式
z
y ' y cos z sin
y
z ' y sin z cos x' x
x
35
三维坐标轴旋转
y轴坐标不变,循环替代x、y、z三个 轴可以得到绕y轴旋转的公式
x
z
y
z ' z cos x sin x' z sin x cos y' y
glMatrixMode (GL_MODELVIEW); glColor3f (0.0, 0.0, 1.0); glRecti (50, 100, 200, 150); //显示蓝色矩形
glColor3f (1.0, 0.0, 0.0); glTranslatef (-200.0, -50.0, 0.0); glRecti (50, 100, 200, 150); //显示红色、平移后矩形
计算机形学中的几何变换与投影技术

计算机形学中的几何变换与投影技术计算机形学是计算机科学与计算机图形学中重要的一个领域,它研究如何在计算机上对图形进行表示、创建、编辑和呈现。
其中,几何变换和投影技术是计算机形学中常用且核心的技术之一,它们在计算机图形学领域中被广泛应用。
一、几何变换在计算机图形学中,几何变换是指对图形进行平移、旋转、缩放和扭曲等操作,从而改变图形的位置、形状和大小,以满足特定需求。
1. 平移变换平移变换是对图形进行沿着指定方向和距离的移动。
在二维空间中,平移变换可以表示为:x' = x + dxy' = y + dy其中,(x', y')是平移后的坐标,(x, y)是原始坐标,(dx, dy)是平移的向量。
2. 旋转变换旋转变换是对图形进行绕指定点或绕原点的旋转操作。
在二维空间中,旋转变换可以表示为:x' = x * cosθ - y * sinθy' = x * sinθ + y * cosθ其中,(x', y')是旋转后的坐标,(x, y)是原始坐标,θ是旋转角度。
3. 缩放变换缩放变换是对图形进行放大或缩小的操作。
在二维空间中,缩放变换可以表示为:x' = x * sxy' = y * sy其中,(x', y')是缩放后的坐标,(x, y)是原始坐标,(sx, sy)是缩放因子。
4. 扭曲变换扭曲变换是对图形进行形状的变换,使得某些部分被拉伸或收缩。
扭曲变换可以通过矩阵运算进行表示,具体操作较为复杂。
二、投影技术在计算机图形学中,投影技术是指将三维空间中的图形映射到二维平面上的过程。
常见的投影技术包括平行投影和透视投影。
1. 平行投影平行投影是一种保持图形中平行线在投影后保持平行的投影方式。
在三维空间中,平行投影可以表示为:x' = xy' = y其中,(x', y')是投影平面上的坐标,(x, y)是三维空间中的坐标。
计算机图形学6(陈永强)

Y
X (e)关于x=-y对称
X (d)关于x=y对称
11
基本几何变换——对称变换
(1)关于x轴对称
Y
1a 0 b 0 1 c d m 0l 0
0 p 0 q s 1
P(x,y) X P'(x,-y)
图6-5 关于x轴对称
12
基本几何变换——对称变换
24
复合变换——二维复合旋转
cos1 sin 1 0 cos 2 Tr Tr1 Tr 2 sin 1 cos1 0 sin 2 0 1 0 0 cos(1 2 ) sin(1 2 ) 0 sin(1 2 ) cos(1 2 ) 0 0 0 1 sin 2 cos 2 0 0 0 1
1 b 0 c 1 0 0 0 1
(3)两个方向错切
18
二维图形几何变换的计算
几何变换均可表示成P’=P*T的形式。 1. 点的变换
x'
y ' 1 x
a b y 1 c d l m
p q r
19
二维图形几何变换的计算
2. 直线的变换
0 cos 0 0 0 1
1 0 tg 1 0
0
tg 1 0
0 1
0
26
6.3.5相对任一参考点的二维几何变换
相对某个参考点(xF,yF)作二维几何变换,其变 换过程为: (1) 平移; (2) 针对原点进行二维几何变换; (3) 反平移。
27
相对任一参考点的二维几何变换
P' P T P (T1 T2 T3 Tn ) P T1 T2 T3 Tn (n 1)
计算机图形学之图形变换

4 T
3
2 p
1
0
012 34 567 8
线段和多边形的平移可以通过顶点的
平移来实现。同样线段和多边形的其它几 何变换也可以通过对顶点的几何变换来实 现。
2. 旋转变换(Rotation) 二维旋转有两个参数:
旋转中心: 旋转角:
?
6 P’
5
4
3
P
2
1
0
012 34 567 8
设OP与x轴的夹角为 则:
由于采用齐次坐标矩阵表示几何变换, 多个变换的序列相应地可以用矩阵链乘来表 示。
需要注意:先作用的变换其矩阵在右边, 后作用的变换其矩阵在左边。
变换函数
平移变换 void glTanslate{fd}(TYPE x, TYPE y, TYPE z);
旋转变换 void glRotate{fd}(TYPE angle, TYPE x, TYPE y, TYPE z); 绕矢量v=(x,y,z)T逆时针方向旋转angle指定的角度。 旋转角度的范围是0~360度。当angle=0时, glRotate()不起作用。
二维旋转有两个参数: 旋转中心: 旋转角:
上述变换可以分解为三个基本变换:
•平移:
•旋转:
•平移: 回原位。
使旋转中心移到坐标原点; 使旋转中心再移
二维旋转有两个参数: 旋转中心: 旋转角:
因此上述变换可以写成矩阵乘积形式:
4. 5 基本三维几何变换(Basic three-dimensional geometric transformation)
1. 矩阵表示(Matrix representation) 前面三种变换都可以表示为如下的矩
阵形式
计算机图形学_ 二维图形变换_53 二维图形变换原理及齐次坐标_

为什么要采用齐次坐标?
在笛卡儿坐标系内,向量(x,y)是位于z=0的平面上的点 ;而向量(x,y,1)是位于z=1的等高平面上的点
对于图形来说,没有实质性的差别,但是却给后面矩阵运 算提供了可行性和方便性
假如变换前的点坐标为(x,y),变换后的点坐标为(x*,y* ),这个变换过程可以写成如下矩阵形式:
x*, y*x,
x* a1x b 1 y c1
y•M
x*, y*x
a1
y
1
b 1
c1
a2 b2 c2
上两式是完全等价的。对于向量(x,y,1),可以在几何意义 上理解为是在第三维为常数的平面上的一个二维向量。
这种用三维向量表示二维向量,或者一般而言,用一个n+1维 的向量表示一个n维向量的方法称为齐次坐标表示法
n维向量的变换是在n+1维的空间进行的,变换后的n维结果 是被反投回到感兴趣的特定的维空间内而得到的。
如n维向量(p1,p2,...,pn)表示为(hp1,hp2,...,hpn,h), 其中h称为哑坐标。 普通坐标与齐次坐标的关系为“一对多”:
变换图形就是要变换图形的几何关系,即改变顶点的坐 标;同时,保持图形的原拓扑关系不变
仿射变换(Affine Transformation或 Affine Map)是一 种二维坐标到二维坐标之间的线性变换 (1)“平直性”。即:直线经过变换之后依然是直线
(2)“平行性”。即:平行线依然是平行线,且直线上 点的位置顺序不变)
采用了齐次坐标表示法,就可以统一地把二维线形变换表示 如下式所示的规格化形式:
计算机图形学 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
第4章二维变换

• 性质
U •V = V •U U •V = 0 ⇔ U ⊥ V U •U = 0 ⇔ U = 0
变换的数学基础(3/4) 变换的数学基础
– 矢量的长度
• 单位矢量 • 矢量的夹角
2 U = U • U = u x + u y + u z2 2
U •V cos θ = U •V
– 矢量的叉积
i U ×V = ux vx
– 在世界坐标系( 在世界坐标系(WCS)中指定的矩形区域 , ) 用来指定要显示的图形 。
2. 视区
– 在设备坐标系(屏幕或绘图纸) 在设备坐标系(屏幕或绘图纸)上指定的矩形区域 , 用来指定窗口内的图形在屏幕上显示的大小及位置。 用来指定窗口内的图形在屏幕上显示的大小及位置。
3. 窗口到视区的变换
P′=P+Tm 等价于
[x’ y’]=[x y] +[Mx My]
图形变换的特点( 4.3.1 图形变换的特点(续)
比例变换 P′=P×Ts
Sx 0 Ts= 0 Sy Sx、Sy分别表示比例因子。 cosθ sinθ Tr= -sinθ cosθ θ>0时为逆时针旋转 θ<0时为顺时针旋转
旋转变换 P'=P×Tr
变换后的 顶点坐标
P
变换前的 顶点坐标
•
T2D
二维变换矩阵
二维变换矩阵中: a b 是对图形进行缩放、旋转、对称、错切等变换。 c d [ l m] 是对图形进行平移变换
• 计算机图形场景中所有图形对象的空间定位和定义,包括观 计算机图形场景中所有图形对象的空间定位和定义, 察者的位置视线等,是其它坐标系的参照。 察者的位置视线等,是其它坐标系的参照。
2.模型坐标系(Modeling Coordinate System,也称局部坐标系) 模型坐标系
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、绕任意点(或称基准点)(xr,yr)的旋 转
图形的原始位置
步骤(1)
步骤(2)
变换后的图形
(1)平移物体使基准点位置被移到坐标原点; (2)绕坐标原点旋转; (3)平移物体使基准点回到原始位置。
9
该变换顺序的复合变换矩阵为:
10
2、相对任意点(固定点)(xf,yf)的比例变换
用矩阵形式表示成[x’ y’]=[x y] ·[ 简记为P'=P· R,其中 转变换矩阵。 是旋
]
5
3.1.5 二维错切变换
二维错切变换:是一种会使物体形状发生变化的 变换。常用的错切变换有两种:
2、图形沿y方向的错切 数学表达式为:
1、图形沿x方向的错切
x'=x+SHx· y SHx≠0 x'=x y'= SHy· x+y SHy≠0 y'=y
3.1 二维几何变换
二维几何变换就是在平面上对二维点的 坐标进行变换,从而形成新的坐标。主 要包括:平移、比例、对称、旋转、错 切、仿射和复合变换。
1
3.1.1 二维平移变换
如图所示,它使图形移动位置。新图p‘的每一图元点是 原图形p中每个图元点在x和y方向分别移动Tx和Ty产生, x'=x+Tx 所以对应点之间的坐标值满足关系式 y'=y+Ty 可利用矩阵形式表示成: [x‘ y']=[x y]+[Tx Ty] 简记为:P'=P+T,T=[Tx Ty] 是平移变换矩阵(行向量)。
7
3.1.7 二维复合变换
前面所讨论的图形变换是相对于坐标原点 或坐标轴来进行的。在实际中,常常需要 相对于任意点或任意轴来进行变换。为了 做到这一点,可通过计算多个基本变换矩 阵的乘积来得到总的变换矩阵或称为复合 变换矩阵,从而实现任意顺序的组合变换。 常见的组合变换有: 1、绕任意点的旋转 2、相对任意点的比例变换
2
3.1.2 二维比例变换
如图所示,它改变显示图形的比例。新图形p'的每个图 元点的坐标值是原图形p中每个图元点的坐标值分别乘 以比例常数Sx和Sy,对应点之间的坐标值满足关系式 x'=x*Sx y'=y*Sy
可利用矩阵形式表示成:
简记成p‘=P*S, 其中 是比例变换矩阵。
3
3.1.3 二维对称变换
4
3.1.4 二维旋转变换
二维旋转变换:图形相对坐标原点的旋转如图所示,它 产生图形位置和方向的变动。新图形p'的每个图元点是 原图形p每个图元点保持离坐标原点距离不变并绕原点 旋转θ角产生的,并以逆时针方向旋转为正角度,对应
图元点的坐标值满足关系式 x'=xcosθ-ysinθ
y'=xsinθ+ycosθ
图形的原始位置
步骤(1)
步骤(2)
变换后的图形
(1)平移物体使固定点与坐标原点重合; (2)相对于坐标原点的比例变换; (3)平移物体使固定点回到原始位置。
11
该变换顺序的复合变换矩1.6 二维仿射变换
二维仿射变换的形式为: x'=axxx+axyy+bx y'=ayxx+ayyy+by 变换的坐标x‘和y’都是原始坐标x和y的线性函数。 参数aij和bk是由变换类型确定的常数。仿射变换 具有平行线转换成平行线和有限点映射到有限 点的一般特性。 结论:平移、比例、对称、旋转和错切变换是 二维仿射变换的特例,任何常用的二维仿射变 换总可表示为这五种变换的组合。
二维对称变换(或称反射变换)是产生物体镜像的一种变 换,该变换实际上是比例变换的几种特殊情况。
1、以y轴为对称线的对称变换 2、以x轴为对称线的对称变换 3、以原点为对称的对称变换 4、以直线y=x为对称线的对称变换 5、以直线y=-x为对称线的对称变换
矩阵表示形式为: 矩阵表示形式为: [x’ [x’ y’]=[x y]*[ ]=[x ]=[ -x -y] y] -y] -x] y’]=[x y]*[ ]=[y ]=[x] -y