65
2004 Dept. of Computer Science and Engineer 22/3/30 第第第 (一)

第七章 图 形 变 换 (一)

  • Upload
    mari

  • View
    148

  • Download
    0

Embed Size (px)

DESCRIPTION

第七章 图 形 变 换 (一). 图形变换:. 模拟操作空间对象:计算机图形系统的基本功能之一; 图形变换的作用: 完成上述模拟过程; 图像合成处理等其他领域; 图形变换的两种表示: 几何变换:坐标系不变,对象变换- 》 汽车动、场景不动; 坐标变换:坐标系变换,对象不动- 》 汽车不动、场景动;. 数学投影:. 投影问题 : 二维媒体表示三维对象或场景时遇到的困难和限制; 为什么要数学投影? 勿庸置疑,三维的真实世界和它的计算机图形表示有根本区别; 艺术家、工程师、设计师、绘图员、建筑师等等已经试着解决投影问题; - PowerPoint PPT Presentation

Citation preview

Page 1: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24

第七章 图 形 变 换 (一)

Page 2: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 2 / 65

图形变换:模拟操作空间对象:计算机图形系统的基本功能之一;图形变换的作用:

- 完成上述模拟过程;- 图像合成处理等其他领域;

图形变换的两种表示:- 几何变换:坐标系不变,对象变换-》汽车动、场景不动;- 坐标变换:坐标系变换,对象不动-》汽车不动、场景动;

Page 3: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 3 / 65

数学投影:投影问题 : 二维媒体表示三维对象或场景时遇到的困难和限制;为什么要数学投影?

- 勿庸置疑,三维的真实世界和它的计算机图形表示有根本区别;- 艺术家、工程师、设计师、绘图员、建筑师等等已经试着解决投影问题;- 计算机图形系统的开发研究人员同样也面临这个挑战;

两种基本的投影:透视投影和平行投影- 分别用于解决基本的、彼此独立的图形表示问题:- 透视投影:表示真实看到的物体;- 平行投影:表示真实大小和形状的物体;

三维观察和剪裁

Page 4: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 4 / 65

主要内容:

图形变换的数学基础窗口视图变换图形的几何变换形体的投影变换三维线段裁剪

Page 5: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 5 / 65

图形变换的数学基础矢量运算矩阵运算齐次坐标其它数学基础

Page 6: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 6 / 65

矢量运算 矢量: 1 )矢量和: 2 )矢量的点积:

- 性质:

3 )矢量长度:- 单位矢量- 矢量的夹角:

4 )矢量的叉积:

1221 VVVV

2121 0 VVVV 00 111 VVV

21

21cosVVVV

),,( 21212121 zzyyxxVV

21212121 zzyyxxVV

),,(),,,( 22221111 zyxVzyxV

2/1111111

2/1111 )()( zzyyxxVVV

),,( 122112211221

222

11121 yxyxxzxzzyzyzyxzyxkji

VV

Page 7: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 7 / 65

图形变换的数学基础矢量运算矩阵运算齐次坐标

Page 8: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 8 / 65

矩阵运算由 m×n个数按一定位置排列的一个整体,简称 m×n矩阵。其中, aij称为矩阵 A 的第 i 行第 j 列元素 ; 设一 m 行, n 列矩阵 A :

- 正方阵 :m = n- M = 1:行向量- N = 1:列向量- 两个矩阵相等:行数、列数均相等,且对应元素也相等;

1 )矩阵加法:设 A , B 为两个具有相同行和列元素的矩阵 ;

mnmnmmmm

nn

nn

bababa

babababababa

BA

2211

2222222121

1112121111

mnmm

n

n

aaa

aaaaaa

A

21

22221

11211

Page 9: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 9 / 65

矩阵运算 2 )数乘矩阵:用数 k 乘矩阵 A 的每个元素而得到的矩阵;记为: kA或 Ak;

3)矩阵的乘法运算:设 则:

注:只有前一个矩阵的列数等于后一矩阵的行数时才能相乘;

3223 )(,)( ijij bBaA

mnmm

n

n

kakaka

kakakakakaka

KA

21

22221

11211

312321221121312321221121

321322121211311321121111

3231

2221

1211

232221

131211

babababababababababababa

bbbbbb

aaaaaa

BAC

Page 10: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 10 / 65

矩阵运算 4 )零矩阵的运算:矩阵中所有的元素均为零; 5 )单位矩阵:主对角线各元素等于 1,其余皆为 0 的矩阵。

n 阶单位矩阵通常记作: ,对于任意矩阵 6 )逆矩阵:若矩阵 A 存在 ,则称 A-1为 A 的逆矩阵;

设 A 为一个 n 阶矩阵,如有 n 阶矩阵 B 存在,且: 则说明 A 是一个非奇异矩阵, B 是 A 的逆。如果上式不存在,则A 是 一个奇异矩阵。

由于 A 、 B 处于对称地位,因此当 A 非奇异时, B 也非奇异,而且 A 也是 B 的逆,即 A , B 互为逆;如:

nmnmnm AA 0

1

1I

nI nmA

nmnnm AIA IAAAA 11

IABBA

100010001

121011322

461351341

100010001

461351341

121011322

Page 11: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 11 / 65

矩阵运算 7 )转置矩阵:

- 行列互换:把矩阵 A=(aij)m×n 的行和列互换而得到的n×m 矩阵称为 A 的转置矩阵 , 记作 AT 。

- 转置矩阵性质: 1 ) (AT)T = A 2 ) (A+B)T = AT + BT

3 ) (aA)T = aAT

4 ) (A·B)T = BT ·AT

对称矩阵:原矩阵等于其转置矩阵; 8 )矩阵运算的基本性质:

- 1)加法适合交换律与结合律: A+B=B+A; A+(B+C)=(A+B)+C

Page 12: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 12 / 65

矩阵运算- 2)数乘适合分配律和结合律:

a(A+B) = aA+aB; a(A · B) = (aA) ·B=A ·(aB) (a+b)A = aA + bA a(bA) = (ab)A

- 3 )矩阵的乘法适合结合律及分配律: A(B ·C) = (A ·B)C (A+B) · C = A · C+ B · C C ·(A+B) = C ·A + C · B

- 4 )矩阵的乘法不适合交换律: ( 1 )当 A , B 可以相乘,如 A , B 不是方阵,则 B , A 不可相乘; ( 2 )即使 A , B 均为方阵,一般情况下, AB和 BA也不相等:如

0000

2142

6342

1683216

6342

2142

--

----

----

Page 13: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 13 / 65

图形变换的数学基础矢量运算矩阵运算齐次坐标

Page 14: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 14 / 65

图形变换的数学基础为什么需要齐次坐标 ?

多个变换作用于多个目标变换合成

变换合成的问题引入齐次坐标

变换的表示法统一

Page 15: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 15 / 65

齐次坐标定义 :

- 用 n+1维向量表示一个 n 维向量。如 n 维向量 (P1,P2, … ,Pn) 表示为( hP1,hP2,hPn,h ),其中 h 称为哑坐标 ;

- 1 、 h 可以取不同的值-》同一点的齐次坐标不是唯一的。如普通坐标系下的点( 2,3)变换为齐次坐标可以是(1,1.5,0.5)(4,6,2)(6,9,3)等等。

- 2 、普通坐标与齐次坐标的关系为“一对多” , 由普通坐标 h→齐次坐标 , 由齐次坐标 ÷h→普通坐标

- 3 、当 h=1时产生的齐次坐标称为“规格化坐标”,因为前 n个坐标就是普通坐标系下的 n 维坐标

Page 16: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 16 / 65

齐次坐标定义 (Cont.):

- (x,y)点对应的齐次坐标为:

- 由 (x,y)点对应的齐次坐标为三维空间的一条直线

hzhyyhxx

h

h

h

( , , )x y hh h

0,, hhyyhxx hh

Page 17: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 17 / 65

齐次坐标齐次坐标的优越性 :1. 将各种变换用阶数统一的矩阵来表示。提供了用矩阵运算把二维、三维甚至高维空间上的一个点从一个坐标系变换到另一坐标系的有效方法。2. 便于表示无穷远点。例如:( x h, y h, h),令 h 等于 03. 变换具有统一表示形式的优点

- 便于变换合成- 便于硬件实现

齐次坐标与笛卡儿坐标的关系 :- 对应于齐次坐标理想点( X1,Y1,0)的笛卡儿点不存在,但可以简单看成是定义在笛卡儿平面上的一个无穷远点;- 齐次坐标使得平移变换和透视投影变换可以用矩阵来表示;

Page 18: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 18 / 65

其它数学基础二维笛卡儿坐标系

- 在笛卡儿坐标系中测量距离;- 在笛卡儿坐标系中测量角度;- 描述笛卡儿坐标系中的直线;- 曲线和参数方程;

极坐标系- 坐标系转换:笛卡儿坐标与极坐标的相互转换;

函数和变换- 函数的图形;- 复合函数: H(x) = F[G(x)];- 反函数;

Page 19: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 19 / 65

其它数学基础三维笛卡儿坐标系

- 方向:由右手规则决定;- 右手规则;- 三维空间中点的笛卡儿坐标;- 距离公式;

三维曲线和三维曲面- 非参数描述方法与形式;- 参数描述方法与形式;

三维向量- 点积与叉积;- 直线的向量方程;- 平面的向量方程;

Page 20: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 20 / 65

主要内容:

图形变换的数学基础窗口视图变换图形的几何变换形体的投影变换三维线段裁剪

Page 21: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 21 / 65

窗口视图变换用户域和窗口区

- 1 、用户域:程序员用来定义草图的整个自然空间 (WD): a 、人们所要描述的图形均在用户域中定义。 b 、用户域是一个实数域,理论上是连续无限的。

- 2 、窗口区:用户指定的任一区域 (W) A 、窗口区 W 小于或等于用户域 WD; B 、小于用户域的窗口区 W 叫做用户域的子域。 C 、窗口可以有多种类型,矩形窗口、圆形窗口、多边形窗口等等; D 、窗口可以嵌套,即在第一层窗口中可再定义第二层窗口,在第 I 层窗口中可再定义第 I+1层窗口等等。

Page 22: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 22 / 65

窗口视图变换屏幕域和视图区

- 1 、屏幕域 (DC):设备输出图形的最大区域,是有限的整数域。如图形显示器分辨率为1024768→DC[0..1023][0..767]

- 2 、视图区:任何小于或等于屏幕域的区域; a 、视图区用设备坐标定义在屏幕域中 b 、窗口区显示在视图区,需做窗口区到视图区的坐标转换。 c 、视图区可以有多种类型:圆形、矩形、多边形等。 d 、视图区也可以嵌套。

Page 23: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 23 / 65

窗口视图变换屏幕域和视图区的坐标变换

- 设窗口的四条边界 WXL,WXR,WYB,WYT- 视图的四条边界 VXL,VXR,VYB,VYT- 则用户坐标系下的点(即窗口内的一点) (Xw,Yw)对应屏幕视图区中的点( Xs,Ys),其变换公式为 :

- 化简为:

VYBWYBYWYBWYTVYBVYTY

VXLWXLXWXLWXRVXLVXRX

ws

ws

式)1(

dYcYbXaX

ws

ws

Page 24: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 24 / 65

窗口视图变换屏幕域和视图区的坐标变换( Cont.)- 1) 当 a c 时,即 x 方向的变化与 y 方向的变化不同时,视图中的图形会有伸缩变化,图形变形。- 2) 当 a=c=1, b=d=0则Xs=Xw,Ys=Yw,图形完全相同。

- 思考:前面讲的窗口→视图变换时,假设窗口的边和坐标轴平行,如果窗口的边不和坐标轴平行呢?

Page 25: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 25 / 65

窗口视图变换屏幕域和视图区的坐标变换( Cont.)

- Answer: A. 先让窗口 FGHI转 -α角,使它和 FG'H'I'重合。 B. 用 (1)式进行计算。

变换过程:

Page 26: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 26 / 65

窗口视图变换从规格化坐标( NDC)到设备坐标( DC)的变换

- 窗口-视图的二维变换和三维变换中都需要将规格化坐标变换为设备坐标,即显示器的象素坐标;- 变换关系如图 7.2.5:- 在 NDC中的点 经过平移和比例变换后,即可得到 DC中的点- 变换公式:

若 NDC中的两点变换到 DC下的两点,由于点从 NDC到 DC的变换是线性变换,则有:则存在变换公式:

yinyout

xinxout

dysydxsx

),( inin yx ),( outout yx

111212 );/()( inxoutininoutoutx xsxdxxxxxs

yNDCyDC

xNDCxDC

dysydxsx

Page 27: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 27 / 65

窗口视图变换从规格化坐标( NDC)到设备坐标( DC)的变换( Cont.)

- 采用上式进行变换时需要考虑的问题:( 1 )考虑 x,y方向上的实际象素数;( 2 ) NDC空间具有的几何一致性不一定在 DC空间中成立( DC中的象素不一定是正方形) , 需要考虑实际 PC机的象素高宽比;( 3 )实际应用中 NDC和 DC的方向相反;

- 对 DC中象素中心的变换:从 NDC变换到 DC时,经过取整处理,可能会由 Nx超出屏幕边界的情况:- 处理方法:- 1 )将右边界,即把 1.0作为不可显示值-》有时会得到错误的结果;- 2 )把 1.0对应的 Nx象素设置在 Nx- 1 处-》会牺牲图形的精度;- 3 )采用设置精度系数,细化 DC中的象素的方法解决-》较好-》问题:点在 DC中(子象素处)的定位和反走样象素的子采样问题。

Page 28: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 28 / 65

主要内容:

图形变换的数学基础窗口视图变换图形的几何变换形体的投影变换三维线段裁剪

Page 29: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 29 / 65

图形的几何变换图形变换是计算机图形学基础内容之一。

- 几何变换,投影变换,视窗变换- 线性变换,属性不变,拓扑关系不变。

图形变换作用:- 把用户坐标系与设备坐标系联系起来;- 可由简单图形生成复杂图形;- 可用二维图形表示三维形体;- 动态显示。

Page 30: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 30 / 65

图形的几何变换

Page 31: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 31 / 65

二维图形的几何变换图形变换:对图形的几何信息经过几何变换后产生新的图形。图形变换的两种形式:

- 1.图形不变,坐标系改变 - 》 坐标变换- 2.图形改变,坐标系不变 - 》 几何变换

二维图形的几何变换:设二维图形变换前坐标为 (x,y,1),变换后为 (x*,y*,1)  1 . 二维变换矩阵

- 注意: T2D可看作三个行向量,其中[1 0 0]:表示 x 轴上的无穷远点[0 1 0]:表示 y 轴上的无穷远点[0 0 1]:表示原点

ifchebgda

T D2

Page 32: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 32 / 65

二维图形的几何变换从变换功能上可把T2D 分为四个子矩阵:

体放大。则总体缩小;否则,总若

变换。:对整体图形进行伸缩

处产生一个灭点。:在

处产生一个灭点。:在

:对图形做投影变换。

。:对图形进行平移变换

。转、对称、错切等变换:对图形进行缩放、旋

,1

00010001

11**

1

1

i

iyxyx

ih

xh

gxg

hgfc

ebda

Page 33: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 33 / 65

二维图形的几何变换平移变换

- 平移变换只改变图形的位置,不改变图形的大小和形状 比例变换(缩放变换)

11010001

11** yx

yx

TyTxTT

yxyx

11000000

11** ySxSSS

yxyx yxy

x

Page 34: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 34 / 65

二维图形的几何变换比例变换 (Cont.)

- 以坐标原点为放缩参照点- 当 Sx=Sy=1时:恒等比例变换- 当 Sx=Sy>1时:沿 x,y方向等比例放大。- 当 Sx=Sy<1时:沿 x,y方向等比例缩小- 当 Sx不等于 Sy时:沿 x,y方向作非均匀的比例变换,图形变形。

对称变换 1

10000

11** eydxbyaxebda

yxyx

Page 35: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 35 / 65

二维图形的几何变换对称变换 (Cont.)

- 当 b=d=0,a=-1,e=1时, (x* y* 1)=(-x y 1):与 y轴对称的反射变换。- 当 b=d=0,a=1,e=-1时, (x* y* 1)=( x -y 1):与 x轴对称的反射变换。- 当 b=d=0,a=e=-1时, (x* y* 1)=(-x -y 1):与原点对称的反射变换。- 当 b=d=1,a=e=0时, (x* y* 1)=(y x 1):与 y=x对称的反射变换。- 当 b=d=-1,a=e=0时, (x* y* 1)=(-y -x 1):与 y=-x 对称的反射变换。- 见图 : 7.3.1

Page 36: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 36 / 65

二维图形的几何变换旋转变换

- 注意 : θ 是逆时针旋转角度。cossin

xy

' cos( ) cos cos sin sin cos sin' sin( ) sin cos cos sin sin cosx x yy x y

α

θρ (x,y)

1cossinsincos1000cossin0sincos

11**

yxyxyxyx

Page 37: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 37 / 65

二维图形的几何变换错切变换

1) 当 d=0时, (x* y* 1)=(x+by y 1):图形的 y 坐标不变;- 当 b>0 :图形沿 +x 方向作错切位移。ABCD→A1B1C1D1

- 当 b<0 :图形沿 -x 方向作错切位移。ABCD→ A2B2C2D2

11000101

11** ydxbyxbd

yxyx

Page 38: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 38 / 65

二维图形的几何变换错切变换 (Cont.)

- 2)当 b=0时, (x* y* 1)=(x dx+y 1)图形的 x 坐标不变;当 d>0:图形沿 +y 方向作错切位移。 ABCD→ A1B1C1D1当 d<0:图形沿 -y 方向作错切位移。 ABCD→ A2B2C2D2

- 3) 当 b0 且 d0 时, (x* y* 1)=(x+by dx+y 1) :图形沿 x,y 两个方向作错切位移。∴错切变换引起图形角度关系的改变,甚至导致图形发生变形。

Page 39: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 39 / 65

二维图形的几何变换复合变换

- 复合变换又称级联变换,指对图形做一次以上的几何变换。- 注意:任何一个线性变换都可以分解为上述几类变换。

说明:- 1 )平移变换只改变图形的位置,不改变图形的大小和形状;- 2 )旋转变换仍保持图形各部分之间的线性关系和角度关系,变换后直线的长度不变;- 3 )比例变换可以改变图形的大小和形状;- 4 )错切变换引起图形角度关系的改变,甚至导致图形畸变;- 5 )拓扑不变的几何变换不改变图形的连接关系和平行关系;

Page 40: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 40 / 65

二维图形的几何变换二维图形的几何变换举例:

- 例 1 :复合平移 求: P(x,y) 经第一次平移变换( Tx1,Ty1 ),第二次平移变换( Tx2,Ty2)后的坐标 P*( x*, y*);

解:设点 P(x,y,1)经第一次平移变换后的坐标为 P(x y 1) ,则:

1

11

11010001

11''' t

yx

TyxTT

yxyxP

Page 41: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 41 / 65

二维图形的几何变换图形的几何变换举例( Cont.):

经第二次平移变换后的坐标为 P*(x* y* 1)

∴变换矩阵为 Tt=Tt1•Tt2

21

2211

22

11010001

1010001

1

1010001

1''1***

tt

yxyx

yx

TTyxTTTT

yx

TTyxyxP

Page 42: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 42 / 65

二维图形的几何变换- 例 2 :多种复合组合

对一线段先放大 2 倍 ( 即 Sx=Sy=2),再平移 Tx=10,Ty=0。

解 : 设点 (x,y)为线段上的任意一点 ,点 (x´,y´)为点 (x,y)放大后的坐标 , 则 :

设点 (x´´,y´´)为点 (x´,y´)经平移后的坐标为:[x´´,y´´,1]= [x´,y´,1]T2(10,0) 则: [x´´,y´´,1]= [x´,y´,1]T2(10,0)=[x,y,1]S2(2,2)T2(10,0)

令: M=S2(2,2)T2(10,0) ,则 M 即为组合变换。

y

x

(x,y)y

x

(x´,y´) y

x

(x´´,y´´)

Tx

Page 43: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 43 / 65

二维图形的几何变换- 例 3 :旋转变换

对参考点 F(xf,yf) 做旋转变换。解:- 1 、把旋转中心 F(xf,yf) 平移至坐标原点,即坐标系平移( -xf,-yf),则 :

- 2 、进行旋转变换 ff

ff

yxTyxyx

yxyx

1

1010001

1111

Tyxyxyx 11000cossin0sincos

11 221122

Page 44: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 44 / 65

二维图形的几何变换-将坐标系平移回原来的原点 :

-因此 :

ff

ff

yxTyxyx

yxyx 11010001

11** 2222

ff

ff

yxTyxyx

yxyx 11010001

11** 2222

Page 45: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 45 / 65

二维图形的几何变换- 例 4 :任意的反射轴的反射变换

任一图形关于任意的反射轴 y=a+bx的反射变换 ; 解: 1. 将坐标原点平移到 (0,a) 处 :

10010001

1

aT

Page 46: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 46 / 65

二维图形的几何变换2.将反射轴(已平移后的直线)按顺时针方向旋转θ角,使之与 x 轴重合

3.图形关于 x 轴的反射变换

4.将反射轴逆时针旋转θ角

1000cossin0sincos

R

100010001

2T

1000cossin0sincos

R

Page 47: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 47 / 65

二维图形的几何变换5.恢复反射轴的原始位置 因此 :

10010001

3

aT

321 TRTRTT

Page 48: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 48 / 65

二维图形的几何变换- 例 5 :通用固定点缩放

平移物体使固定点与坐标原点重合 ;对于坐标原点缩放 ;用步骤 1 的反向平移将物体移回原始位置 ;

Page 49: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 49 / 65

二维图形的几何变换- 例 6 (通用定向缩放)

比例变换中的比例因子 Sx,Sy只能在 x 轴方向或 y 轴方向起作用。实际图形变换中,不仅是在 x,y 方向变换,往往要求在任意方向进行比例变换。通过旋转变换和比例变换的组合,可以实现任意方向的比例变换。解:定义比例因子 S1 和 S2 。- 1. 使 S1 和 S2 旋转θ角后分别与 x 轴和 y 轴重合。- 2. 进行比例变换。- 3.使 S1 和 S2 旋转 -θ角,返回原始位置。

Page 50: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 50 / 65

二维图形的几何变换如:图 (a) 为一单位正方形,对由 (0,0)和 (1,1)两点构成的对角线方向实施比例变换( 1 , 2 ) :

Page 51: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 51 / 65

三维几何变换三维齐次坐标

(x,y,z)点对应的齐次坐标为

标准齐次坐标 (x,y,z,1)

),,,( hzyx hhh

0,,, hhzzhyyhxx hhh

Page 52: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 52 / 65

三维几何变换变换矩阵

平移变换

比例变换

44434241

34333231

24232221

14131211

3

aaaaaaaaaaaaaaaa

T D

1010000100001

zyx TTT

1000000000000

z

y

x

SS

S

Page 53: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 53 / 65

三维几何变换对称变换:在二维变换下,对称变换是以线和点为基准,在三维变换下,对称变换则是以面、线、点为基准的。

- 对称于 XOY平面- [x' y' z' 1] = [x y -z 1]=[x y z 1]

- 对称于 YOZ平面- [x' y' z' 1] = [-x y z 1]=[x y z 1]

- 对称于 XOZ平面- [x' y' z' 1] = [x -y z 1]=[x y z 1]

1 0 0 00 1- 0 00 0 1 00 0 0 1

1 0 0 00 1 0 00 0 1 00 0 0 1

1 0 0 00 1 0 00 0 1- 00 0 0 1

Page 54: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 54 / 65

三维几何变换旋转变换

- 绕 X 轴变换- 空间上的立体绕 X 轴旋转时,立体上各点的 X 坐标不变,只是 Y 、 Z 坐标发生相应的变化。

- x' = x- y' = ρcos(α+θ) = y*cosθ- z*sinθ- z' = ρsin(α+θ) = y*sinθ+z*cosθ

X Y

Z

(y,z)

(y' z')

θθ

OO

(y' z')

(y,z)

Z

Page 55: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 55 / 65

三维几何变换矩阵表示为:

遵循右手法则,即若 θ>0,大拇指指向轴的方向,其它手指指的方向为旋转方向。

1 0 0 00 cos sin- 00 sin cos 00 0 0 1

1 zy x 1 z' y' '

x

Page 56: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 56 / 65

三维几何变换- 绕 Y 轴旋转

此时, Y 坐标不变, X , Z 坐标相应变化。

- x' = ρsin(α+θ) = x*cosθ + z*sinθ- y' = y- z' = ρcos(α+θ) = z*cosθ- x*sinθ

X Y

Z

(x,z)

(x' z')

θ

X

αO

O

Z

Page 57: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 57 / 65

三维几何变换- 矩阵表示为:

1 0 0 0 0 cos 0 sin0 0 1 0 0 sin- 0 cos

1 zy x 1 z' y' '

x

Page 58: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 58 / 65

三维变换矩阵 - 旋转变换- 绕 Z 轴旋转

此时, Z 坐标不变, X , Y 坐标相应变化。

- x' = ρcos(α+θ) = x*cosθ - y*sinθ- y' = ρsin (α+θ) = x*sinθ+ y*cosθ- z' = z

X Y

Z

(x,y)(x' y') θ

X

Y

αOO

Page 59: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 59 / 65

三维变换矩阵 - 旋转变换- 矩阵表示为:

1 0 0 0 0 1 0 0 0 0 cos sin-0 0 sin cos

1 zy x 1 z' y' '

x

Page 60: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 60 / 65

绕任意轴的旋转变换 - 方法 1

a)绕过原点的任意轴的旋转变换- 空间点 P(x,y,z) 绕过原点的任意轴 ON逆时针旋转θ角的旋转变换。- 基本思想:

1 )因 ON轴不是坐标轴,应设法旋转该轴,使之与某一坐标轴重合; 2 )然后进行旋转θ角的变换; 3 )最后按逆过程,恢复该轴的原始位置。

Page 61: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 61 / 65

绕任意轴的旋转变换 - 方法 1

解:令 ON为单位长度,其方向余弦为:

- α、 β、 γ为 ON轴与各坐标轴的夹角。- 变换过程如下:

1) 让 ON轴绕 z 轴旋转 -α' ,使之在 XOZ平面上。其中

222;cos;cos;cos zyxrrzc

ryb

rxa

22'sin

ba

b

22'cos

ba

a

Page 62: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 62 / 65

绕任意轴的旋转变换 - 方法 1

因此

2 )让在 XOZ 平面上的 ON绕 y 轴旋转 -γ',使之与 z 轴重合。其中因此

1000010000'cos'sin00'sin'cos

'

zR

22'sin ba c'cos

10000'cos0'sin00100'sin0'cos

'

yR

Page 63: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 63 / 65

绕任意轴的旋转变换 - 方法 1

3 ) P 点绕 ON轴(即 z 轴)逆时针旋转θ角 4 ) ON轴绕 y 轴旋转 γ' 5 ) ON轴绕 z 轴旋转 α' 因此

b)  绕任意轴的旋转变换上面的 ON轴若不过原点,而是过任意点 (x0,y0,z0),变换如何呢?

zR yR '

zR '

zyzyz RRRRRT ''''

Page 64: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24 64 / 65

绕任意轴的旋转变换 - 方法 2

组合变换:空间一点绕空间任一轴线的旋转变换。要通过将几个基本的变换组合在一起,得到该组合变换。

Page 65: 第七章  图  形  变  换 (一)

© 2004 Dept. of Computer Science and Engineer 23/4/24

谢谢 !