其他分享
首页 > 其他分享> > 【GAMES101学习笔记】04 - 视图变换

【GAMES101学习笔记】04 - 视图变换

作者:互联网

1. MVP 变换简介

2. 视图/相机变换(View/Camera Transformation)

定义一个相机

screenShot.png

关键

screenShot.png

因此,我们总将 Camera 固定在一个 标准位置

2.1 视图/相机变换

将相机从一个任意位置变换到标准位置

screenShot.png

构造矩阵 M v i e w M_{view} Mview​ :

NOTE

3. 投影变换(Projection transformation)

计算机图形学中的投影:

screenShot.png

screenShot.png

3.1 正交投影(Orthographic projection)

方法一

screenShot.png

方法二

screenShot.png

NOTE

构造矩阵 M o r t h o M_{ortho} Mortho​ :

3.2 透视投影(Perspective projection)

screenShot.png

3.2.1 透视投影的过程

screenShot.png

3.2.2 构造变换矩阵

STEP - 01:先找到在 xoy 平面上的变换关系

screenShot.png

STEP - 02:再找在 z 轴方向上的变换关系

矩阵 M p e r s p → o r t h o M_{persp \to ortho} Mpersp→ortho​ 中的第三排控制 z ↦ z ′ z \mapsto z' z↦z′ :

SETP - 03 :构造透视投影矩阵

此时已经得到了 挤压矩阵 M p e r s p → o r t h o M_{persp \to ortho} Mpersp→ortho​ :
M p e r s p → o r t h o = ( n 0 0 0 0 n 0 0 0 0 n + f − n f 0 0 1 0 ) M_{persp \to ortho} = \begin{pmatrix} n & 0 & 0 & 0 \\[1.5ex] 0 & n & 0 & 0 \\[1.5ex] 0 & 0 & n + f & -nf \\[1.5ex] 0 & 0 & 1 & 0 \end{pmatrix} Mpersp→ortho​=⎝⎜⎜⎜⎜⎜⎛​n000​0n00​00n+f1​00−nf0​⎠⎟⎟⎟⎟⎟⎞​

因此可得 透视投影矩阵 为:
M p e r s p = M o r t h o ⋅ M p e r s p → o r t h o = [ 2 r − l 0 0 0 0 2 t − b 0 0 0 0 2 n − f 0 0 0 0 1 ] [ 1 0 0 − r + l 2 0 1 0 − t + b 2 0 0 1 − n + f 2 0 0 0 1 ] [ n 0 0 0 0 n 0 0 0 0 n + f − n f 0 0 1 0 ] \begin{aligned} &M_{persp} = M_{ortho} \cdot M_{persp \to ortho} = \\[3ex] &\begin{bmatrix} \frac{2}{r-l} & 0 & 0 & 0 \\[1.5ex] 0 & \frac{2}{t-b} & 0 & 0 \\[1.5ex] 0 & 0 & \frac{2}{n-f} & 0 \\[1.5ex] 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} 1 & 0 & 0 & -\frac{r+l}{2} \\[1.5ex] 0 & 1 & 0 & -\frac{t+b}{2} \\[1.5ex] 0 & 0 & 1 & -\frac{n+f}{2} \\[1.5ex] 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} n & 0 & 0 & 0 \\[1.5ex] 0 & n & 0 & 0 \\[1.5ex] 0 & 0 & n + f & -nf \\[1.5ex] 0 & 0 & 1 & 0 \end{bmatrix} \end{aligned} ​Mpersp​=Mortho​⋅Mpersp→ortho​=⎣⎢⎢⎢⎢⎢⎡​r−l2​000​0t−b2​00​00n−f2​0​0001​⎦⎥⎥⎥⎥⎥⎤​⎣⎢⎢⎢⎢⎢⎡​1000​0100​0010​−2r+l​−2t+b​−2n+f​1​⎦⎥⎥⎥⎥⎥⎤​⎣⎢⎢⎢⎢⎢⎡​n000​0n00​00n+f1​00−nf0​⎦⎥⎥⎥⎥⎥⎤​​

标签:1.5,begin,end,04,视图,ortho,pmatrix,ex,GAMES101
来源: https://blog.csdn.net/weixin_44423708/article/details/116986055