第七讲计算机图形学—二维三维几何变换

合集下载

计算机图形学-变换

计算机图形学-变换
1
第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); //显示红色、平移后矩形

计算机图形学(三维几何变换)

计算机图形学(三维几何变换)
• 设备坐标系:在输出设备上建立的坐标系是设备坐标系, 输出设备如果是屏幕就是屏幕坐标系。有可能是三维的 如机械手运动轨迹的三维坐标系。我们常用的是屏幕坐 标系。
有些图形系统,对设备坐标系进行了规范化,将坐标 范围限定在区间{x, y, z | 0≤x≤1, 0≤y≤1, 0≤z≤1}内,称为 标准化设备坐标系
Y
P’(x’,y’,z’) P(x,y,z)

sin cos 0 0 x 0 y (3) 1 z
X
x cos y sin z 0
Z
旋转的图示
2009-2010-2:CG:SCUEC
以图形中心为中心进行缩放的步骤
2009-2010-2:CG:SCUEC
18
以图形中心为中心的缩放变换
以图形中心为中心的缩放 然后再对每一点按照式(*)作变换. 最后再沿x, y和z方向平移xp, yp和zp,把经过缩放 的图形移回原处.
(xp,yp,zp)
以图形中心为中心进行缩放的步骤
2009-2010-2:CG:SCUEC
A
放缩
17
2009-2010-2:CG:SCUEC
以图形中心为中心的缩放变换
为了使缩放变换后的图形仍在原位臵附近,可另 以图形中心为中心的缩放 外定义一个相似中心点(xp,yp,zp). 先把整个图形沿x, y和z方向平移–xp, –yp和–zp, 相似中心就移到了坐标原点.
(xp,yp,zp)
视口
2009-2010-2:CG:SCUEC
8
Yv
世界坐标系
Y
y2 o x y z x2
观察坐标系
y1
X

计算机图形学课件 第7章 三维变换及三维观察 电子教案[可修改版ppt]

计算机图形学课件 第7章 三维变换及三维观察 电子教案[可修改版ppt]

y X
(2)绕x轴旋转
1 0
0 0
TRX
0 0
cos sin
sin cos
0 0
z
0 0
0 1
y X
(3)绕y轴旋转
cos 0 sin 0
TR Y
0
sin
1 0
0
cos
0 0
z
0
0
0
1
y
X
4. 对称变换 (1)关于坐标平面对称 关于xoy平面进行对称变换的矩阵计算形式为:
1 0 0 0
TFxy
输出设备上的图形
7.2 三维几何变换
a b c p
p'x'
y'
z'
1pT3Dx
y
z
1d
h
e i
f j
q r
l m n s
7.2.1 三维基本几何变换
三维基本几何变换都是相对于坐标原点和坐标轴 进行的几何变换 假 设 三 维 形 体 变 换 前 一 点 为 p(x,y,z), 变 换 后 为 p'(x',y',z')。
1. 平移变换
1 0 0 0
Tt
0 0
1 0
0
0
1 0
Tx
Ty
Tz
1
Z (x,y,z) (x',y',z')
Y
X
图 7-5 平 移 变 换
2. 比例变换
(1)局部比例变换
a 0 0 0
Ts
0
0
e 0
0 j
0
0
0
0
0
1
例子:对如图7-6所示的长方形体进行比例变换,其中 a=1/2,e=1/3,j=1/2,求变换后的长方形体各点坐标。

计算机图形学 第七章 三维变换及三维观察

计算机图形学 第七章 三维变换及三维观察
Chapter 7三维变换及三维观察
33
平行投影
C A B A′
投影平面
投影面A′B′C ′在XOY面上 AA′ ⊥ 面A′B′C ′
⎡1 ⎢0 ⎢ ⎢0 ⎢ ⎣0 0 0 0⎤ 1 0 0⎥ ⎥ 0 0 0⎥ ⎥ 0 0 1⎦
34
C′ B′
Chapter 7三维变换及三维观察
平行投影
Z
A C A′
Chapter 7三维变换及三维观察
⎛a⎞ α = tg ⎜ ⎟ ⎝b⎠
−1
⎛ c ⎞ β = cos ⎜ ⎟ a 2 + b2 + c2 ⎠ ⎝
−1
24
对称变换
关于面对称:
XOY平面 YOZ平面 ZOX平面
P ′ ( x′ P(x y z) y′ z′)
关于线对称:
X轴 Y轴 Z轴
关于点对称:
原点
根据数学意义进行求 解; 按几何意义进行求 解;
1 * A = A A
−1
26
Chapter 7三维变换及三维观察
逆变换
平移的逆变换 比例的逆变换 整体比例的逆变换 旋转的逆变换
⎡ 1 ⎢ 0 ⎢ ⎢ 0 ⎢ ⎢ −Tx ⎣
0 1 0 −Ty
0 0 1 −Tz
0⎤ 0⎥ ⎥ 0⎥ ⎥ 1⎥ ⎦
0 0⎤ 0 0⎥ ⎥ 1 0⎥ ⎥ 0 1⎦
Y O X
Chapter 7三维变换及三维观察
11
Y
旋转变换:绕Z轴
P′
θ
Z
P
X
⎡ cos θ ⎢ − sin θ ⎢ ⎢ 0 ⎣
⎡ cos θ ⎢ − sin θ ⎢ ⎢ 0 ⎢ ⎣ 0
sin θ cos θ 0

计算机图形学之图形变换

计算机图形学之图形变换

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) 前面三种变换都可以表示为如下的矩
阵形式

计算机图形学二维变换.

计算机图形学二维变换.

窗口到视区(viewport)的转换 —实例推导
(VXR,VYT) (WXR,WYT) (Xv,Yv)
(Xw,Yw)
(WXL,WYB)
(VXL,VYB)
窗口区定义为(WXL,WXR,WYB,WYT),
视区定义为( VXL,VXR,VYB,VYT )
根据相似性原理,得出计算公式:
xw WXL xV VXL WXR WXL VXR VXL Yw WYB yV VYB WYT WYB VYT VYB
4.设备坐标系
(左手法则)
显示器以分辨率确定坐标单位, 原点在左下角或左上角。
如屏幕坐标系: 在显示器上指定窗口和视区,必须进行由NDC到物理设备坐标变 换。
5.规格化设备坐标系(NDC)
• 为了使图形处理过程做到与设备无关,通常采用一种虚拟设备 的方法来处理,其结果是按照一种虚拟设备的坐标规定来输出 的。这种设备坐标规定为0≤X≤1,0≤Y≤1,这种坐标系称之 为规格化设备坐标系。 • 在世界坐标系(WC)与设备坐标系(DC)之间定义的一个与设 备无关的规格化设备坐标系(按左手法则)。取值范围: (0.0,0.0,0.0)~(1.0,1.0,1.0)
计算机图形学基础
第4章 二维变换
本章主要内容
• 窗口与视区
– 坐标系、窗口与视区
• 图形变换的数学基础 • 二维几何变换
– 基本变换、复合(组合)变换
• 二维图形的生成程序实现
目前为止,掌握的基本技能
• 基本绘图函数的使用:
– pDC->SetPixel – Cpen类(线型与线宽的设置)等
• • • • •
4.2 图形变换的数学基础
• 矢量运算 • 行列式 • 矩阵

哈尔滨工业大学 计算机图形学 CG07三维几何变换_OK

哈尔滨工业大学 计算机图形学 CG07三维几何变换_OK
22
例6-1
已知空间线段P1(x1,y1,z1)P2(x2,y2,z2),它与三个坐标轴
的方向余弦分别为:n1=cos ,n2=cos b),n3=cos 。
求空间一点P(x,y,z)绕P1P2逆时针旋转 角的各个步骤。
P2
P
P1
23
平移图形使P1与坐标原点重 合
1 0 0 0
T1
0 0
1 0
1x3阶子矩阵对图形进行平移变换3x1阶子矩阵对图形进行投影变换1x1阶子矩阵对图形进行整体比例变换三维几何变换三维几何变换的基本方法是把变换矩阵作为一个算子作用到变换前的图形顶点集合的规范化齐次坐标矩阵上得到变换后的新的图形顶点集合的规范化齐次坐标矩阵
三维几何变换
教学目标
理解和掌握三维图形基本几何变换矩阵 理解平行投影概念和原理 掌握使用平行投影描述三维物体 理解透视投影的基本概念和原理
7
平移变换
1 0 0 0
T
0
1
0 0
0 0 1 0
Tx Ty Tz 1
8
比例变换
Sx 0 0 0
T
0
Sy
0
0
0 0 Sz 0
0
0
0 1
9
绕x轴旋转
1 0
0 0
T 0 cos sin 0
0 sin cos 0
0 0
0 1
10
绕y轴旋转
cos 0 sin 0
T
0
1
0
0
2
三维变换矩阵
a b c p
d
e
f
q
g h i r
l
m
n
s
3
a b c

计算机图形学课件二维图形变换分解

计算机图形学课件二维图形变换分解
2 2 U U U ux u y uz 2
单位矢量 矢量的夹角
cos
矢量的叉积
U V U V
i U V ux vx
j uy vy
k uz vz
变换的数学基础

矩阵

m n
阶矩阵
n阶方阵
零矩阵 行向量与列向量
单位矩阵
矩阵的加法 矩阵的数乘
有n+1个分量的向量 哑元或标量因子
( x1 , x2 ,..., xn , )
( x1 / , x2 / ,..., xn / )
齐次坐标表示不是唯一的
1 规格化的齐次坐标
5.基本几何变换的齐次坐标表示

平移变换
x
y 1 x
1 y 1 0 Tx
矩阵的乘法
矩阵的转置 矩阵的逆
变换的数学基础
矩阵的含义 矩阵:由m×n个数按一定位置排列的一个 整体,简称m×n矩阵。
A=
a11 a12 ... a1n a 21 a 22 ... a 2 n ... ... ... a m 1 a m 2 ... a mn
(1)沿 x 轴方向关于 y 轴错切
将图形上关于y轴的平行线沿x方向推成θ角的 倾斜线,而保持y坐标不变。
y
几何关系
x' x x y' y 令 a ctg 有 x yctg ay
x ' x ay y' y

△x
x
矩阵形式
x
y 1 x
a b T1 c d
的非对角线元素大多为零,如果c和b不为零,则意味着 对图形进行错切变换。 令b=0可以得到沿x方向的错切变换,c>0是沿x正向的错 切变换,c<0是沿x负向的错切变换. 令c=0可以得到沿 y方向的错切变换,b>0是沿y正向的错切变换,b<0是 沿y负向的错切变换.

计算机形学三维几何变换

计算机形学三维几何变换

计算机形学三维几何变换计算机形学是计算机科学中的一个重要分支,主要研究计算机图形学中的各类图形的数学描述方法和计算机图形学技术的应用。

其中,三维几何变换是计算机形学中的一项重要内容。

本文将介绍三维几何变换的概念、常见的三维几何变换操作以及其在计算机图形学中的应用。

一、概述三维几何变换是指对三维空间中的图形进行平移、旋转、缩放等操作,从而改变图形的位置和形状的过程。

三维几何变换是计算机图形学中非常常用的操作,可以实现物体的移动、旋转、缩放等效果。

二、三维几何变换的操作1. 平移(Translation)平移是指将图形沿指定的轴方向移动一定距离。

平移操作可以简单地理解为将图形的每一个顶点坐标向指定方向移动相同距离。

平移操作的数学表达式为:\[T(x,y,z) = (x + dx, y + dy, z + dz)\]其中,(x,y,z)表示原始顶点坐标,(dx,dy,dz)表示沿(x,y,z)轴平移的距离。

2. 旋转(Rotation)旋转是指将图形绕指定轴进行旋转。

旋转操作可以用欧拉角、四元数、矩阵等多种方式进行计算。

旋转操作的数学表达式为:\[R(x,y,z) = M(x,y,z)\]其中,(x,y,z)表示旋转前的坐标,M表示旋转变换矩阵。

旋转变换矩阵的计算方式有很多,最常见的是使用旋转角度和旋转轴来计算旋转矩阵。

3. 缩放(Scaling)缩放是指将图形沿各个轴向相应的方向按比例进行扩大或缩小。

缩放操作可以用不同的比例因子对每个顶点坐标进行缩放计算。

缩放操作的数学表达式为:\[S(x,y,z) = (sx, sy, sz)(x,y,z)\]其中,(x,y,z)表示原始顶点坐标,(sx,sy,sz)表示在x轴、y轴和z轴方向的缩放比例。

4. 其他变换操作除了平移、旋转和缩放之外,三维几何变换还可以包括倾斜、翻转、剪切等其他操作。

这些操作都是通过对图形的顶点坐标进行适当的数学计算而实现。

三、三维几何变换的应用三维几何变换在计算机图形学中有广泛的应用。

二维三维图形的变换原理和算法

二维三维图形的变换原理和算法

Y
Y
错切变换
– 沿 y 向错切变换结果:
x* = x y* = y + a2x
图6-7
– 从以上结果可以看到:
• 当a2 > 0时,沿 y 轴正向
错切。
X
(b)

当沿a2x方< 0向时错,切沿
y
轴负向
比例变换
比例变换
– 对 p 点相对 于坐标原点 沿 x 方向放 缩 a1 倍,沿 y 方向放缩 b2 倍。其中 a1 和 b2 称为 缩放因子。
Y
P'(4,3) P(2,1)
X
图6-2 a1比= 2例,b变2 =换3 (Sx=2,Sy=3
比例变换
比例变换
– 因此,比例变换是让点的 x , y 坐标各乘以一 个比例因子,其变换公式为:
既然图形的几何变换仅和点的位置变化有关, 所以,我们首先要讨论一个点在空间的位置及 其变化。
– 在二维空间中,可用一对坐标值(x,y)来表示平面 上的一点,或者说可以用一个向量[x y]来标定一 个点的位置。
– 在三维空间中则用(x,y,z)表示空间一点,也可 以用向量[x y z]来标定一个点的位置。
图形变换的基本原理
从图形上来看,两种表示方法是没有实质性差别 的。但却为后面矩阵运算的实现提供了可行性和 方便。
Z Z=1
Y X
图形变换的基本原理
这种用三维的向量来表示一个二维向量, 进一步推广来说,用一个 n+1维的向量来 表示 n 维向量的方法,叫做齐次坐标表示 法。(注意,增加的一维是常数 1)
图形变换的基本原理 二维图形的变换 三维图形的变换 三维投影变换 任意视点透视变换
二维图形的变换

二维与三维几何关系形的变换与投影

二维与三维几何关系形的变换与投影

二维与三维几何关系形的变换与投影几何关系形的变换与投影是数学中的重要内容,它们在二维和三维几何中起着至关重要的作用。

本文将探讨二维和三维几何关系形的变换与投影,并分析它们在实际应用中的意义。

一、二维几何关系形的变换与投影在二维几何中,形的变换是指通过平移、旋转、镜像等操作,改变二维图形的位置、方向和形状。

投影则是指将三维物体在一个平面上的投影结果。

这些变换和投影在计算机图形学、工程绘图等领域中扮演着重要的角色。

首先,平移变换是指将图形沿着指定的方向平行移动一定的距离,而不改变其形状和方向。

平移变换可以用矩阵运算表示。

对于一个二维平面上的点(x, y),经过平移变换(Tx, Ty)后的坐标可以表示为:Tx = x + aTy = y + b其中a和b分别代表平移的距离。

通过平移变换,我们可以改变二维图形的位置,使其适应不同的要求。

其次,旋转变换是指将图形按照一定中心点旋转一定的角度,使其方向和形状发生变化。

旋转变换同样可以使用矩阵运算表示。

对于一个二维平面上的点(x, y),经过旋转变换后的坐标可以表示为:x' = x * cosθ - y * sinθy' = x * sinθ + y * cosθ其中θ代表旋转的角度。

通过旋转变换,我们可以改变二维图形的方向,使其具有更灵活的表现形式。

此外,镜像变换是指将图形按照指定的轴线进行对称,使其形状和方向发生反转。

镜像变换同样可以使用矩阵运算表示。

对于一个二维平面上的点(x, y),经过镜像变换后的坐标可以表示为:x' = xy' = -y通过镜像变换,我们可以在二维图形中实现左右翻转、上下翻转等操作,使其具有更多样的展示效果。

最后,在投影中,我们常用的有平行投影和透视投影两种方式。

平行投影是指将三维物体投影到一个平面上,形成二维图像。

透视投影则是指根据透视原理,将远近物体产生大小不同的投影效果。

这两种投影方式在艺术绘画、建筑设计等领域中被广泛应用。

计算机图形学三维图形变换

计算机图形学三维图形变换

主视图变换矩阵
1 0 0 0 1 0 0 0 1 0 0 0
Tv
0 0
0 0
0 1
0
0
0 0
0
0
பைடு நூலகம்
0
0
1 0 0 0
0 0 0 1 0 0
0
0
0
1
0
0 0 1
0
0 0 1
俯视图变换矩阵
1 0 0 0 1
0
0 0 1 0 0 0
TH
0 0
1 0
0 0
0 0 0 0
cos(90) sin(90)
三维图形变换
基本几何变换
基本几何变换都是相对于原点和坐标
轴进行的几何变换,有平移、缩放和 旋转等。在以下的讲述中,均假设用
p(x, y, z) 表示三维空间上一个未被变 换的点,而该点经过某种变换后得到 的新点用 p'(x', y', z') 表示。
平移变换
平移是指将点沿直线路径从一个坐标位置移动 到另一个坐标位置的一个重定位过程。
0 1
0
0
0 0
0 0 0 1 0 0
0
0
0
1
0
0
0
1
0
0 0 1
0 0 0 0 1 0 0 0
0 1 0 0 0 0 0 1
1 0 0 0
0
Rx ( )
0
c
d b
b
d c
0
0
dd
0 0 0 1
Ry ( )
d 0 a 0
Ry
(
)
0
a
1 0
0 d

计算机图形学chap7 三维变换及三维观察

计算机图形学chap7 三维变换及三维观察
关于坐标轴对称变换
关于x轴进行对称变换的矩阵计算形式 为:
1 0 0 0 1 0 TFx 0 0 1 0 0 0
0 0 0 1
22
三维基本几何变换——对称变换
关于Y轴进行对称变换的矩阵计算形式为:
1 0 TFy 0 0
0 1 0 0 0 1 0 0 0 1 0 0
23
三维基本几何变换——对称变换
关于Z轴进行对称变换的矩阵计算形式为:
1 0 0 1 TFz 0 0 0 0
0 0 0 0 1 0 0 1
24
三维基本几何变换——对称变换
关于原点对称
D E O B x A C y E* x E
*
F
F
*
F* C* O O A* y B* x B* x D
*
A* F*
C* y
* D
E* C*
* D
O
A*
B*
y
(a)
(b)
(c)
(d)
(b)a绕x正向旋转90°(c) a绕y正向旋转90°(d) a绕x正向旋转90°
三维基本几何变换——对称变换
关于坐标平面对称
T-1Rz(θ)=TRz(-θ) T-1Rz(-θ)=TRz(θ)
0 0 cos 0 0 sin 1 0 0 0 1 0
sin cos 0 0
0 0 0 0 1 0 0 1
32
三维复合变换
三维复合变换是指图形作一次以上的变 换,变换结果是每次变换矩阵的乘积。
b 1 h 0
c f 1 0
0 0 0 1
26
沿z方向错切:Tshz= 1 0 0 0 沿x方向错切:Tshx= 1 d g 0 沿y方向错切:Tshy= 1 0 0 0

[课件]计算机图形学--二维几何变换PPT

[课件]计算机图形学--二维几何变换PPT
2018/12/2 34
连续旋转变换
应用于点P的两个连续旋转,得到的点P’的 坐标可计算为 P’ = R(θ2)[ R(θ1)P]= [R(θ2)R(θ1)]P 可以证明:两个连续旋转是可叠加的 R(θ2)*R(θ1)= R(θ1+θ2) 则P’的坐标可计算为 P’ = R(θ1+θ2)P
Other Transformations
大多数图形软件包中包含了平移、旋转和 缩放这些基本变换。有些软件包还提供一 些有用的其它变换,如反射(Reflection)和 错切(Shear)
2018/12/2
28
Reflection对称变换
对称变换后的图形是原图形关于某一轴线或原点 ty)P
2018/12/2 25
对于绕坐标原点的旋转变换
可简写为:P’ = R(θ)P
2018/12/2 26
对于相对于坐标原点在X和Y方向上的缩放变换
可简写为:P’ =S(sx , sy)P T、R和S分别时平移、旋转、缩放变换距阵
2018/12/2 27
2018/12/2
9
标准的旋转是当基准点在坐标 原点时,即物体绕坐标原点的 旋转。点P绕原点逆时针旋转θ, 得到P’点。则P和P’的坐标之 间的关系,如图,可如下表示 x’=rcos(θ+Ψ) =rcosθcosΨ - rsinθsinΨ y’=rsin(θ+Ψ) =rsinθcosΨ + rcosθsinΨ
P2 M 1 P1 M 2
21
齐次坐标:
是Maxwell.E.A在1946年从几何的角度提出来
的,它的基本思想是把一个n维空间的几何问 题转换到n+1维空间中去, 从形式上来说,就是用一个n+1维的向量表示 一个n维向量的方法,即n+1维向量表示n维空 间中的点。

第七章 图形变换

第七章 图形变换

窗口和视区两者关系
窗口和视区可以是多个 不一定非要矩形,但通常是矩形区域 若要指定一个窗口或视区,只要给出矩形两顶点 的坐标值 观察变换(窗口-视区的坐标变换 窗视变换) 视区的坐标变换, 观察变换(窗口 视区的坐标变换,窗视变换) 窗口(WC)和视区(DC)分别处在不同的坐 标系内,所用的长度单位及大小、位置等均不同 将窗口内的图形在视区中显示出来,必须经过 将窗口到视区的坐标变换处理(视见变换)(观察 变换:世界坐标系=>设备坐标系)
本章基本内容
图形变换的数学基础 窗口视图变换 图形的几何变换 形体的投影变换 三维线段的裁剪
7.1 图形变换的数学基础
点可以用位置向量(矢量 矢量)表示 矢量 二维空间点的坐标可以用行向量[X,Y]或 列向量[X,Y]T 表示 三维空间点的坐标可以用行向量[X,Y,Z] 或列向量表示 用具有一定关系的点的集合(点集 点集)来表示一 点集 个平面图形学基础 窗口视图变换 图形的几何变换 形体的投影变换 三维线段的裁剪
7.2 窗口视图变换
• 世界坐标系 世界坐标系(WC : World Coordinates) • 设备坐标系 • 规格化设备坐标系
1、世界坐标系(WC : World Coordinates) 、世界坐标系
用户定义的图形从窗口到视区的输出过程
从应用程序得到的图形的世界坐标 ↓WC 对窗口进行裁减 ↓NDC 窗口到视区的规格化变换 ↓DC 视区从规格化坐标系到设备坐标系的变换 ↓ 在图形设备上输出图形
从应用 程序得 到图形 的用户 坐标
对窗口区 进行裁剪
窗口区到 视图区的 规格化变换
视图区从规 格化坐标系 到设备坐标 系的变换
1 i i 0 1
视区 viewport

二维图形几何变换三维图形几何变换参数图形几何变换

二维图形几何变换三维图形几何变换参数图形几何变换

x = x + Tx y = y + Ty
( x, y)
3.1.1 二维图形几何变换 (续) 一、基本变换 ⒉ 旋转(Rotation) 点(x, y)围绕原点逆时针转 动一个角度,
y (x’, y’)

( x, y)
x = x cos y sin y = y cos + x sin
newx = xxr newy = yyr
newx = newx cos newy sin newy = newy cos + newx sin x = newx + y = newy +
f
x
x = xr+(xxr)cos (yyr)sin y = yr+(yyr)cos +(xxr)sin
0 0 1
3.1.3 参数图形几何变换 (续) ⒉ 参数曲线、曲面的几何变换
若指定一个平移矢量t,对曲线平移t,即对曲线上的每一点P都 平移t。对平移后的点P*有 P* = P+t 对于参数曲线和曲面的几何系数矩阵B和代数系数矩阵A,可以直 接实现平移变换,即有 B* = B+T,T = [t t 0 0]T B*是经平移后参数曲线的几何系数矩阵,变换结果如图所示。
Sx 0 0 0 S 0 x y 1 x y 1 y 0 0 1
简记为p=pS(Sx, Sy),其中(Sx, Sy)表示变化矩阵。
(3.3)
3.1.1 二维图形几何变换 (续) 三、级联变换(Composite Transformation)
⒉ 旋转的矩阵运算表示为
cos sin 0 sin cos 0 x y 1 x y 1 0 1 0
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


Here t = <tx,ty,tz> is the direction and magnitude of move
t
3D TRANSLATION

1 0 0 0
0 1 0 0
0 2 4 2 0 - 1 1 3 0 0 1 1 6 1 3 1

3D TRANSLATION

The translation can be represented in 4 x 4 matrix T in homogeneous coordinates:
Identity Matrix
T=
1 0 0 0
0 1 0 0
0 tx 0 ty 1 tz 0 1
S
M= SR
R
3D SCALING
T

To scale according to object center, we need to multiply with translation matrix T, then scale translation matrix S and finally inverse of T (i.e. T-1 ) T-1ST

SUMMARY
An overview of computer graphics topics Basic 2D geometry: Vertex, Line, Triangle and etc. Mathematics of Vector, Matrix using 2D examples 2D Transformations: scaling, rotation and translation Relation between transformation and matrix multiplication

When multiplying with a vertex
二维放缩
一致放缩和差值放缩 放缩但保持原来的位置 方缩+平移

二维放缩

An example to shrink half the size:

So, every vertices are multiplying this matrix

二维旋转

So, the Rotation Matrix

A rotation with 45 degrees (PI/4) in anticlockwise
二维旋转
绕任意基准点旋转 旋转+平移

二维平移

Move horizontally (in x axis) or vertically (in y axis)
t
4 2 2 1 0 3 1
3D SCALING
Scale Matrix is a direct extension to its 2D version, Now, we have sx, sy and sz as the scaling factor in x, y and z directions
S
Note the translation is to move the object center to origin
T-1
INVERSE MATRIX

By definition, inverse matrix A-1of a matrix A should satisfy: A-1 A =I

为什么要用齐次坐标
按顺序多次几何变换 P’=M1P+M2 消除矩阵加法

齐次坐标下的二维几何变换表示
按列表示 二维平移矩阵 二维旋转矩阵 二维放缩矩阵 复合变换矩阵

MULTIPLE 2D TRANSFORMATIONS
How about the case we want to do more than one transformation the same time? For example,

3D SCALING

0 2.0 0 0 0.5 0 0 0 1.0 0 0 0 0 0 0 1 1 1 1 1 2 0 .5 1 1
3D SCALING
Notice that the scaling is in reference to the origin (0,0,0) If object’s center is not at origin, a direct multiply with the scale matrix will look like moving the object at the same time A simple solution is to first translate the object to the origin, scale and then translate back to the original center

First,
shrink in Y direction for 0.5 (Matrix S) Then, rotate 45 degree in anticlockwise (Matrix R)

If we represent in Matrix form, the above complex operation can also be represented in a matrix M

First, shrink in Y direction for 0.5 (Matrix S) Then, rotate 45 degree in anticlockwise (Matrix R)

The standard way is do it stepwise, but it is the same as we multiply RS to the vertex

MULTIPLE 3D TRANSFORMATIONS


Before discussing the solution, recall the topic about multiple transformation in last lesson To apply more than one transformation, e.g.

SR = RS So be-careful, Order DOES Matter!!
ORDER OF APPLYING TRANSFORMATIONS

We can also show the related Matrices formed:
RS
= M1
SR
= M2
They are different!!!

放射变换 (9.7节)
平移 放缩 旋转
反射
Байду номын сангаас错切
DOES MATRIX REALLY NECESSARY?
The answer is Yes or No No: You can do computation in sets of equations Yes: It sometimes make things more clear and easy Yes: We can think any kind of transformation (including S,R,T or etc) to be represented with matrix and performed by a multiplication in matrix Yes: It is already a standard and common language in Graphics

Transpose
Change
E.g.
row to column, column to row
Transpose
here matrix MT is the transpose of matrix M
二维放缩

Scale Matrix, sx and sy are the scaling factor in x and y directions
二维三维几何变换
2D BEFORE 3D
Although
everything in real world is 3D, when we have to display something, everything reduce to a 2D image / screen space Drawing in 2D is therefore a basic needs Some concepts and maths are easier to understand in 2D before going into 3D
S
M= SR R
ORDER OF APPLYING TRANSFORMATIONS
Another question, does M = SR = RS ? The order of multiplication a matter? From the example on right, we know that
二维旋转

2D Rotation commonly involves
Reference
point Angle of rotation
Usually, it is easiest to use the origin (0,0) as anti-clockwise the reference point The related equations:
MULTIPLE 2D TRANSFORMATIONS
相关文档
最新文档