投影變換分類
??? 把三維物體變為二維圖形表示的過程稱為投影變換。
投影變換的分類情況如下表所示:
世界坐標與觀察坐標
??? 物體在空間的表示是用世界坐標來表示,但是當人們去觀察物體時,坐標系就轉化為觀察坐標系。這就需要在兩個坐標系之間進行轉換,可以通過平移、旋轉實現從世界坐標到觀察坐標的變換。
平移后,用單位矢量法得到旋轉矩陣:
-
取
Zv
軸向為觀察平面的法向
VPN,其單位矢量n=VPN/|VPN|=(nx,ny,nz)
-
取
Xv
軸向為觀察方向PREF,其單位矢量u=PREF/|PREF|=(ux,uy,uz)
-
取Yv軸向的單位矢量v=u×n=(vx,vy,vz)
因此世界坐標到觀察坐標到變換矩陣為:
?正平行投影(三視圖)
??? 投影方向垂直于投影平面的投影稱為正平行投影,我們通常所說的三視圖均屬于正平行投影。三視圖的生成就是把
x
、
y
、
z
坐標系的形體投影到
z
=0的平面,變換到
u
、
v
、
w
坐標系。一般還需將三個視圖在一個平面上畫出,這時就得到下面的變換公式,其中(
a
,
b
)為
u
、
v
坐標系下的值,
tx
、
ty
、
tz
均如圖中所示。
?? 1)主視圖

?? 2)俯視圖

?? 3)側視圖


三視圖
斜平行投影
??? 投影方向不垂直于投影平面的平行投影被稱為斜平行投影,現在讓我們來推導斜平行投影的變換矩陣。下圖中的Z=0的坐標平面為觀察平面,點(
x
,
y
)為點(
x
,
y
,
z
)在觀察平面上的正平行投影坐標,點(
x′
,
y
′
)為斜投影坐標。(
x
,
y
)與(
x′
,
y
′
)的距離為
L
。



透視投影
??? 透視投影的視線(投影線)是從視點(觀察點)出發,視線是不平行的。不平行于投影平面的視線匯聚的一點稱為滅點,在坐標軸上的滅點叫做主滅點。主滅點數和投影平面切割坐標軸的數量相對應。按照主滅點的個數,透視投影可分為一點透視、二點透視和三點透視。

下面我們來推導簡單的一點透視的投影公式。

從上圖
P
點在觀察平面上的投影我們可以得到描述
P
′點的參數方程:
用齊次坐標表示為:
http://jpkc.swjtu.edu.cn/C15/imagination/jisuanjituxing/Chapter6/CG_Txt_6_018.htm