2013-3-1 华中理工大学计算机学院 陆枫
99-7
1
第 7章 三维变换及三维观察
提出问题
? 如何对三维图形进行方向, 尺寸和形状方面的变换
? 如何进行投影变换
? 如何方便地实现在显示设备上对三维图形进行观察
2013-3-1 华中理工大学计算机学院 陆枫
99-7
2
7.1 三维变换的基本概念
7.1.1 三维齐次坐标变换矩阵
?
?
?
?
?
?
?
?
?
?
?
?
?
snml
rihg
qfed
pcba
T
D3
2013-3-1 华中理工大学计算机学院 陆枫
99-7
3
7.1.2 几何变换
? 图形的几何变换 是指对图形的几何信息经过平
移, 比例, 旋转等变换后产生新的图形 。
? 点的矩阵变换
? 线框图的变换
? 用参数方程描述的图形的变换
2013-3-1 华中理工大学计算机学院 陆枫
99-7
4
7.1.3 平面几何投影
? 投影变换 就是把三维立体 ( 或物体 ) 投射到投影面
上得到二维平面图形 。
? 平面几何投影 主要指平行投影, 透视投影以及
通过这些投影变换而得到的三维立体的常用平
面图形:三视图, 轴测图 。
? 观察投影 是指在观察空间下进行的图形投影变
换 。
2013-3-1 华中理工大学计算机学院 陆枫
99-7
5
? 投影中心, 投影面, 投影线,
B
A
A'
B'
投影线
投影中心
线段
B
AA'
B'
投影线
投影中心在
无穷远处
线
段
( a ) 透视投影 ( b ) 平行投影
图7-1 线 段AB的 平面几何投影
2013-3-1 华中理工大学计算机学院 陆枫
99-7
6
平面几何投影可分为两大类,
? 透视投影 的投影中心到投影面之间的距离是有限的
? 平行投影 的投影中心到投影面之间的距离是无限的
S S S
( a ) 透视投影 ( b ) 正投影 ( c ) 斜投影
图7-2 平 面几何投影分为透视投影和平行投影
2013-3-1 华中理工大学计算机学院 陆枫
99-7
7
平面几何投影
平行投影
透视投影
正投影
斜投影
三视图
正轴测
斜等测
斜二测
正等测
正二测
正三测
主视图
侧视图
俯视图
一点透视
二点透视
三点透视
图7 - 3 平面几何投影的分类
7.1.4 观察投影
观察空间的定义
用户坐标系到
观察坐标系的转换
规范化投影变换
三维裁剪
正投影
二维变换输出
裁剪后的三维形体
用户坐标系中的几何形体
观察坐标系中的三维形体
规范化观察空间中的三维形体
二维坐标系下的图形
输出设备上的图形
2013-3-1 华中理工大学计算机学院 陆枫
99-7
9
7.2 三维几何变换
? ? ? ?
?
?
?
?
?
?
?
?
?
?
?
?
?????
snml
rjih
qfed
pcba
zyxTpzyxp
D
11''''
3
2013-3-1 华中理工大学计算机学院 陆枫
99-7
10
7.2.1 三维基本几何变换
? 三维基本几何变换都是相对于坐标原点和坐标轴
进行的几何变换
? 假设三维形体变换前一点为 p(x,y,z),变换后为
p'(x',y',z')。
2013-3-1 华中理工大学计算机学院 陆枫
99-7
11
1,平移变换
Z
Y
X
(
x
,
y
,
z
) (
x
',
y
',
z
')
图7- 5 平 移变换
?
?
?
?
?
?
?
?
?
?
?
?
?
1
0100
0010
0001
TzTyTx
T
t
2013-3-1 华中理工大学计算机学院 陆枫
99-7
12
2,比例变换
(1)局部比例变换
?
?
?
?
?
?
?
?
?
?
?
?
?
1000
000
000
000
j
e
a
T
s
2013-3-1 华中理工大学计算机学院 陆枫
99-7
13
例子,对如图 7-6所示的长方形体进行比例变换, 其中
a=1/2,e=1/3,j=1/2,求变换后的长方形体各点坐标 。
y
z
x
y
z
x
A
B C
D
E
F G
H
图7-6 比 例变换
2
2
3
1
1
1
2013-3-1 华中理工大学计算机学院 陆枫
99-7
14
(2)整体比例变换
?
?
?
?
?
?
?
?
?
?
?
?
?
s
T
S
000
0100
0010
0001
2013-3-1 华中理工大学计算机学院 陆枫
99-7
15
3,旋转变换
z
y
X
图7-7 旋 转变换的角度方向
2013-3-1 华中理工大学计算机学院 陆枫
99-7
16
(1)绕 z轴旋转
?
?
?
?
?
?
?
?
?
?
?
?
?
?
1000
0100
00c o ss in
00s inc o s
??
??
RZ
T
z
y
X
2013-3-1 华中理工大学计算机学院 陆枫
99-7
17
(2)绕 x轴旋转
z
y
X
?
?
?
?
?
?
?
?
?
?
?
?
?
?
1000
0c o ss in0
0s inc o s0
0001
??
??
RX
T
2013-3-1 华中理工大学计算机学院 陆枫
99-7
18
(3)绕 y轴旋转
z
y
X
?
?
?
?
?
?
?
?
?
?
?
? ?
?
1000
0c o s0s in
0010
0s in0c o s
??
??
RY
T
2013-3-1 华中理工大学计算机学院 陆枫
99-7
19
4,对称变换
(1)关于坐标平面对称
关于 xoy平面进行对称变换的矩阵计算形式为,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
1000
0100
0010
0001
F x y
T
2013-3-1 华中理工大学计算机学院 陆枫
99-7
20
关于 yoz平面的对称变换为,
?
?
?
?
?
?
?
?
?
?
?
? ?
?
1000
0100
0010
0001
F y z
T
2013-3-1 华中理工大学计算机学院 陆枫
99-7
21
关于 zox平面的对称变换为,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
1000
0100
0010
0001
F z x
T
2013-3-1 华中理工大学计算机学院 陆枫
99-7
22
(2)关于坐标轴对称变换
关于 x轴进行对称变换的矩阵计算形式为,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
1000
0100
0010
0001
Fx
T
2013-3-1 华中理工大学计算机学院 陆枫
99-7
23
关于 y轴的对称变换为,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
1000
0100
0010
0001
Fy
T
2013-3-1 华中理工大学计算机学院 陆枫
99-7
24
关于 z轴的对称变换为,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
1000
0100
0010
0001
Fz
T
2013-3-1 华中理工大学计算机学院 陆枫
99-7
25
5,错切变换
?
?
?
?
?
?
?
?
?
?
?
?
?
1000
01
01
01
hg
fd
cb
T
SH
2013-3-1 华中理工大学计算机学院 陆枫
99-7
26
(1)沿 x方向错切
?
?
?
?
?
?
?
?
?
?
?
?
?
1000
010
001
0001
g
d
T
S H x
2013-3-1 华中理工大学计算机学院 陆枫
99-7
27
(2)沿 y方向错切
?
?
?
?
?
?
?
?
?
?
?
?
?
1000
010
0010
001
h
b
T
S H y
2013-3-1 华中理工大学计算机学院 陆枫
99-7
28
(3)沿 z方向错切
?
?
?
?
?
?
?
?
?
?
?
?
?
1000
0100
010
001
f
c
T
S H z
2013-3-1 华中理工大学计算机学院 陆枫
99-7
29
6,逆变换
所谓 逆变换 即是与上述变换过程的相反的变换
(1)平移的逆变换
?
?
?
?
?
?
?
?
?
?
?
?
?
?
???
?
?
1
0100
0010
0001
1
zyx
t
TTT
T
2013-3-1 华中理工大学计算机学院 陆枫
99-7
30
(2)比例的逆变换
局部比例变换的逆变换矩阵为,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
1000
0
1
00
00
1
0
000
1
1
i
e
a
T
s
2013-3-1 华中理工大学计算机学院 陆枫
99-7
31
整体比例变换的逆变换矩阵为,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
s
T
S
1
000
0100
0010
0001
1
2013-3-1 华中理工大学计算机学院 陆枫
99-7
32
(3)旋转的逆变换
?
?
?
?
?
?
?
?
?
?
?
? ?
?
?
?
?
?
?
?
?
?
?
?
?
?
???
??
?
?
1000
0100
00c o ss in
00s inc o s
1000
0100
00)c o s ()s in (
00)s in ()c o s (
1
??
??
??
??
RZ
T
2013-3-1 华中理工大学计算机学院 陆枫
99-7
33
7.2.2 三维复合变换
? 三维复合变换 是指图形作一次以上的变换, 变换
结果是每次变换矩阵相乘 。
)1( )(' 321 ???????? nTTTTPTPP n?
2013-3-1 华中理工大学计算机学院 陆枫
99-7
34
1,相对任一参考点的三维变换
相对于参考点 F(xf,yf,zf)作比例, 旋转, 错切等变换的
过程分为以下三步,
(1)将参考点 F移至坐标原点
(2)针对原点进行二维几何变换
(3)进行反平移
2013-3-1 华中理工大学计算机学院 陆枫
99-7
35
(
x
',
y
',
z
')
z
y
x
z
y
x
(
x
',
y
',
z
')
z
y
x
(
x
',
y
',
z
')
z
y
(
x
',
y
',
z
')
x
F F
图7 - 8 相对参考点F 的比例变换
(a )原 图 (b )移 至坐标原点 (c )基 本比例变换 (d )移 回F点 原来位置
例,相对于 F(xf,yf,zf)点进行比例变换
2013-3-1 华中理工大学计算机学院 陆枫
99-7
36
2,绕任意轴的三维旋转变换
问题,如何求出为 TRAB。
X
Y
Z
A
B
P'
P
θ
图7 - 9 P 点绕A B 轴旋转
RA BTzyxzyx ?? ]1[]1'''[
2013-3-1 华中理工大学计算机学院 陆枫
99-7
37
分析,
111 ????
tARxRyRzRyRxtAR A B TTTTTTTT
x'
z'
y'
B(a,b,c)
B'
v
c
E
bO'
x'
z'
y'
B(a,b,c)
v
O'
v
a
a
a
B'
?
?
图7- 10 O 'A 经两次旋转与Z' 轴重合
(a) (b)
D
c
2013-3-1 华中理工大学计算机学院 陆枫
99-7
38
公式推导,
(1) 将坐标原点平移到 A点
(2) 将 O'BB'绕 x'轴逆时针旋转 α角, 则 O'B旋转到 x'o'z'平面上
(3) 将 O'B绕 y'轴顺时针旋转 β角, 则 O'B旋转到 z'轴上 。
(4) 经以上三步变换后, AB轴与 z'轴重合, 此时绕 AB轴的旋转转换
为绕 z轴的旋转 。
(5) 最后, 求 TtA,TRx,TRy的逆变换, 回到 AB原来的位置 。
x'
z'
y'
B(a,b,c)
B'
v
c
E
bO'
x'
z'
y'
B(a,b,c)
v
O'
v
a
a
a
B'
?
?
图7- 10 O 'A 经两次旋转与Z' 轴重合
(a) (b)
D
c
2013-3-1 华中理工大学计算机学院 陆枫
99-7
39
类似地, 针对任意方向轴的变换可用五个步骤来完成,
(1)使任意方向轴的起点与坐标原点重合, 此时进行平
移变换 。
(2)使方向轴与某一坐标轴重合, 此时需进行旋转变换,
且旋转变换可能不止一次 。
(3)针对该坐标轴完成变换 。
(4)用逆旋转变换使方向轴回到其原始方向 。
(5)用逆平移变换使方向轴回到其原始位置 。
2013-3-1 华中理工大学计算机学院 陆枫
99-7
40
7.3 平行投影
? 平行投影可分成两类:正投影和斜投影 。
投影方向
投影平面
投影平
面法向
投影方向
投影平面
(a) 正投影 (b) 斜投影
7 - 1 1 平行投影
投影平
面法向 ?
7.3.1 正投影 ? 正投影又可分为:三视图和正轴测 。
? 当投影面与某一坐标轴垂直时, 得到的投影为 三视
图 ;否则, 得到的投影为 正轴测图 。
投影方向
投影平面
( a ) 三视图 ( b ) 正轴测
7-12 正 投影
x
z
y
O
投影平面
投影方向
z
x
y
2013-3-1 华中理工大学计算机学院 陆枫
99-7
42
三视图,
? 三视图包括主视图, 侧视图和俯视图三种, 投影面
分别与 X轴, Y轴和 Z轴垂直 。
x
z
yO
Z
YX
Y
主视图
俯视图
侧视图
7- 13 三维形体及其三视图
2013-3-1 华中理工大学计算机学院 陆枫
99-7
43
正轴测图
? 正轴测有等轴测, 正二测和正三测三种 。
? 当投影面与三个坐标轴之间的夹角都相等时为 等轴
测 ;
? 当投影面与两个坐标轴之间的夹角相等时为 正二测 ;
? 当投影面与三个坐标轴之间的夹角都不相等时为 正
三测 。
2013-3-1 华中理工大学计算机学院 陆枫
99-7
44
x
z
y
O
x
z
y
O
x
z
y
O
x
z
y
O
x
z
y
O
x
z
y
O
(a) 等轴测 (b) 正二测 (c) 正三测
图7- 1 4 正轴测投影面及一个立方体的正轴测投影图
投影平面 投影平面 投影平面
2013-3-1 华中理工大学计算机学院 陆枫
99-7
45
1,三视图
计算步骤,
(1) 确定三维形体上各点的位置坐标
(2) 引入齐次坐标, 求出所作变换相应的变换矩阵
(3) 将所作变换用矩阵表示, 通过运算求得三维形体
上各点 (x,y,z)经变换后的相应点 (x',y')或 (y',z')
(4) 由变换后的所有二维点绘出三维形体投影后的三
视图 。
2013-3-1 华中理工大学计算机学院 陆枫
99-7
46
2,主视图
? 将三维形体向 xoz面 ( 又称 V面 ) 作垂直投影 ( 即
正平行投影 ), 得到主视图 。
x
z
yO
Z
YX
Y
主视图
俯视图
侧视图
7- 13 三维形体及其三视图
2013-3-1 华中理工大学计算机学院 陆枫
99-7
47
3,俯视图
三维形体向 xoy面 ( 又称 H面 ) 作垂直投影得到俯视图,
(1) 投影变换
(2)使 H面绕 x轴负转 90°
(3)使 H面沿 z方向平移一段距离 -z0
x
z
yO
Z
YX
Y
主视图
俯视图
侧视图
7- 13 三维形体及其三视图
2013-3-1 华中理工大学计算机学院 陆枫
99-7
48
4,侧视图
获得侧视图是将三维形体往 yoz面 ( 侧面 W) 作垂直投影 。
(1) 侧视图的投影变换
(2)使 W面绕 z轴正转 90°
(3)使 W面沿负 x方向平移一段距离 x0
x
z
yO
Z
YX
Y
主视图
俯视图
侧视图
7- 13 三维形体及其三视图
2013-3-1 华中理工大学计算机学院 陆枫
99-7
49
5,正轴测图的投影变换矩阵
分析,
x
z
y
O
A
B
C
D
E
α
α
F
图7- 1 5 正轴测图的形成
?
2013-3-1 华中理工大学计算机学院 陆枫
99-7
50
公式推导,
(1) 先绕 y轴顺时针旋转 α角
(2) 再绕 x轴逆时针旋转 β角
(3) 将三维形体向 xoy平面作正投影
最后得到正轴测图的投影变换矩阵
?
?
?
?
?
?
?
?
?
?
?
?
???
??
????
1000
00s inc o ss in
00c o s0
00c o ss inc o s
???
?
???
TTTT
RxRy
2013-3-1 华中理工大学计算机学院 陆枫
99-7
51
6,正等测图
分析,
x
z
y
O
A
B
C
D
E
α
α
F
图7- 1 5 正轴测图的形成
?
2013-3-1 华中理工大学计算机学院 陆枫
99-7
52
公式推导,
将 α和 β的值代入 (7-1)式得到正等测图的投影变换
矩阵,
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
1000
004 0 8 2.07 0 7 1.0
008 1 6 5.00
004 0 8 2.07 0 7 1.0
1000
00
6
6
2
2
00
3
6
0
00
6
6
2
2
T
2013-3-1 华中理工大学计算机学院 陆枫
99-7
53
7,正二测图
分析,
x
z
y
O
A
B
C
D
E
α
α
F
图7- 1 5 正轴测图的形成
?
2013-3-1 华中理工大学计算机学院 陆枫
99-7
54
将 α值代入 (7-1)式得到正二测图的投影变换矩阵,
特点分析,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
1000
00s i n
2
2
2
2
00c o s0
00s i n
2
2
2
2
?
?
?
T
2013-3-1 华中理工大学计算机学院 陆枫
99-7
55
7.3.2 斜投影
? 斜投影图, 即斜轴测图, 是将三维形体向一个单
一的投影面作平行投影, 但投影方向不垂直于投
影面所得到的平面图形 。
? 常用的斜轴测图有斜等测图和斜二测图 。
2013-3-1 华中理工大学计算机学院 陆枫
99-7
56
投影平
面法向
投影方向
投影平面
(a) 斜等测 (b) 斜二测
7- 16 斜平行投影
?
p
O
p'
投影方向
投影平面
?
p
O
p'
投影平
面法向
2013-3-1 华中理工大学计算机学院 陆枫
99-7
57
斜轴测图的形成
y
z
x
p(0,0,z p )
p'(x p',y p',0 )
投影平面
投影方向
?
?
m
7 - 1 7 斜平行投影的形成
o
y
z
x
投影平面
?
?
m
o
(b)q点为空间任意一点(a)p点在z轴上
q(x q,y q,z q )
y q
x q
y q
x q
q'(x q',y q',0 )
z q
通常 β=30?取 30°或 45°。
2013-3-1 华中理工大学计算机学院 陆枫
99-7
58
斜平行投影的投影变换矩阵为,
?
?
?
?
?
?
?
?
?
?
?
?
?
1000
00s inc o s
0010
0001
???? c tgc tg
T
对于斜等测图有,α=45?,ctgα=1
斜二测图则有,α=arctg(2),ctgα=1/2
2013-3-1 华中理工大学计算机学院 陆枫
99-7
59
对于斜等测图有,α=45?,ctgα=1
斜二测图则有,α=arctg(2),ctgα=1/2
投影平
面法向
投影方向
投影平面
(a) 斜等测 (b) 斜二测
7- 16 斜平行投影
?
p
O
p'
投影方向
投影平面
?
p
O
p'
投影平
面法向
2013-3-1 华中理工大学计算机学院 陆枫
99-7
60
x
z
y
x
z
y
x
z
y
?? 45?
?? 30?
x
z
y
?? 30??? 45?
1
1 1
1
1
1/2
1
1/2
( a ) 斜等测 ( b ) 斜二测
7-18 单 位立方体的斜平行投影
2013-3-1 华中理工大学计算机学院 陆枫
99-7
61
7.4 透视投影
分析,
y
z
x
p(x,y,z)
d
p'(x',y',z')
o
图7- 1 9 点的一点透视
2013-3-1 华中理工大学计算机学院 陆枫
99-7
62
? ? ? ?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
1000
1
100
0010
0001
11'''
d
zyxzyx
? ? ? ?
?
?
?
?
?
?
?
?
?
?
?
?
???
1000
100
0010
0001
11'''
r
zyxzyx
2013-3-1 华中理工大学计算机学院 陆枫
99-7
63
灭点,
? 不平行于投影面的平行线的投影会汇聚到一个点, 这个
点称为 灭点 (Vanishing Point)。
? 坐标轴方向的平行线在投影面上形成的灭点称作 主灭点 。
? 一点透视 有一个主灭点, 即投影面与一个坐标轴正交,
与另外两个坐标轴平行 。
? 两点透视 有两个主灭点, 即投影面与两个坐标轴相交,
与另一个坐标轴平行 。
? 三点透视 有三个主灭点, 即投影面与三个坐标轴都相交 。
2013-3-1 华中理工大学计算机学院 陆枫
99-7
64
7- 20 透视投影
灭点
灭点
灭点
灭点
(a) 一点透视 (b) 二点透视 (c) 三点透视
灭点
灭点
2013-3-1 华中理工大学计算机学院 陆枫
99-7
65
7.4.1 一点透视
分析,
要考虑下列几点,
(1)三维形体与画面 ( 投影面 ) 的相对位置;
(2)视距, 即视点 ( 投影中心 ) 与画面的距离;
(3)视点的高度 。
2013-3-1 华中理工大学计算机学院 陆枫
99-7
66
假定视点 ( 投影中心 ) 在原点, 画面 ( 投影面 ) 与 z轴
垂直 ( z=d) 。
一点透视的步骤,
(1)将三维形体平移到适当位置 l,m,n;
(2)令视点在 z轴, 利用公式 (7-2)进行透视变换;
(3)最后, 为了绘制的方便, 向 xoy平面作正投影变换,
将结果变换到 xoy平面上 。
2013-3-1 华中理工大学计算机学院 陆枫
99-7
67
例:试绘制如图 7-21(a)所示的单位立方体的一点透视图 。
x
y
z
1
1
1
A B
CD
E F
GH
图7 - 2 1 单位立方体的一点透视
(a)单位立方体
x
y
0.5 1.0 1.5
0.5
1.0
1.5
A' B'
C'D'
H'
F'E'
G'
(b)一点透视图
2013-3-1 华中理工大学计算机学院 陆枫
99-7
68
7.4.2 二点透视
可以这样来构造二点透视的一般步骤,
(1)先将三维形体平移到适当位置, 使视点有一定
高度, 且使形体的主要表面不会积聚成线;
(2)将形体绕 y轴旋转一个 φ角 (φ< 90?),方向满足
右手定则;
(3)进行透视变换
(4)最后向 xoy面作正投影, 即得二点透视图 。
2013-3-1 华中理工大学计算机学院 陆枫
99-7
69
例:试绘制上例 ( 图 7-21(a)) 中的单位立方体的二
点透视图 。
x
y
1.0 2.0 3.0
1.0
2.0
3.0
A' B'
D'
H'
F'
E'
G'
C'
图7-22 单 位立方体的二点透视
2013-3-1 华中理工大学计算机学院 陆枫
99-7
70
7.4.3 三点透视
同样可以简单的构造三点透视图,
(1)首先将三维形体平移到适当位置;
(2)将形体进行透视变换
(3)然后使形体先绕 y轴旋转 φ角;
(4)再绕 x轴旋转 θ角;
(5)将变形且旋转后的形体向 xoy面作正投影 。
2013-3-1 华中理工大学计算机学院 陆枫
99-7
71
7.5 观察坐标系及观察空间
7.5.1 观察坐标系
x
y
z
x v
y v
z v
p o (x o,y o,z o )
图7- 23 用户坐标系与观察坐标系
? 观察参考坐标系 ( View Reference Coordinate)
? 观察参考点 ( View Reference Point)
2013-3-1 华中理工大学计算机学院 陆枫
99-7
72
? 观察平面 ( View Plane), 即投影平面 。
图7 - 2 6 沿z v 轴的观察平面
z v
y v
x v
2013-3-1 华中理工大学计算机学院 陆枫
99-7
73
? 观察坐标系 ( uvn坐标系 ) 的建立
? 法矢量 N,法矢量 V,法矢量 U
x
y
z
x v
y v
z v
p o
图7- 2 4 法矢量N的定义
p
N
p o
N
V
V'
图7- 2 5 法矢量V的定义
2013-3-1 华中理工大学计算机学院 陆枫
99-7
74
7.5.2 观察空间
? 观察窗口,
图7 - 2 7 观察窗口
z v
y v
x v
x w min,yw min
x w max,yw max
观察
窗口
观察平面
2013-3-1 华中理工大学计算机学院 陆枫
99-7
75
? 观察空间, 无限观察空间, 有限观察空间
图7 - 2 8 正投影的观察空间
z v
y v
x v
(a) 无限观察空间 (b) 有限观察空间
y v
x v
投影
方向投影
方向
观察
窗口
z v 前截面
后截面
观察
窗口
2013-3-1 华中理工大学计算机学院 陆枫
99-7
76
z v
y v
x v
z v
y v
x v
投影
方向
图7- 2 9 斜投影的观察空间
(a) 无限观察空间 (b) 有限观察空间
投影
方向
观察
窗口
观察
窗口
前截面
后截面
2013-3-1 华中理工大学计算机学院 陆枫
99-7
77
需注意, 对于透视投影, 前截面必须在投影中心和后
截面之间 。
z v
y v
x v
图7- 30 透视投影的观察空间
观察
窗口
z v
y v
x v
(a ) 无 限观察空间 (b ) 有 限观察空间
前截面
后截面
投影中心 投影中心
观察
窗口
2013-3-1 华中理工大学计算机学院 陆枫
99-7
78
? 观察平面和前后截面的有关位置取决于要生成的
窗口类型及特殊图形包的限制
后截面
观察平面
前截面
z v
观察平面
后截面
前截面
z v
后截面=
观察平面
前截面
z v
图7 - 3 1 观察平面及前后截面的位置安排
(a) (b) (c)
2013-3-1 华中理工大学计算机学院 陆枫
99-7
79
观察平面
观察窗口
投影中心
z v
观察窗口
v p
观察平面
图7 - 3 2 观察平面的移动改变
斜投影观察空间形状
观察平面
观察窗口
投影中心
投影中心
投影中心
图7 - 3 3 投影中心的移动改变
透视影观察空间形状
z v
2013-3-1 华中理工大学计算机学院 陆枫
99-7
80
规范化观察空间
? 平行投影的规范化观察空间
定义为,
1,0
1,1
1,1
??
???
???
vv
vv
vv
zz
yy
xx
y v
x v
z v
(1,1,1)
( a ) 平行投影的规范化观察空间
后截面
观察平面
前截面
z v
x v oy v
平面
(-1,-1,0)
-1
1
1
2013-3-1 华中理工大学计算机学院 陆枫
99-7
81
? 透视投影的规范化观察空间为,
1,
,
,
m i n
??
???
???
vv
vvvv
vvvv
zzz
zyzy
zxzx
( b ) 透视投影的规范化观察空间
y v
x v
z v
(1,1,1)
后截面
观察平面
前截面
z v
x v oy v
平面
(-1,-1,z min )
-1
1
1
z min
2013-3-1 华中理工大学计算机学院 陆枫
99-7
82
7.6 三维观察流程
三
维
裁
剪
正
投
影
在图形
设备上
输出
设
备
坐
标
用户坐
标系到
观察坐
标系间
的变换
应用
程序
到图
形的
用户
坐标
图7- 35 三维观察流程
用户
坐标
规范
化投
影变
换
二
维
变
换
输
出
观察
坐标
规范化
投影
坐标
规范化
投影
坐标
规范化
二维
坐标
2013-3-1 华中理工大学计算机学院 陆枫
99-7
83
7.6.1 用户坐标系到观察坐标系的变换
具体变换步骤,
(1) 平移观察参考点到用户坐标系原点
(2) 进行旋转变换分别让 xv,yv和 zv轴对应到用户
坐标系中的 x,y和 z轴 。
2013-3-1 华中理工大学计算机学院 陆枫
99-7
84
x
y
z
x v
y v
p o (x o,y o,z o )
(a) 用 户坐标系与观察坐标系
x
y
z
x v
y v
z v
o
(b) 平移观察坐标系
x
y
z
x v
y v
z v
o
(c) 旋转观察坐标系
7.6.2 平行投影的规范化投影变换
分析,
y v
x v
z v
(1,1,1)
(-1,-1,0)
( b ) 有限观察空间
y v
x v
投影
方向
观察
窗口
z v 前截面
后截面
z v
y v
x v
投影
方向
(b ) 有 限观察空间
观察
窗口
前截面
后截面
2013-3-1 华中理工大学计算机学院 陆枫
99-7
86
平行投影的规范化投影变换可由以下三步组成 。
(1)将投影中心平移到观察坐标系原点 。
( a ) 平移变换
后截面
观察平面
前截面
z v
x v oy v
平面
投影方向
窗口中心
2013-3-1 华中理工大学计算机学院 陆枫
99-7
87
(2)对坐标系进行错切变换, 使投影中心和窗口中
心的连线错切到 zv轴
后截面
观察平面
前截面
z v
x v oy v
平面
窗口中心
(b) 错切 变换
2013-3-1 华中理工大学计算机学院 陆枫
99-7
88
(3)进行坐标的归一化变换
(a) 平 行投影的规范化观察空间
后截面
观察平面
前截面
z v
x v oy v
平面
-1
1
1
后截面
观察平面
前截面
z v
x v oy v
平面
窗口中心
(b) 错切 变换
2013-3-1 华中理工大学计算机学院 陆枫
99-7
89
7.6.3 透视投影的规范化投影变换
分析,透视投影的规范化投影变换分两步进行
(1)
z v
y v
x v
(b) 有 限观察空间
前截面
后截面
投影中心
观察
窗口
y v
x v
z v
(1,1,1)
(-1,-1,z min )
2013-3-1 华中理工大学计算机学院 陆枫
99-7
90
(2)
y v
x v
z v
(1,1,1)
(-1,-1,z min )
y v
x v
z v
(1,1,1)
(-1,-1,0)
2013-3-1 华中理工大学计算机学院 陆枫
99-7
91
变换步骤,
(1)将投影中心平移到观察坐标系原点
(2)对坐标系进行错切变换
图7 - 3 8 透视投影的规范化投影变换步骤( 1 ) ( 2 )
后截面
观察平面
前截面
z v
x v oy v
平面
窗口中心
后截面
观察平面
前截面
z v
x v oy v
平面
窗口中心
(a) 平移变换 (b) 错切变换
2013-3-1 华中理工大学计算机学院 陆枫
99-7
92
(3) 进行比例变换 。
(4) 将图 7-34(b)所示的透视投影的规范化观察空间
变换为图 7-34(a)的平行投影的规范化观察空间 。
图7-39 规 范化投影变换的透视变换
灭点( a ) 变换前
( b ) 变换后
后截面
前截面
z v
x v oy v
平面
-1
1
1
z min
后截面
前截面
z v
x v oy v
平面
-1
1
1
2013-3-1 华中理工大学计算机学院 陆枫
99-7
93
7.7 三维裁剪
三维裁剪
? 三维裁剪保留所有在观察空间内的图形以便在
输出设备中显示, 所有在观察空间外的图形被
丢弃 。
? 三维直线段的裁剪
? 多边形面的裁剪
2013-3-1 华中理工大学计算机学院 陆枫
99-7
94
四维齐次坐标表示的图形裁剪,
? 一是将齐次坐标转换为三维坐标, 在三维空间
中关于规范化观察空间剪裁 ;
? 一是直接在齐次坐标空间中进行裁剪 。
7.7.1 关于规范化观察空间的裁剪
7.7.2 齐次坐标空间的裁剪
2013-3-1 华中理工大学计算机学院 陆枫
99-7
95
习题
?
99-7
1
第 7章 三维变换及三维观察
提出问题
? 如何对三维图形进行方向, 尺寸和形状方面的变换
? 如何进行投影变换
? 如何方便地实现在显示设备上对三维图形进行观察
2013-3-1 华中理工大学计算机学院 陆枫
99-7
2
7.1 三维变换的基本概念
7.1.1 三维齐次坐标变换矩阵
?
?
?
?
?
?
?
?
?
?
?
?
?
snml
rihg
qfed
pcba
T
D3
2013-3-1 华中理工大学计算机学院 陆枫
99-7
3
7.1.2 几何变换
? 图形的几何变换 是指对图形的几何信息经过平
移, 比例, 旋转等变换后产生新的图形 。
? 点的矩阵变换
? 线框图的变换
? 用参数方程描述的图形的变换
2013-3-1 华中理工大学计算机学院 陆枫
99-7
4
7.1.3 平面几何投影
? 投影变换 就是把三维立体 ( 或物体 ) 投射到投影面
上得到二维平面图形 。
? 平面几何投影 主要指平行投影, 透视投影以及
通过这些投影变换而得到的三维立体的常用平
面图形:三视图, 轴测图 。
? 观察投影 是指在观察空间下进行的图形投影变
换 。
2013-3-1 华中理工大学计算机学院 陆枫
99-7
5
? 投影中心, 投影面, 投影线,
B
A
A'
B'
投影线
投影中心
线段
B
AA'
B'
投影线
投影中心在
无穷远处
线
段
( a ) 透视投影 ( b ) 平行投影
图7-1 线 段AB的 平面几何投影
2013-3-1 华中理工大学计算机学院 陆枫
99-7
6
平面几何投影可分为两大类,
? 透视投影 的投影中心到投影面之间的距离是有限的
? 平行投影 的投影中心到投影面之间的距离是无限的
S S S
( a ) 透视投影 ( b ) 正投影 ( c ) 斜投影
图7-2 平 面几何投影分为透视投影和平行投影
2013-3-1 华中理工大学计算机学院 陆枫
99-7
7
平面几何投影
平行投影
透视投影
正投影
斜投影
三视图
正轴测
斜等测
斜二测
正等测
正二测
正三测
主视图
侧视图
俯视图
一点透视
二点透视
三点透视
图7 - 3 平面几何投影的分类
7.1.4 观察投影
观察空间的定义
用户坐标系到
观察坐标系的转换
规范化投影变换
三维裁剪
正投影
二维变换输出
裁剪后的三维形体
用户坐标系中的几何形体
观察坐标系中的三维形体
规范化观察空间中的三维形体
二维坐标系下的图形
输出设备上的图形
2013-3-1 华中理工大学计算机学院 陆枫
99-7
9
7.2 三维几何变换
? ? ? ?
?
?
?
?
?
?
?
?
?
?
?
?
?????
snml
rjih
qfed
pcba
zyxTpzyxp
D
11''''
3
2013-3-1 华中理工大学计算机学院 陆枫
99-7
10
7.2.1 三维基本几何变换
? 三维基本几何变换都是相对于坐标原点和坐标轴
进行的几何变换
? 假设三维形体变换前一点为 p(x,y,z),变换后为
p'(x',y',z')。
2013-3-1 华中理工大学计算机学院 陆枫
99-7
11
1,平移变换
Z
Y
X
(
x
,
y
,
z
) (
x
',
y
',
z
')
图7- 5 平 移变换
?
?
?
?
?
?
?
?
?
?
?
?
?
1
0100
0010
0001
TzTyTx
T
t
2013-3-1 华中理工大学计算机学院 陆枫
99-7
12
2,比例变换
(1)局部比例变换
?
?
?
?
?
?
?
?
?
?
?
?
?
1000
000
000
000
j
e
a
T
s
2013-3-1 华中理工大学计算机学院 陆枫
99-7
13
例子,对如图 7-6所示的长方形体进行比例变换, 其中
a=1/2,e=1/3,j=1/2,求变换后的长方形体各点坐标 。
y
z
x
y
z
x
A
B C
D
E
F G
H
图7-6 比 例变换
2
2
3
1
1
1
2013-3-1 华中理工大学计算机学院 陆枫
99-7
14
(2)整体比例变换
?
?
?
?
?
?
?
?
?
?
?
?
?
s
T
S
000
0100
0010
0001
2013-3-1 华中理工大学计算机学院 陆枫
99-7
15
3,旋转变换
z
y
X
图7-7 旋 转变换的角度方向
2013-3-1 华中理工大学计算机学院 陆枫
99-7
16
(1)绕 z轴旋转
?
?
?
?
?
?
?
?
?
?
?
?
?
?
1000
0100
00c o ss in
00s inc o s
??
??
RZ
T
z
y
X
2013-3-1 华中理工大学计算机学院 陆枫
99-7
17
(2)绕 x轴旋转
z
y
X
?
?
?
?
?
?
?
?
?
?
?
?
?
?
1000
0c o ss in0
0s inc o s0
0001
??
??
RX
T
2013-3-1 华中理工大学计算机学院 陆枫
99-7
18
(3)绕 y轴旋转
z
y
X
?
?
?
?
?
?
?
?
?
?
?
? ?
?
1000
0c o s0s in
0010
0s in0c o s
??
??
RY
T
2013-3-1 华中理工大学计算机学院 陆枫
99-7
19
4,对称变换
(1)关于坐标平面对称
关于 xoy平面进行对称变换的矩阵计算形式为,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
1000
0100
0010
0001
F x y
T
2013-3-1 华中理工大学计算机学院 陆枫
99-7
20
关于 yoz平面的对称变换为,
?
?
?
?
?
?
?
?
?
?
?
? ?
?
1000
0100
0010
0001
F y z
T
2013-3-1 华中理工大学计算机学院 陆枫
99-7
21
关于 zox平面的对称变换为,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
1000
0100
0010
0001
F z x
T
2013-3-1 华中理工大学计算机学院 陆枫
99-7
22
(2)关于坐标轴对称变换
关于 x轴进行对称变换的矩阵计算形式为,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
1000
0100
0010
0001
Fx
T
2013-3-1 华中理工大学计算机学院 陆枫
99-7
23
关于 y轴的对称变换为,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
1000
0100
0010
0001
Fy
T
2013-3-1 华中理工大学计算机学院 陆枫
99-7
24
关于 z轴的对称变换为,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
1000
0100
0010
0001
Fz
T
2013-3-1 华中理工大学计算机学院 陆枫
99-7
25
5,错切变换
?
?
?
?
?
?
?
?
?
?
?
?
?
1000
01
01
01
hg
fd
cb
T
SH
2013-3-1 华中理工大学计算机学院 陆枫
99-7
26
(1)沿 x方向错切
?
?
?
?
?
?
?
?
?
?
?
?
?
1000
010
001
0001
g
d
T
S H x
2013-3-1 华中理工大学计算机学院 陆枫
99-7
27
(2)沿 y方向错切
?
?
?
?
?
?
?
?
?
?
?
?
?
1000
010
0010
001
h
b
T
S H y
2013-3-1 华中理工大学计算机学院 陆枫
99-7
28
(3)沿 z方向错切
?
?
?
?
?
?
?
?
?
?
?
?
?
1000
0100
010
001
f
c
T
S H z
2013-3-1 华中理工大学计算机学院 陆枫
99-7
29
6,逆变换
所谓 逆变换 即是与上述变换过程的相反的变换
(1)平移的逆变换
?
?
?
?
?
?
?
?
?
?
?
?
?
?
???
?
?
1
0100
0010
0001
1
zyx
t
TTT
T
2013-3-1 华中理工大学计算机学院 陆枫
99-7
30
(2)比例的逆变换
局部比例变换的逆变换矩阵为,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
1000
0
1
00
00
1
0
000
1
1
i
e
a
T
s
2013-3-1 华中理工大学计算机学院 陆枫
99-7
31
整体比例变换的逆变换矩阵为,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
s
T
S
1
000
0100
0010
0001
1
2013-3-1 华中理工大学计算机学院 陆枫
99-7
32
(3)旋转的逆变换
?
?
?
?
?
?
?
?
?
?
?
? ?
?
?
?
?
?
?
?
?
?
?
?
?
?
???
??
?
?
1000
0100
00c o ss in
00s inc o s
1000
0100
00)c o s ()s in (
00)s in ()c o s (
1
??
??
??
??
RZ
T
2013-3-1 华中理工大学计算机学院 陆枫
99-7
33
7.2.2 三维复合变换
? 三维复合变换 是指图形作一次以上的变换, 变换
结果是每次变换矩阵相乘 。
)1( )(' 321 ???????? nTTTTPTPP n?
2013-3-1 华中理工大学计算机学院 陆枫
99-7
34
1,相对任一参考点的三维变换
相对于参考点 F(xf,yf,zf)作比例, 旋转, 错切等变换的
过程分为以下三步,
(1)将参考点 F移至坐标原点
(2)针对原点进行二维几何变换
(3)进行反平移
2013-3-1 华中理工大学计算机学院 陆枫
99-7
35
(
x
',
y
',
z
')
z
y
x
z
y
x
(
x
',
y
',
z
')
z
y
x
(
x
',
y
',
z
')
z
y
(
x
',
y
',
z
')
x
F F
图7 - 8 相对参考点F 的比例变换
(a )原 图 (b )移 至坐标原点 (c )基 本比例变换 (d )移 回F点 原来位置
例,相对于 F(xf,yf,zf)点进行比例变换
2013-3-1 华中理工大学计算机学院 陆枫
99-7
36
2,绕任意轴的三维旋转变换
问题,如何求出为 TRAB。
X
Y
Z
A
B
P'
P
θ
图7 - 9 P 点绕A B 轴旋转
RA BTzyxzyx ?? ]1[]1'''[
2013-3-1 华中理工大学计算机学院 陆枫
99-7
37
分析,
111 ????
tARxRyRzRyRxtAR A B TTTTTTTT
x'
z'
y'
B(a,b,c)
B'
v
c
E
bO'
x'
z'
y'
B(a,b,c)
v
O'
v
a
a
a
B'
?
?
图7- 10 O 'A 经两次旋转与Z' 轴重合
(a) (b)
D
c
2013-3-1 华中理工大学计算机学院 陆枫
99-7
38
公式推导,
(1) 将坐标原点平移到 A点
(2) 将 O'BB'绕 x'轴逆时针旋转 α角, 则 O'B旋转到 x'o'z'平面上
(3) 将 O'B绕 y'轴顺时针旋转 β角, 则 O'B旋转到 z'轴上 。
(4) 经以上三步变换后, AB轴与 z'轴重合, 此时绕 AB轴的旋转转换
为绕 z轴的旋转 。
(5) 最后, 求 TtA,TRx,TRy的逆变换, 回到 AB原来的位置 。
x'
z'
y'
B(a,b,c)
B'
v
c
E
bO'
x'
z'
y'
B(a,b,c)
v
O'
v
a
a
a
B'
?
?
图7- 10 O 'A 经两次旋转与Z' 轴重合
(a) (b)
D
c
2013-3-1 华中理工大学计算机学院 陆枫
99-7
39
类似地, 针对任意方向轴的变换可用五个步骤来完成,
(1)使任意方向轴的起点与坐标原点重合, 此时进行平
移变换 。
(2)使方向轴与某一坐标轴重合, 此时需进行旋转变换,
且旋转变换可能不止一次 。
(3)针对该坐标轴完成变换 。
(4)用逆旋转变换使方向轴回到其原始方向 。
(5)用逆平移变换使方向轴回到其原始位置 。
2013-3-1 华中理工大学计算机学院 陆枫
99-7
40
7.3 平行投影
? 平行投影可分成两类:正投影和斜投影 。
投影方向
投影平面
投影平
面法向
投影方向
投影平面
(a) 正投影 (b) 斜投影
7 - 1 1 平行投影
投影平
面法向 ?
7.3.1 正投影 ? 正投影又可分为:三视图和正轴测 。
? 当投影面与某一坐标轴垂直时, 得到的投影为 三视
图 ;否则, 得到的投影为 正轴测图 。
投影方向
投影平面
( a ) 三视图 ( b ) 正轴测
7-12 正 投影
x
z
y
O
投影平面
投影方向
z
x
y
2013-3-1 华中理工大学计算机学院 陆枫
99-7
42
三视图,
? 三视图包括主视图, 侧视图和俯视图三种, 投影面
分别与 X轴, Y轴和 Z轴垂直 。
x
z
yO
Z
YX
Y
主视图
俯视图
侧视图
7- 13 三维形体及其三视图
2013-3-1 华中理工大学计算机学院 陆枫
99-7
43
正轴测图
? 正轴测有等轴测, 正二测和正三测三种 。
? 当投影面与三个坐标轴之间的夹角都相等时为 等轴
测 ;
? 当投影面与两个坐标轴之间的夹角相等时为 正二测 ;
? 当投影面与三个坐标轴之间的夹角都不相等时为 正
三测 。
2013-3-1 华中理工大学计算机学院 陆枫
99-7
44
x
z
y
O
x
z
y
O
x
z
y
O
x
z
y
O
x
z
y
O
x
z
y
O
(a) 等轴测 (b) 正二测 (c) 正三测
图7- 1 4 正轴测投影面及一个立方体的正轴测投影图
投影平面 投影平面 投影平面
2013-3-1 华中理工大学计算机学院 陆枫
99-7
45
1,三视图
计算步骤,
(1) 确定三维形体上各点的位置坐标
(2) 引入齐次坐标, 求出所作变换相应的变换矩阵
(3) 将所作变换用矩阵表示, 通过运算求得三维形体
上各点 (x,y,z)经变换后的相应点 (x',y')或 (y',z')
(4) 由变换后的所有二维点绘出三维形体投影后的三
视图 。
2013-3-1 华中理工大学计算机学院 陆枫
99-7
46
2,主视图
? 将三维形体向 xoz面 ( 又称 V面 ) 作垂直投影 ( 即
正平行投影 ), 得到主视图 。
x
z
yO
Z
YX
Y
主视图
俯视图
侧视图
7- 13 三维形体及其三视图
2013-3-1 华中理工大学计算机学院 陆枫
99-7
47
3,俯视图
三维形体向 xoy面 ( 又称 H面 ) 作垂直投影得到俯视图,
(1) 投影变换
(2)使 H面绕 x轴负转 90°
(3)使 H面沿 z方向平移一段距离 -z0
x
z
yO
Z
YX
Y
主视图
俯视图
侧视图
7- 13 三维形体及其三视图
2013-3-1 华中理工大学计算机学院 陆枫
99-7
48
4,侧视图
获得侧视图是将三维形体往 yoz面 ( 侧面 W) 作垂直投影 。
(1) 侧视图的投影变换
(2)使 W面绕 z轴正转 90°
(3)使 W面沿负 x方向平移一段距离 x0
x
z
yO
Z
YX
Y
主视图
俯视图
侧视图
7- 13 三维形体及其三视图
2013-3-1 华中理工大学计算机学院 陆枫
99-7
49
5,正轴测图的投影变换矩阵
分析,
x
z
y
O
A
B
C
D
E
α
α
F
图7- 1 5 正轴测图的形成
?
2013-3-1 华中理工大学计算机学院 陆枫
99-7
50
公式推导,
(1) 先绕 y轴顺时针旋转 α角
(2) 再绕 x轴逆时针旋转 β角
(3) 将三维形体向 xoy平面作正投影
最后得到正轴测图的投影变换矩阵
?
?
?
?
?
?
?
?
?
?
?
?
???
??
????
1000
00s inc o ss in
00c o s0
00c o ss inc o s
???
?
???
TTTT
RxRy
2013-3-1 华中理工大学计算机学院 陆枫
99-7
51
6,正等测图
分析,
x
z
y
O
A
B
C
D
E
α
α
F
图7- 1 5 正轴测图的形成
?
2013-3-1 华中理工大学计算机学院 陆枫
99-7
52
公式推导,
将 α和 β的值代入 (7-1)式得到正等测图的投影变换
矩阵,
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
1000
004 0 8 2.07 0 7 1.0
008 1 6 5.00
004 0 8 2.07 0 7 1.0
1000
00
6
6
2
2
00
3
6
0
00
6
6
2
2
T
2013-3-1 华中理工大学计算机学院 陆枫
99-7
53
7,正二测图
分析,
x
z
y
O
A
B
C
D
E
α
α
F
图7- 1 5 正轴测图的形成
?
2013-3-1 华中理工大学计算机学院 陆枫
99-7
54
将 α值代入 (7-1)式得到正二测图的投影变换矩阵,
特点分析,
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
?
?
1000
00s i n
2
2
2
2
00c o s0
00s i n
2
2
2
2
?
?
?
T
2013-3-1 华中理工大学计算机学院 陆枫
99-7
55
7.3.2 斜投影
? 斜投影图, 即斜轴测图, 是将三维形体向一个单
一的投影面作平行投影, 但投影方向不垂直于投
影面所得到的平面图形 。
? 常用的斜轴测图有斜等测图和斜二测图 。
2013-3-1 华中理工大学计算机学院 陆枫
99-7
56
投影平
面法向
投影方向
投影平面
(a) 斜等测 (b) 斜二测
7- 16 斜平行投影
?
p
O
p'
投影方向
投影平面
?
p
O
p'
投影平
面法向
2013-3-1 华中理工大学计算机学院 陆枫
99-7
57
斜轴测图的形成
y
z
x
p(0,0,z p )
p'(x p',y p',0 )
投影平面
投影方向
?
?
m
7 - 1 7 斜平行投影的形成
o
y
z
x
投影平面
?
?
m
o
(b)q点为空间任意一点(a)p点在z轴上
q(x q,y q,z q )
y q
x q
y q
x q
q'(x q',y q',0 )
z q
通常 β=30?取 30°或 45°。
2013-3-1 华中理工大学计算机学院 陆枫
99-7
58
斜平行投影的投影变换矩阵为,
?
?
?
?
?
?
?
?
?
?
?
?
?
1000
00s inc o s
0010
0001
???? c tgc tg
T
对于斜等测图有,α=45?,ctgα=1
斜二测图则有,α=arctg(2),ctgα=1/2
2013-3-1 华中理工大学计算机学院 陆枫
99-7
59
对于斜等测图有,α=45?,ctgα=1
斜二测图则有,α=arctg(2),ctgα=1/2
投影平
面法向
投影方向
投影平面
(a) 斜等测 (b) 斜二测
7- 16 斜平行投影
?
p
O
p'
投影方向
投影平面
?
p
O
p'
投影平
面法向
2013-3-1 华中理工大学计算机学院 陆枫
99-7
60
x
z
y
x
z
y
x
z
y
?? 45?
?? 30?
x
z
y
?? 30??? 45?
1
1 1
1
1
1/2
1
1/2
( a ) 斜等测 ( b ) 斜二测
7-18 单 位立方体的斜平行投影
2013-3-1 华中理工大学计算机学院 陆枫
99-7
61
7.4 透视投影
分析,
y
z
x
p(x,y,z)
d
p'(x',y',z')
o
图7- 1 9 点的一点透视
2013-3-1 华中理工大学计算机学院 陆枫
99-7
62
? ? ? ?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
??
1000
1
100
0010
0001
11'''
d
zyxzyx
? ? ? ?
?
?
?
?
?
?
?
?
?
?
?
?
???
1000
100
0010
0001
11'''
r
zyxzyx
2013-3-1 华中理工大学计算机学院 陆枫
99-7
63
灭点,
? 不平行于投影面的平行线的投影会汇聚到一个点, 这个
点称为 灭点 (Vanishing Point)。
? 坐标轴方向的平行线在投影面上形成的灭点称作 主灭点 。
? 一点透视 有一个主灭点, 即投影面与一个坐标轴正交,
与另外两个坐标轴平行 。
? 两点透视 有两个主灭点, 即投影面与两个坐标轴相交,
与另一个坐标轴平行 。
? 三点透视 有三个主灭点, 即投影面与三个坐标轴都相交 。
2013-3-1 华中理工大学计算机学院 陆枫
99-7
64
7- 20 透视投影
灭点
灭点
灭点
灭点
(a) 一点透视 (b) 二点透视 (c) 三点透视
灭点
灭点
2013-3-1 华中理工大学计算机学院 陆枫
99-7
65
7.4.1 一点透视
分析,
要考虑下列几点,
(1)三维形体与画面 ( 投影面 ) 的相对位置;
(2)视距, 即视点 ( 投影中心 ) 与画面的距离;
(3)视点的高度 。
2013-3-1 华中理工大学计算机学院 陆枫
99-7
66
假定视点 ( 投影中心 ) 在原点, 画面 ( 投影面 ) 与 z轴
垂直 ( z=d) 。
一点透视的步骤,
(1)将三维形体平移到适当位置 l,m,n;
(2)令视点在 z轴, 利用公式 (7-2)进行透视变换;
(3)最后, 为了绘制的方便, 向 xoy平面作正投影变换,
将结果变换到 xoy平面上 。
2013-3-1 华中理工大学计算机学院 陆枫
99-7
67
例:试绘制如图 7-21(a)所示的单位立方体的一点透视图 。
x
y
z
1
1
1
A B
CD
E F
GH
图7 - 2 1 单位立方体的一点透视
(a)单位立方体
x
y
0.5 1.0 1.5
0.5
1.0
1.5
A' B'
C'D'
H'
F'E'
G'
(b)一点透视图
2013-3-1 华中理工大学计算机学院 陆枫
99-7
68
7.4.2 二点透视
可以这样来构造二点透视的一般步骤,
(1)先将三维形体平移到适当位置, 使视点有一定
高度, 且使形体的主要表面不会积聚成线;
(2)将形体绕 y轴旋转一个 φ角 (φ< 90?),方向满足
右手定则;
(3)进行透视变换
(4)最后向 xoy面作正投影, 即得二点透视图 。
2013-3-1 华中理工大学计算机学院 陆枫
99-7
69
例:试绘制上例 ( 图 7-21(a)) 中的单位立方体的二
点透视图 。
x
y
1.0 2.0 3.0
1.0
2.0
3.0
A' B'
D'
H'
F'
E'
G'
C'
图7-22 单 位立方体的二点透视
2013-3-1 华中理工大学计算机学院 陆枫
99-7
70
7.4.3 三点透视
同样可以简单的构造三点透视图,
(1)首先将三维形体平移到适当位置;
(2)将形体进行透视变换
(3)然后使形体先绕 y轴旋转 φ角;
(4)再绕 x轴旋转 θ角;
(5)将变形且旋转后的形体向 xoy面作正投影 。
2013-3-1 华中理工大学计算机学院 陆枫
99-7
71
7.5 观察坐标系及观察空间
7.5.1 观察坐标系
x
y
z
x v
y v
z v
p o (x o,y o,z o )
图7- 23 用户坐标系与观察坐标系
? 观察参考坐标系 ( View Reference Coordinate)
? 观察参考点 ( View Reference Point)
2013-3-1 华中理工大学计算机学院 陆枫
99-7
72
? 观察平面 ( View Plane), 即投影平面 。
图7 - 2 6 沿z v 轴的观察平面
z v
y v
x v
2013-3-1 华中理工大学计算机学院 陆枫
99-7
73
? 观察坐标系 ( uvn坐标系 ) 的建立
? 法矢量 N,法矢量 V,法矢量 U
x
y
z
x v
y v
z v
p o
图7- 2 4 法矢量N的定义
p
N
p o
N
V
V'
图7- 2 5 法矢量V的定义
2013-3-1 华中理工大学计算机学院 陆枫
99-7
74
7.5.2 观察空间
? 观察窗口,
图7 - 2 7 观察窗口
z v
y v
x v
x w min,yw min
x w max,yw max
观察
窗口
观察平面
2013-3-1 华中理工大学计算机学院 陆枫
99-7
75
? 观察空间, 无限观察空间, 有限观察空间
图7 - 2 8 正投影的观察空间
z v
y v
x v
(a) 无限观察空间 (b) 有限观察空间
y v
x v
投影
方向投影
方向
观察
窗口
z v 前截面
后截面
观察
窗口
2013-3-1 华中理工大学计算机学院 陆枫
99-7
76
z v
y v
x v
z v
y v
x v
投影
方向
图7- 2 9 斜投影的观察空间
(a) 无限观察空间 (b) 有限观察空间
投影
方向
观察
窗口
观察
窗口
前截面
后截面
2013-3-1 华中理工大学计算机学院 陆枫
99-7
77
需注意, 对于透视投影, 前截面必须在投影中心和后
截面之间 。
z v
y v
x v
图7- 30 透视投影的观察空间
观察
窗口
z v
y v
x v
(a ) 无 限观察空间 (b ) 有 限观察空间
前截面
后截面
投影中心 投影中心
观察
窗口
2013-3-1 华中理工大学计算机学院 陆枫
99-7
78
? 观察平面和前后截面的有关位置取决于要生成的
窗口类型及特殊图形包的限制
后截面
观察平面
前截面
z v
观察平面
后截面
前截面
z v
后截面=
观察平面
前截面
z v
图7 - 3 1 观察平面及前后截面的位置安排
(a) (b) (c)
2013-3-1 华中理工大学计算机学院 陆枫
99-7
79
观察平面
观察窗口
投影中心
z v
观察窗口
v p
观察平面
图7 - 3 2 观察平面的移动改变
斜投影观察空间形状
观察平面
观察窗口
投影中心
投影中心
投影中心
图7 - 3 3 投影中心的移动改变
透视影观察空间形状
z v
2013-3-1 华中理工大学计算机学院 陆枫
99-7
80
规范化观察空间
? 平行投影的规范化观察空间
定义为,
1,0
1,1
1,1
??
???
???
vv
vv
vv
zz
yy
xx
y v
x v
z v
(1,1,1)
( a ) 平行投影的规范化观察空间
后截面
观察平面
前截面
z v
x v oy v
平面
(-1,-1,0)
-1
1
1
2013-3-1 华中理工大学计算机学院 陆枫
99-7
81
? 透视投影的规范化观察空间为,
1,
,
,
m i n
??
???
???
vv
vvvv
vvvv
zzz
zyzy
zxzx
( b ) 透视投影的规范化观察空间
y v
x v
z v
(1,1,1)
后截面
观察平面
前截面
z v
x v oy v
平面
(-1,-1,z min )
-1
1
1
z min
2013-3-1 华中理工大学计算机学院 陆枫
99-7
82
7.6 三维观察流程
三
维
裁
剪
正
投
影
在图形
设备上
输出
设
备
坐
标
用户坐
标系到
观察坐
标系间
的变换
应用
程序
到图
形的
用户
坐标
图7- 35 三维观察流程
用户
坐标
规范
化投
影变
换
二
维
变
换
输
出
观察
坐标
规范化
投影
坐标
规范化
投影
坐标
规范化
二维
坐标
2013-3-1 华中理工大学计算机学院 陆枫
99-7
83
7.6.1 用户坐标系到观察坐标系的变换
具体变换步骤,
(1) 平移观察参考点到用户坐标系原点
(2) 进行旋转变换分别让 xv,yv和 zv轴对应到用户
坐标系中的 x,y和 z轴 。
2013-3-1 华中理工大学计算机学院 陆枫
99-7
84
x
y
z
x v
y v
p o (x o,y o,z o )
(a) 用 户坐标系与观察坐标系
x
y
z
x v
y v
z v
o
(b) 平移观察坐标系
x
y
z
x v
y v
z v
o
(c) 旋转观察坐标系
7.6.2 平行投影的规范化投影变换
分析,
y v
x v
z v
(1,1,1)
(-1,-1,0)
( b ) 有限观察空间
y v
x v
投影
方向
观察
窗口
z v 前截面
后截面
z v
y v
x v
投影
方向
(b ) 有 限观察空间
观察
窗口
前截面
后截面
2013-3-1 华中理工大学计算机学院 陆枫
99-7
86
平行投影的规范化投影变换可由以下三步组成 。
(1)将投影中心平移到观察坐标系原点 。
( a ) 平移变换
后截面
观察平面
前截面
z v
x v oy v
平面
投影方向
窗口中心
2013-3-1 华中理工大学计算机学院 陆枫
99-7
87
(2)对坐标系进行错切变换, 使投影中心和窗口中
心的连线错切到 zv轴
后截面
观察平面
前截面
z v
x v oy v
平面
窗口中心
(b) 错切 变换
2013-3-1 华中理工大学计算机学院 陆枫
99-7
88
(3)进行坐标的归一化变换
(a) 平 行投影的规范化观察空间
后截面
观察平面
前截面
z v
x v oy v
平面
-1
1
1
后截面
观察平面
前截面
z v
x v oy v
平面
窗口中心
(b) 错切 变换
2013-3-1 华中理工大学计算机学院 陆枫
99-7
89
7.6.3 透视投影的规范化投影变换
分析,透视投影的规范化投影变换分两步进行
(1)
z v
y v
x v
(b) 有 限观察空间
前截面
后截面
投影中心
观察
窗口
y v
x v
z v
(1,1,1)
(-1,-1,z min )
2013-3-1 华中理工大学计算机学院 陆枫
99-7
90
(2)
y v
x v
z v
(1,1,1)
(-1,-1,z min )
y v
x v
z v
(1,1,1)
(-1,-1,0)
2013-3-1 华中理工大学计算机学院 陆枫
99-7
91
变换步骤,
(1)将投影中心平移到观察坐标系原点
(2)对坐标系进行错切变换
图7 - 3 8 透视投影的规范化投影变换步骤( 1 ) ( 2 )
后截面
观察平面
前截面
z v
x v oy v
平面
窗口中心
后截面
观察平面
前截面
z v
x v oy v
平面
窗口中心
(a) 平移变换 (b) 错切变换
2013-3-1 华中理工大学计算机学院 陆枫
99-7
92
(3) 进行比例变换 。
(4) 将图 7-34(b)所示的透视投影的规范化观察空间
变换为图 7-34(a)的平行投影的规范化观察空间 。
图7-39 规 范化投影变换的透视变换
灭点( a ) 变换前
( b ) 变换后
后截面
前截面
z v
x v oy v
平面
-1
1
1
z min
后截面
前截面
z v
x v oy v
平面
-1
1
1
2013-3-1 华中理工大学计算机学院 陆枫
99-7
93
7.7 三维裁剪
三维裁剪
? 三维裁剪保留所有在观察空间内的图形以便在
输出设备中显示, 所有在观察空间外的图形被
丢弃 。
? 三维直线段的裁剪
? 多边形面的裁剪
2013-3-1 华中理工大学计算机学院 陆枫
99-7
94
四维齐次坐标表示的图形裁剪,
? 一是将齐次坐标转换为三维坐标, 在三维空间
中关于规范化观察空间剪裁 ;
? 一是直接在齐次坐标空间中进行裁剪 。
7.7.1 关于规范化观察空间的裁剪
7.7.2 齐次坐标空间的裁剪
2013-3-1 华中理工大学计算机学院 陆枫
99-7
95
习题
?