第5章三维图形变换.docx
《第5章三维图形变换.docx》由会员分享,可在线阅读,更多相关《第5章三维图形变换.docx(14页珍藏版)》请在冰豆网上搜索。
![第5章三维图形变换.docx](https://file1.bdocx.com/fileroot1/2022-11/28/5049bc90-6c80-44a4-b3f3-3da3a33fc6c5/5049bc90-6c80-44a4-b3f3-3da3a33fc6c51.gif)
第5章三维图形变换
课
目的要求:
掌握平移、旋转.缩放、错切、反射等三
维坐标变换及其矩阵表示,掌握三维图形的投影的概念、原理与方法。
教学重点:
教学难点:
教学课时:
教学方法:
三维坐标变换
投影变换
2课时
讲授法、多媒体授课
5.1三维图形齐次坐标变换矩阵
-齐次变换矩阵提供一个三维空间中包括平移、旋转、透视、投影、反射、错切和比例等变换在内的统一表达式,使得物体的变换可在统一的矩阵形式下进行-
5.2图形的三维几何变换
三维图形变换可以在二维图形变换方法基础上增加对2坐标的考虑而得到,其变换也为平移.缩放、旋转、对称.错切尊五种变换。
在二维图形变换的讨论中我们已经使用了齐次坐标表示法,其变换矩阵是3X3阶矩阵。
对于三维空间,则变换矩阵需要是4X4阶矩阵。
在三维图形变换的讨论中,仍采用假定坐标系不动,图形变换的方式。
并且假定变换是在右手坐标系下进行•
5.2.1平移变换
已知空间一点的塑标是P(x,y,z),沿X、Y及Z轴方向分别平移tx、ty>tz,后,得新坐标P(/,分)的表示式为:
A-=X十八
V+片
矩阵形式为:
n
5.2.2缩放变换相对于原点的
缩放变换的表示式为:
<>
O
<)
(>
<;>
n
<>
<>
AL
O
<>
<)
<)
1
I
式中Sx、头和!
5工分别表不点P(x,y,z)沿X、Y及Z轴方向相对坐标原点的比例变换系数。
系数可赋予任何正数值・当值小于1时缩小图形,值大于1则放大图形。
当%S、和%被赋予相同值时,使图形产生三个坐标轴方向相斤比洌一致的变换,%头和S,值不等时则产生不一致的变换。
相对于给定点的比例变换的矩阵表示为:
<>
<>
<
C>
-V
<>
C
<>
<>
<
5.2.3旋转变换
三维图形作旋转变换时,需要指定一个旋转轴和旋转角度。
三维旋转变换可围绕空间任意直线轴进行。
通常规定图形绕某轴逆时针方向旋转时角度为正•
旋转变换前后三维图形的大小和形状不发生变化,只是空间位置发生了变化。
1:
1
绕坐标轴的旋转变换是最简单的旋转变换,当三维图形绕某一坐标轴旋转时,图形上各点关于此轴的坐标值不变,而在另两坐标轴所组成的坐标面上的坐标值相当于一个二维的旋转变换O
1.绕坐标轴的旋转变换
(1)绕Z轴旋转变换
绕Z轴旋转时,图形上各点Z坐标不变,X.y坐标的变化相当于在XY二维平面内绕原点旋转・旋转变换公式为:
矩阵表示为:
(2)绕X轴旋转变换
绕X轴旋转时,图形上各点X坐标不变,y.Z坐标的变化相当于在YZ二维平面内绕原点旋转・旋转变换公式为=
v~rv
-•-
•
矩阵表示为:
[・V€、土>
(3)绕Y轴旋转变换
绕Y轴旋转时.图形上各点y坐标不变,X、Z坐标的变化相当于在XZ二维平面内绕原点旋转。
旋转变换公式为:
i邙•《6Q
I
矩阵表示为:
yz*尺
•.
^7V]■|."=V7.
V
2.一般三维旋转变换
更一般的旋转变换是绕空间任意轴作旋转变换。
我们可以用平移变换与绕坐标轴旋转变换的复合变换得到其变换公式。
如果给定旋转轴和旋转角,可以通过平移及旋转给定轴使其与某一坐标轴重合,绕坐标轴完成指定的旋转,然后再用逆变换使给定轴回到其原始位置。
各次变换矩阵乘起来即形成复合变换。
已知空间一点的坐标是P(“⑵,设给定的旋转轴为1,它对三个坐标轴的方向余弦分别为:
旋转角为0轴上点Pc(Xc,Vc5Zc)为旋转的中心点。
复合变换的过程为:
(1)将Pc(Xc,Vc,zj平移到坐标原点变换矩阵为:
<)
—wiry
()
<>
I
()
o
hi叶
<)
cr(
o
<)
()
<>
1
A-F
⑶将I轴绕X轴旋转氏角,同Y轴重合,其变换矩阵为:
(4)将P(x,y,z)点绕Y轴旋转〃角,其变换矩阵为:
<)—Ki&<>()1(>o
7「
(>crcXSi(>
(5)绕X轴旋转氏角,其变换矩阵为:
1
()
0
<)
f)
Hiry
o
(>
hi(p
()
0
0
<)
1
(6)绕Y轴旋转Ty角,其变换矩阵为:
<)
HI
<>
0
1
0
(>
0
0
0
()
1
(7)将匕(兀,人山』平移回原位置,其变换矩阵为:
1
()
()
0
()
I
()
0
0
()
1
0
.V
•
J:
1
变换过程式中,sin0X、sin0丫、cos0乂、cos0y为中间变毘,应使用已知量n】、“2、“3表示出来,考虑I轴上的单位向量n,它在三个坐标轴上的投影值即为叫、山、n?
。
取Y轴上一单位向量将其绕X轴旋转-8X角,再绕Y轴旋转-ey角,则此单位向量将同单位向量ri重合,其变换过程为:
mJn,=sin6sin0屮n^=cos0耳,03=sin6cos0厂同时考虑到比2+^2+吗2=1,前解得:
将矩阵相乘后并将中间变量替换掉可得复合变换矩阵,展开成代数方程为:
(X-Xc)(n/+(1-ni2)cos0
(y-yj(01112(1■cos6)+n^sin©)
+Xc
(z-Zc)((1-cos6)-^sine)
(X-Xc)(口卫鸟仃-cos6)-ngSinG)
(y-Yc)(n?
?
+(1-n^)cosB)
(z-Zc)("2113(1-cos6)+njSinQ)
(X-Xc)((1-cos©)+iigsinS)
(y-Ye)(ngHg(1-cos©)-iiisine)
I“I二cosrz\Hr=COS卩
'心一COsJ
(z-Zc)(+(1-1132)cosO)*Zc
nl>n2、n3为I轴上的单位向*n在三个坐标轴上的投影值
5.2.4对称变换
三维对称变换可以是关于给定对称轴的或者是关于给定对称平面的变换。
关于给定对称轴的对称变换尊价于绕此轴旋转180°,可以直接使用已讨论过的相对于轴线的旋转变换公式。
关于给定对称平面的对称变换其最简单的是对称于坐标平面的变换。
比如,空间一点P(x,y,z)对XY坐标平面对称变换时,只需改变兀坐标的正负号■其它两坐标不变,因此,其变换的矩阵表示为:
1
<>
<)
<)
O
1
O
O
O
<>
—1
O
O
(・>
1
同样,相对于xz平面的对称变换只碍改变y坐标的正负号,其变换的矩阵表示为=
相对于Y£平面的对称变换只需改变%坐标的正负号,其变换的矩阵表示为:
一1
O
()
()
1
()
()
O
<)
1
<)
<>
1
如果需要相对于任一平面作对称变换时,可以将此平面转换成与某一坐标平面相重合,并运用上述简单的对称变换,然后再将平面反变换回原来的位置即可。
5.2.5错切变换
相对于三个坐标轴的错切变换矩阵表示为:
~|
/
O
<•
•
1
/?
()
AT
1
O
<>
<)
(>
1
三维图形错切变换,一个坐标方向的变化受另外两个坐标变化的影响。
如果变换矩阵第一列中元素C和e不为0,产生沿X轴方向的错切;第二列中元素d和g不为0,产生沿Y轴方向的错切:
第三列中元素f和h不为0,产生沿Z轴方向错切。
1:
1
同二维图形变换的情况相同,上面讨论的五种变换也属于仿射变换■具有保持直线、平面及平行关系的不变特性。
5.3投影变换
•什么是投影变换(投影变换的作用)
由于显示器和绘图机只能用二维空间表示图形,
这就需要我们把三维坐标表示的几何体变换成二维坐标表示的图形,这就是图形的投影变换。
•投影变换的要素
视点(投影中心),投影平面,投影线等
5.3.1投影变换分类
在投影变换中,观察平面称为投影面.将三维图形投影到投影面上,有两种基本的投影方式,即平行投影和透视投影。
在平行投影中,图形沿平行线变换到投影面上;对透视投影,图形沿收敛于某一点的直线变换到投影面上,此点称为投影中心,相当于观察点,也称为视点。
投影线与投影面相交在投影面上形成的图象即为三维图形的投影。
1:
1
平行投影和透视投影区别在于透视投影的投影中心到投影面之间的距离是有限的,而平行投影的投影中心到投影面之间的距离是无限的。
当投影中心在无限远时,投影线互相平行,所以定义平行投影时,给出投影线的方向就可以了,而定义透视投影时,需要指定投影中心的具体位置。
平行投庠
透视投形
平行投影保持物体的有关比例不变,物体的各个面的精确视图可以由平行投彩得到。
透视投影不保持相关比例,但能够生成真实感视图。
对同样大小的物体,离投影面较远的物体比离投影面较近物体的投影图象要小,产生近大远小的效果。
1:
1
J;视国止投感•僧親图
刖•视怪1
if.轴酬屈「测正二码
1斜池
—点透视
一点选视
一•点透裡
5.3.2平行投影
平行投影可根据投影方向与投影面的夹角分成两类:
正投影和斜投影.当投影方向与投影面的夹角为90°时,得到的投影为正平行投影,否则为斜平行投影,如下图所示。
lU
投影平面
投影方向
(a)王投影
1.正平行投影
正平行投影根据投影面与坐标轴的夹角又可分成两类:
正投影(三视图)和正轴测投影。
当投影面与某一坐标轴垂直时,得到的投影为三视图,这时投影方向与这个坐标轴的方向一致。
否则,得到的投影为正轴测投影,如图所示
1:
1
Ufc
1
(1)正投影
HI
正投影有主视图、侧视图和俯视图三种,投影面分别与X轴、Y轴和Z轴垂直。
三视图的投影变换矩阵分别为:
俯视图
()
由于在三视图上保持了有关比例的不变性,可以精
(2)正轴测投影
正轴测投影是能够显示形体多个侧面的投影变换,如果投影平面不与任一坐标轴垂直,就形成正轴测投影。
正轴测投影有正等测、正二测和正三测三种。
当投影面与三个坐标轴之间的夹角都相等时为正等测!
当S影面与两个坐标轴之间的夹角相等时为正二测;当投影面与三个坐标轴之间的夹角都不相等时为正三测。
正等测投影中三个坐标分量保持相同的变化比例:
正二测投影中三个坐标分量中的两个保持相同的变化比例;正三测投影中三个坐标分量的变化比例各不相同。
2.斜平行投影
HI
斜平行投影与正平行投彭的区别在于投影方向与投影面不垂直。
斜平行投影能够将正平行投影的可测量性和正轴测投影的立体效果特性结合起来。
比如选择投影面垂直于某个坐标轴,这样,对平行于投影面的物体表面其长度和角度投影后保持不变,可进行测量。
同时,它还可以显示一些其面。
斜平行投影的倾斜度可以由两个角来描述,如图所示。
此图中投影面选择垂直于Z坐标轴,且过原点。
下面我们推导斜平行投影的变换矩阵。
空间一点P(X.y,z)投影到投影面上的位置是Q(x',y,0),其正投影坐标是R(x,y,0)°PQ与QR的夹角a,QR与投影面水平方向构成夹角卩。
记QR长度为L,则有:
从图中可以直接得出斜投影的坐标是:
常用的两种斜平行投影是斜等测和斜二测。
当ctga=1,即投影方向与投影面成0=45-角时,得到的是斜等测投影。
这时,和投影面垂直的任何直线段,其投影的长度不变。
当ctga=2(0=63.4^)时,得到的是斜二测投影,这时,和投影面垂直的任何直线,其投形的长度为原来的一半-而角0通常选择为30°或45。
•
下图表示了立方体的斜投影的例子。
从图中可以看出,这种图形的真实感较强。
(ctga=2)
它必须设定投影中心。
投
5.3,3透视投影
透视投影不同于平行投影,影中心也称为视点,它相当于观察者的眼睛。
投影面位于投影中心与需要投影的三维图形之间,将三维图形上各点与投影中心相连所得到的投影线与投影面相交,其交点就是三维图形的透视投影。
如下图所示,设投影中心在坐标原点,S影面与Z轴垂直,在z=d的位置上。
利用三维齐次坐标的矩阵形式表示透视变换为:
1CM>1<>〉二9>乞<习亠弋=4三y■,*
IJir
<3
「1
0
()
1
()
()
0"
0
7=1
0
()
1
1
()
()
()
0
为透视变换矩阵。
称
投影平面上的投影坐标计算为:
//
其中,原Z坐标值在透视投影中保持不变,以便用于其它同深度有关的处理•
由上式可以看出,距离Z位于分母处,即物体透视投影的大小与物体到投影中心的距离成反比,远处的物体比近处的物体的投影要小。
这种效应所产生的视觉效果十分类似于照相系统和人的视觉系统.因此,透视投影能够产生立体感。
当三维图形用透视变换投影到投影面上,图形中与投影面平行的平行线投影后仍保持平行。
不与投影面平行的任一组平行线投影后收敛于一点,此点称为灭点。
1:
1
IH
平行于某一坐标轴方向的平行线在投影面上形成的灭点又称作主灭点。
因为有X、Y和Z三个坐标轴,所以主灭点垠多有三个。
当某个坐标轴与投影面平行时,则该坐标轴方向的平行线在投影面上的投影仍保持平行,不形成灭点。
投形中主灭点数目由与投影面相交的坐标轴数目来决定,并据此将透视投影分类为一点、二点或三点透视。
一点透视有一个主灭点,即投影面与一个坐标轴正交,与另外两个坐标轴平行;两点透视有两个主灭点,即投影面与两个坐标轴相交,与另一个坐标轴平行!
三点透视有三个主灭点,即投影面与三个坐标轴都相交。
下图说明了一个立方体的一点透视投影和两点透视投影的情形。
1:
1
前面的公式推导假设投影中心在坐标原点及投影面与Z轴垂直,对于不符合这种假设情形的透视投影,其变换关系的推导方法类似,或首先利用几何变换方法对投影中心和投影面进行变换使其符合这种假定。