第六章三维图形的变换
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
x
y
z
1 x
y
z
1 x
y
z
对称于YOZ平面
1 0 0 0 1 0 1 0 0 - 1 0 0 0
0 0 0 1
x
y
z 1 x
y
z 1 x
y
对称于XOZ平面
1 0 0 0 - 1 0 0 0 1 0 0 0
[x/ y/ z/ 1]= [x y z 1] · T
设T为三维变换矩阵
a b d e T3 D g h l m c f i n p q r s
将T分为四个子矩阵
三维几何变换
将T分为四个子矩阵,作用如下: a b c 3×3矩阵 d e f 对三维图形实现比例、对称、 g h i 错切、和旋转变换。 1×3矩阵
三维错切变换中,一个坐标的变化受另外两个坐 标变化的影响。如果变换矩阵第1列中元素d和g不为0, 产生沿x轴方向的错切;第2列中元素b和h不为0,产 生沿y轴方向的错切;第3列中元素c和f不为0,产生 沿z轴方向的错切。
1.沿x方向错切
三维变换矩阵
此时,b=0,h=0,c=0,f=0。因此,沿x方向错切 变换矩阵为:
0 0 0 1
1 0 0 0 1 0 z 1 0 0 1 0 0 0
0 0 0 1
三维变换矩阵
※绕X轴旋转 空间上的立体绕X轴旋转时,立体上各点的X坐 标不变,只是Y、Z坐标发生相应的变化。
Z
y, z y, z
Z
Z y, z
绕任意轴的旋转变换-方法
因此
2)让在 XOZ平面上的ON 绕y 轴旋转 ' ,使之与 z轴 重合。其中
sin ' a 2 b2
cos ' c
cos ' sin ' sin ' cos ' R 'z 0 0 0 0
1.5 1 0 0 T 0 0 1 0 0 0 0 1 0 1 0 0 1 1 1 1 1 0 1 1 T 1.5 0 1 1 1 1.5 2.5 1 1 0 1 2.5
令变换矩阵
0 0 1 1 0 0 1 1 0 0 0 0 1 1 1 1
3.侧视图
平行投影__三视图
将三棱柱向yoz面作垂直投影得到侧视图。设三维物体 上任一点坐标用P(x,y,z)表示,它在yoz面上投影后坐 标为P’(x’,y’,z’)。其中x’=0,y’=y,z’=z。
投影变换矩阵为:
平行投影__三视图
为了在xoz平面内表示侧视图,需要将yoz面绕z轴逆 时针旋转90°,旋转变换矩阵为:
cos 2 sin TRz 2 0 0
sin
cos 0 0
2 2
为了使侧视图和主视图之间有一定的间距,还要将 yoz面沿x轴负向平移一段距离-x0,平移变换矩阵为: 1 0 0 0 0 1 0 0 TTx 0 0 1 0 x0 0 0 1
平移变换矩阵
1 0 0 T x 0 1 0 Ty 0 0 1 Tz 0 0 0 1
x
y
Sx 0 z 1 0 0
0 Sy 0 0
0 1 0
0 0 Sz 0
0 0 1 Tz
0 0 xS x 0 1
yS y
错切平面沿Z轴方向 移动且离开Y轴
投影
要把现实世界的三维物体在计算机的二维屏幕上显 示,必须经过投影变换,把物体表示形式转化为二维 表示形式。 投影变换:把三维物体变为二维图形表示的过程称为 投影变换。 投影变换常用平行投影和透视投影。
平行投影
根据投影线方向与投影平面的夹角,平行投影分为
两类: 正平行投影与斜平行投影 正平行投影包括:正投影(三视图)和正轴侧投影 三视图:三个投影面和坐标轴相互垂直。 正轴侧:投影面和坐标轴呈一定的关系。
平行投影__三视图
1.主视图
将三棱柱向xoz面作正交投影,得到主视图。设三棱 柱上任一点坐标用P(x,y,z)表示,它在xoz面上投影 后坐标为P’(x’,y’,z’)。其中x’=x, y’=0, z’=z。
主视图投影变换矩阵为:
2.俯视图
平行投影__三视图
将三棱柱向xoy面作正交投影得到俯视图。设三维物 体上任一点坐标用P(x,y,z)表示,它在xoy面上投影 后坐标为P’(x’,y’,z’)。其中x’=x,y’=y, z’=0。
a.当变换矩阵为:
1 0 T3 0 0 0 0 0 1 0 0 i 1 0 0 0 1
错切平面沿Y轴方向 移动且离开Z轴
b.当变换矩阵为:
1 0 T4 0 0 b 0 0 1 0 0 0 1 0 0 0 1
错切平面沿Y轴方向 移动且离开X轴
l
m n
对三维图形实现平移变换。
p 1×3矩阵 q 对三维图形实现透视变换。 r
1×1矩阵
s
对三维图形实现全比例变换。
三维变换矩阵
比例变换矩阵
Sx 0 0 0 0 Sy 0 0 0 0 Sz 0 0 0 0 1
投影变换矩阵为:
平行投影__三视图
为了使俯视图和主视图在一个平面内,就要使xoy面 绕x轴顺时针旋转90°,旋转变换矩阵为:
为了使俯视图和主视图有一定的间距,还要使xoy 面沿z负方向平移一段距离-z0,平移变换矩阵为:
平行投影__三视图
俯视图的投影变换矩阵为上述三个变换矩阵的乘 积:
俯视图投影变换矩阵为:
0 1 0 cos x' y' z' 1 x y z 1 0 - sin 0 0
Z
x, y
X O
x, y
Y
三维变换矩阵
※绕Y轴旋转 空间上的立体绕Y轴旋转时,立体上各点的Y坐 标不变,只是X、Z坐标发生相应的变化。
Z
x, z
X O Y x, z
zS z 1 x
y z 1
x
y
z
1 0 1 0 T x
Ty
0 0 x Tx 0 1
y Ty
z Tz
1
三维变换矩阵
在二维变换下,对称变换是以线和点为基准,在三 维变换下,对称变换则是以面、线、点为基准的。
对称于XOY平面
则
0 0 0 0Байду номын сангаас1 1 1 1
0 1 1 0 0 1 1 0
1 1 1 1 1 1 1 1
变换结果如图所示:
Z
X
变换后 错切平面垂直于Y轴, 沿X轴正向移动。
变换前
Y
三维变换矩阵
错切平面垂直于Z轴, 沿X轴正向移动。 变换后
Z
变换前
X
Y
三维变换矩阵
2.要求沿Y方向错切
T R 'z R 'y R z R 'y R 'z
b) 绕任意轴的旋转变换 上 面 的 ON 轴 若 不 过 原 点 , 而 是 过 任 意 点 (x0,y0,z0),变换如何呢?
三维变换矩阵
三维错切变换 的坐标表示为: 三维错切变换 矩阵为:
0 0 1 0
0 0 0 1
因此
R ' y cos ' 0 sin ' 0 0 sin ' 1 0 0 cos ' 0 0 0 0 0 1
绕任意轴的旋转变换-方法1
3)P点绕ON 轴(即z轴)逆时针旋转θ角 R z R ' y 4)ON 轴绕y 轴旋转γ' 5)ON 轴绕z轴旋转α' R 'z 因此
O
y, z
Y
X
O
Y
x x
y cos( ) y cos z sin
z sin( ) y sin z cos
三维变换矩阵
矩阵表示为:
遵循右手法则,即若 θ>0 ,大拇指指向 X 轴的正 向,其它手指指的方向为旋转方向。 0 sin cos 0 0 0 0 1
三维变换矩阵
矩阵表示为:
x '
y' z' 1 x
cos sin - sin cos y z 1 0 0 0 0
0 0 1 0
0 0 0 1
绕任意轴的旋转变换-方法
a) 绕过原点的任意轴的旋转变换 空间点 P(x,y,z) 绕过原点的任意轴 ON逆时针旋转 θ 角的旋转变换。 基本思想:因ON 轴不是坐标轴,应设法旋转该轴, 使之与某一坐标轴重合,然后进行旋转θ角的变换, 最后按逆过程,恢复该轴的原始位置。
0 - sin 1 0 0 cos 0 0
0 0 0 1
三维变换矩阵
※绕Z轴旋转 空间上的立体绕Z轴旋转时,立体上各点的Z坐 标不变,只是X、Y坐标发生相应的变化。
Z Y
x, y
X O
x, y
Y O
x, y x, y
X
x cos( ) x cos y sin y sin( ) x sin y cos z z
1 d T g 0
0 1 0 0
0 0 1 0
0 0 0 1
当d=0时,错切平面离开z轴,沿x方向移动gz距离; 当g=0时,错切平面离开y轴,沿x方向移动dy距离。
三维变换矩阵
例 将一单位立方体进行错切变换,使错切平面沿X方 1 0 0 0 向移动并离开Y轴。
绕任意轴的旋转变换-方法
解:令ON 为单位长度,其方向余弦为:
a cos x y z ; b cos ; c cos ; r x 2 y 2 z 2 r r r
α、β、γ为ON 轴与各坐标轴的夹角。
变换过程如下: 1) 让ON 轴绕z轴旋转 , 使之在XOZ平面上。其中 b sin ' a2 b2 a cos ' a2 b2
平行投影__三视图
三视图是正投影视图,包括主视图、俯视图和侧视 图,投影面分别与y轴、 z轴和x轴垂直。即将三维物体 分别对正面、水平面和侧平面做正投影得到三个基本视 图。图6-2为正三棱柱的立体图,图6-3为正三棱柱的三 视图。 主视图 侧视图
图 6-2 正三棱柱的立体图
图6-3正三棱柱的三视图
三维几何变换
三维其次坐标 (x,y,z)点对应的齐次坐标为 ( xh , yh , zh , h)
xh hx, yh hy, zh hz, h 0
标准齐次坐标 (x,y,z,1) 右手坐标系
Z
Y
X
三维几何变换
如果用[x y z 1]表示变换前的三维空间一点,用 [x/ y/ z/ 1]表示变换后的点,则点的变换式为:
0 0 0 1 0 0 0 1 0 0 0 1
1 0 0 0 0 0 0 1 0 0 0 1
平行投影__三视图
侧视图的投影变换矩阵为上面三个变换矩阵的乘积:
三维变换矩阵
3.要求沿Z方向错切
a.当变换矩阵为:
1 0 T5 0 0 0 c 0 1 0 0 0 1 0 0 0 1
错切平面沿Z轴方向 移动且离开X轴
b.当变换矩阵为: 1 0 0 0 1 f T6 0 0 1 0 0 0
0 0 0 1
x, z
Z Z
x, z
X
O
x sin( ) x cos z sin
y y
z cos( ) z cos x sin
三维变换矩阵
矩阵表示为:
x '
y' z' 1 x
cos 0 y z 1 sin 0