2.2 變換(模型、視圖、投影)

三維變換

  • 仿射變換
  • 三維旋轉變換
    • 逆時針角度爲正
    • 右手系原因,y軸逆時針看去是 zox 平面,所以轉角應該是 α-\alpha
    • 也可理解爲
      • z×x=y ,x×z=yz \times x = y\ , \quad x \times z = -y
        三維旋轉矩陣
  • Rodrigues’ Rotation Formula
    • 給定過原點旋轉軸 n, 旋轉角 α\alpha,旋轉矩陣如下
    • 非過原點軸,先把軸平移到原點,旋轉,再平移回去

RRF旋轉矩陣

  • 四元數(略)

觀測變換(Viewing transformation)

視圖 (View)

  • 什麼是視圖變換
  • 模型變換與視圖變換,兩者通常一同處理
    • 改變模型動作,模型變換
    • 改變相機視角,視圖變換
    • 拍照,相當於投影變換
  • 爲什麼要模型 / 視圖變換
    • 因爲模型有很多頂點
    • 這些頂點座標是模型空間下的
    • 需要移動到世界座標
    • 所以要做模型變換

定義相機

  • 位置 / position e\quad \vec{e}
  • 朝向 / gaze direction g^\quad \hat{g}
  • 向上方向 / Up direction t^\quad \hat{t}

定義相機

  • 約定俗成的相機
    • 永遠放在原點
    • 永遠朝向 Z-Z
    • t^=Y\hat{t} = Y

如何將相機移動到約定俗成位置

  • 相機變換過程
    • 平移到原點
    • 旋轉  g^=Z\ \hat{g} = -Z
    • 旋轉  t^=Y\ \hat{t} = Y
    • 旋轉  g×t=X\ g \times t = X
  • 相機變換矩陣推導(旋轉矩陣可以逆向思維)
    相機變換矩陣

投影 (Projection)

  • 3D到2D
  • 正交是垂直
  • 透視投影平行線不再平行
    • 近大遠小

正交(Orthography)Mo\quad M_o

  • 簡單的正交投影
    • Z歸零
    • 歸一化 [1, 1]\ [-1,\ 1]
  • 常規的正交投影
    • 立方體中心平移到原點
    • 邊長歸一化 [1, 1]\ [-1,\ 1]
  • 正交變換矩陣如下:
    正交變換矩陣

透視(Perspective)Mp\quad M_p

  • 特點
    • 最廣泛的投影
    • 近大遠小
    • 平行線不再平行
  • 投影方法
    • 從透視變換到正交
    • 正交投影
    • 假設顯示屏幕距原點距離爲 n\ n
  • 透視到投影矩陣推導(根據以下三個點)
    • 通俗的講,把梯形壓縮成長方形
      • 中間點等比例變換
      • 近平面、遠平面上的 ZZ 座標不變

壓縮圖解
(x,y,z,1)(x,y,z,1)(x,y,z,1)(x,y,z,1) (x, y, z, 1) \rightarrow (x', y', z, 1) \quad \quad (x', y', z', 1) \rightarrow (x', y', z', 1)

  • 透視變換矩陣如下
    Mp=Mo(n0000n0000n+znz0010) M_p = M_o \cdot \left( \begin{matrix} n & 0 & 0 & 0 \\ 0 & n & 0 & 0 \\ 0 & 0 & n+z & -nz \\ 0 & 0 & 1 & 0 \end{matrix} \right)

透視變換,中間平面的 zz 座標如何變化?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章