三維投影是將三維空間中的點對映到二維平面上的方法。由於目前絕大多數圖形資料的顯示方式仍是二維的，因此三維投影的應用相當廣泛，尤其是在計算機圖形學，工程學和工程製圖中。 分類 三維圖形平面投影 平行投影：投影中心與投影平面的距離是無限的，投影線相互平行 正投影（正交投影）：投影線垂直於投影平面 多檢視投影：物體的座標面與投影面平行，正檢視、側檢視、俯檢視 軸測投影：物體的三個座標面或座標軸與投影面均不平行 正等軸測投影（正等測）：投影時三個座標軸等比例縮放，投影面座標軸夾角 120 正二軸測投影（正二測）：投影時兩個座標軸等比例縮放，第三個座標軸縮放比例不同 正三軸測投影（正三測）：投影時三個座標軸縮放比例均不相等 斜投影：投影線不垂直於投影平面 斜等軸測投影（斜等測） 斜二軸測投影（斜二測） 斜三軸測投影（斜三測） 透視投影：投影中心與投影平面的距離是有限的 一點透視 兩點透視 三點透視 平行投影 平行投影是投影線相互平行的投影。若投影線垂直於投影面則稱正投影，若投影面傾斜於投影面則稱斜投影。 正交投影 正交投影是一系列用於顯示三維物體的輪廓、細節或精確測量結果的變換方法。通常又稱作截面圖、鳥瞰圖或立面圖。 當視平面的法向（即攝像機的朝向）平行於笛卡爾座標系三根座標軸中的一根，數學變換定義如下： 若使用一個平行於 y 軸（側檢視）的正交投影將三維點 a_x a_y a_z 投影到二維平面上得到二維點 b_x b_y，可以使用如下公式 b_x s_x a_x c_x b_y s_z a_z c_z 其中向量 s 是一個任意的縮放因子，而 c 是一個任意的偏移量。這些常量可自由選擇，通常用於將視口調整到一個合適的位置。該投影變換同樣可以使用矩陣表示（為清晰起見引入臨時向量 d） begin bmatrix d_x d_y end bmatrix begin bmatrix 1 0 0 0 0 1 end bmatrixbegin bmatrix a_x a_y a_z end bmatrix begin bmatrix b_x b_y end bmatrix begin bmatrix s_x 0 0 s_z end bmatrixbegin bmatrix d_x d_y end bmatrix begin bmatrix c_x c_z end bmatrix 雖然正交投影產生的影像在一定程度上反映了物體的三維特性，但此類投影影像和實際觀測到的並不相同。特別是對於相同長度的平行線段，無論離虛擬觀察者（攝像機）遠近與否，它們都會在正交投影中顯示為相同長度。這會導致較近的線段看起來被縮短了。 斜投影 斜投影不像正交投影一樣投影線垂直於投影面，而是投影線與投影面成非 90 度的斜角。 透視投影 透視投影的定義更為複雜。可以將其理解為透過攝像機取景器對於被投影物體進行觀察。攝像機的位置、朝向和視野都將影響投影變換的結果。我們定義以下變數來對這一變換進行描述： mathbf a_xyz：將被投影的三維空間中的點。 mathbf c_xyz：攝像機的位置。 mathbf theta_xyz：攝像機的旋轉角度。當 mathbf c_xyz000 且 mathbf theta_xyz000 三維向量 120 將被投影到二維向量 12。 mathbf e_xyz：觀測者相對顯示平面的位置。 最終結果為： mathbf b_xy：mathbf a 所產生的二維投影。 首先我們定義點 mathbf d_xyz 作為點 mathbf a 向攝像機座標系所作的變換，其中攝像機座標系由攝像機的位置 mathbf c 和旋轉 mathbf theta_xyz 所決定。該過程為：先用 mathbf a 減去 mathbf c，然後使用由 mathbf theta 產生的旋轉矩陣乘上該結果。該變換通常稱為攝像機變換 注意該計算過程假設使用左手法則： begin bmatrix mathbf d_x mathbf d_y mathbf d_z end bmatrixbegin bmatrix 1 0 0 0 cos mathbf theta_x sin mathbf theta_x 0 sin mathbf theta_x cos mathbf theta_x end bmatrixbegin bmatrix cos mathbf theta_y 0 sin mathbf theta_y 0 1 0 sin mathbf theta_y 0 cos mathbf theta_y end bmatrixbegin bmatrix cos mathbf theta_z sin mathbf theta_z 0 sin mathbf theta_z cos mathbf theta_z 0 0 0 1 end bmatrixleft begin bmatrix mathbf a_x mathbf a_y mathbf a_z end bmatrix begin bmatrix mathbf c_x mathbf c_y mathbf c_z end bmatrix right Rotation About an Arbitrary Axis in 3 Dimensions Glenn Murray 201366 2014423 或者使用以下這種非矩陣表示的形式，其中角度的正負號與矩陣表示形式不同： begin arraylcl d_x cos theta_ycdot sin theta_zcdot a_yc_ycos theta_zcdot a_xc_xsin theta_ycdot a_zc_z d_y sin theta_xcdot cos theta_ycdot a_zc_zsin theta_ycdot sin theta_zcdot a_yc_ycos theta_zcdot a_xc_xcos theta_xcdot cos theta_zcdot a_yc_ysin theta_zcdot a_xc_x d_z cos theta_xcdot cos theta_ycdot a_zc_zsin theta_ycdot sin theta_zcdot a_yc_ycos theta_zcdot a_xc_xsin theta_xcdot cos theta_zcdot a_yc_ysin theta_zcdot a_xc_x end array 然後將變換後的該點透過以下方程投影到二維平面（此處投影平面為 xy 平面，有時也使用 xz） begin arraylcl mathbf b_x mathbf d_x mathbf e_x mathbf e_z mathbf d_z mathbf b_y mathbf d_y mathbf e_y mathbf e_z mathbf d_z end array 或在齊次座標系下可以表示為： begin bmatrix mathbf f_x mathbf f_y mathbf f_z mathbf f_w end bmatrixbegin bmatrix 1 0 0 mathbf e_x 0 1 0 mathbf e_y 0 0 1 0 0 0 1mathbf e_z 0 end bmatrixbegin bmatrix mathbf d_x mathbf d_y mathbf d_z 1 end bmatrix 和 begin arraylcl mathbf b_x mathbf f_x mathbf f_w mathbf b_y mathbf f_y mathbf f_w end array 觀測者到顯示平面的距離，mathbf e_z，直接關係到視野的大小。alpha2 cdot tan11mathbf e_z 為可視角度。（這裡假設螢幕的兩角為 11 和 11） 如果要在一些特定的顯示裝置上顯示該二維平面，之後還要進行一些必要的剪裁和縮放操作。 圖示 計算三維空間中位於 Ax，Az 的點在螢幕座標 x 軸的位置： screen x coordinate Bx model x coordinate Ax times frac distance from eye to screen Bzdistance from eye to point Az 對於 y 軸同樣有 screen y coordinate By model y coordinate Ay times frac distance from eye to screen Bzdistance from eye to point Az 其中 Ax 和 Ay 是透視轉換前物體在空間中的座標 參看 計算機圖形學 三維計算機圖形 透視 單應性 三維投影的數學理論：投影 參考文獻 延伸閱讀 Category 線性代數 Category 立體幾何 Category 射影幾何 Category 三維計算機圖形學 Category 三維成像 Category 投影圖 Category 函式