一、投影變換
由于顯示器和繪圖機隻能用二維空間來表示圖形,要顯示三維圖形就要把三維坐标表示的幾何形體變換成二維坐标表示的圖形,這就是圖形的投影變換。
需要記住的一點是,計算機繪圖是産生三維物體的二維圖像。但在螢幕上繪制圖形的時候,必須在三維坐标系下來考慮畫法
在建立一個三維圖形時,不要考慮二維平面圖像。
投影變換的要素
視點(投影中心),投影平面
投影線,投影方向
投影變換的類型
透視投影:投影中心和投影面之間的距離是有限的
平行投影:投影中心和投影平面之間的距離是無限的
根據投影方向與投影平面之間的關系,平行投影分為正投影與斜投影
1、透視投影
2、平行投影
平行投影分為正投影(a)與斜投影(b)
正投影:投影方向與投影平面法向相同。常見的正投影類型有:
正視圖投影:投影平面與z軸垂直;
俯視圖投影:投影平面與y軸垂直;
側視圖投影:投影平面與x軸垂直;
等軸測投影: 投影平面的法向與每個坐标軸的夾角相等;
注意:在觀察坐标系中進行正投影很友善
因為是按Z方向的投影,物體的投影圖坐标與Z值無關
是以去掉Z變量便是三維物體的二維投影描述。
斜投影,常見的斜投影類型有:
斜等測投影:投影方向與投影平面成45度角,是以與投影平面垂直的直線段的投影與它本身的長度相等;
斜二測投影:投影方向和投影平面的夾角為arctan(2),是以與投影平面垂直的直線段的長度是它投影長度的2倍。
平行投影變換公式
3、透視投影和平行投影的差別
透視投影的投影中心和透視平面之間的距離是有限的,而平行投影的投影中心和投影平面之間的距離是無限的;
平行投影的投影線是互相平行的,是以,定義透視投影,要給出投影中心,對于平行投影,由于投影是互相平行的,隻要給出投影方向就可;
透視投影的方式和人眼觀察物體的方式相同,是以透視投影的真實感更強,而平行投影的真實感相對較差,但可以用于精确測量。
将三維物體變為二維圖形的變換稱為(投影變換),其有兩種基本方式:(平行投影)、(透視投影)。
二、任意坐标系到觀察坐标系中的變換
觀察坐标系的建立
三、射影變換
做三維裁剪或消除隐藏線時,為簡化算法和減少計算量,可把一個對象的透視圖看成另一個對象的在同一投影平面上的正視圖,并要求兩個對象對應點坐标分量 的排序一緻,直線對應直線,進而保證變換後的對象各部分之間的遮擋關系不會發生變化。
四、視見體到規範視見體的變換
有時為了突出圖形的一部分,隻把圖形的某一部分顯示出來,這時可以定義一個三維視見體(Viewing Volume)。平行投影時一般是一個平行六面體的視見體,透視投影時一般是一個棱台似的視見體。隻有視見體内的物體能被投影在顯示平面上,其他部分則不能。
在投影之前,三維空間中的物體要被三維視見體裁剪。
對視見體的裁剪和投影是三維圖形顯示過程中的重要環節,裁剪和投影的效率極大地影響圖形的處理效率。
裁剪時,需要求解直線與視見體每個面的交點方程;投影時要求解投影線與投影平面的交點方程,如果視見體每個面的方程與投影平面的方程都不是簡單形式,則計算量将會相對很大。
由第四章剪裁算法和本節後面的讨論知,當視見體是規範視見體時,投影和裁剪計算都會很友善。是以,可把使用者定義的視見體變換為規範化的視見體,進而提高裁剪和投影算法的效率和減少問題的複雜性。
1、平行投影視見體的規範化
2、透視投影視見體的規範化
五、用三維規範體裁剪
Sutherland–Cohen 算法推廣到三維
梁友棟–Barsky 算法推廣到三維
作者:王陸
出處:https://www.cnblogs.com/wkfvawl/
-------------------------------------------
個性簽名:罔談彼短,靡持己長。做一個謙遜愛學的人!
本站使用「署名 4.0 國際」創作共享協定,轉載請在文章明顯位置注明作者及出處。鑒于部落客處于考研複習期間,有什麼問題請在評論區中提出,部落客盡可能當天回複,加微信好友請注明原因