齊次坐標知識點: \(\begin{bmatrix} x \\ y \\ z \\ 1 \\\end{bmatrix} \Rightarrow\begin{bmatrix} nx \\ ny \\ nz \\ n \\\end{bmatrix}\) 兩個都表示同一個點
透視投影:先將遠截面按一定規(guī)則縮放到跟近截面一樣大,然后再正交投影
縮放規(guī)則:遠截面縮放后\(z\)不變,縮放過后大小同近截面相同。
截取yz平面,\(ZNear = n,ZFar = f\) ,則任意一點經(jīng)過縮放后: \(y^{’} = \frac{n}{z}y\) (相似三角形)
xz平面同理: \(x^{’} = \frac{n}{z}x\) ,即 \(\begin{bmatrix} x \\ y \\ z \\ 1 \\\end{bmatrix} \Rightarrow\begin{bmatrix} \frac{n}{z}x \\ \frac{n}{z}y \\ unknown \\ 1 \\\end{bmatrix}\Rightarrow\begin{bmatrix}nx \\ ny \\ unknown \\ z \\\end{bmatrix}\)
如此可以確定一部分矩陣參數(shù):
\(M_{persp\rightarrow ortho} = \begin{bmatrix} n & 0 & 0 & 0 \\ 0 & n & 0 & 0 \\ ... & ... & ... & ... \\ 0 & 0 & 1 & 0 \\\end{bmatrix}\)
對于近截面和遠截面上的點,透視變換后z是不變的(縮放規(guī)則)
只看第三行的結(jié)果
\(\begin{bmatrix} A&B&C&D\\ \end{bmatrix} \begin{bmatrix} x \\ y \\ z \\ 1 \\\end{bmatrix} \Rightarrow z^2\)
顯然 \(A = B = 0\) ,代入 \(Z = n ,Z = f\) 有
\(Cn+D = n^{2}\)
\(Cf+D = f^{2}\)
得到 \(C = n+f,D=-nf\)
最后求得
\(M_{persp\rightarrow ortho} = \begin{bmatrix} n & 0 & 0 & 0 \\ 0 & n & 0 & 0 \\ 0 & 0 & n+f & -nf \\ 0 & 0 & 1 & 0 \\\end{bmatrix}\)
課后問題:對于任意一個滿足 \(n\leq z\leq f\) 的點,經(jīng)過透視投影后, z 坐標相對于之前有什么變化
\(M_{persp\rightarrow ortho}\begin{bmatrix} x \\ y \\ z \\ 1 \\\end{bmatrix} \Rightarrow \begin{bmatrix} nx \\ ny \\ (n+f)z-nf \\ z\\\end{bmatrix}\Rightarrow \begin{bmatrix} \frac{n}{z}x \\ \frac{n}{z}y \\ \frac{(n+f)z-nf}{z} \\ 1\\\end{bmatrix}\)
比較 \(f(z) = \frac{(n+f)z-nf}{z} - z\) 跟0的關(guān)系即可,不妨乘以一個 z 得到:
\(z*f(z) = -z^{2} + (n+f)z-nf = (z-n)(f-z)\)
又 \(n\leq z\leq f\) ,\(z*f(z) \geq 0\) ,故 \(f(z) \leq 0\),即透視投影后, z 坐標相對于以前離相機更遠了
對 \(f(z) = \frac{(n+f)z-nf}{z} - z\) ,對 \(z\) 求偏導(dǎo)
\(\begin{array}{l} \frac{\partial f}{\partial z}=\frac{(n+f) z-(n+f) z+nf}{z^{2}}-1 \\ \frac{\partial f}{\partial z}=\frac{n f}{z^{2}}-1=\frac{nf-z^{2}}{z^{2}} \\ z^{2}=nf \quad z= \pm \sqrt{nf} \end{array}\)
從 \(n\) 到 \(- \sqrt{nf}\) 單調(diào)遞增,從 \(- \sqrt{nf}\) 到 \(f\) 單調(diào)遞減
分數(shù)怎么求導(dǎo)文章來源:http://www.zghlxwxcb.cn/news/detail-710746.html
\(\begin{array}{l} g(x) \neq 0 , f(x) , g(x) \text { 均可導(dǎo) } \\ {\left[\frac{f(x)}{g(x)}\right]^{\prime}=\frac{f^{\prime}(x) g(x)-g^{\prime}(x) f(x)}{[g(x)]^{2}}} \end{array}\)文章來源地址http://www.zghlxwxcb.cn/news/detail-710746.html
到了這里,關(guān)于圖形學(xué)、02 推導(dǎo)證明 | 任意一點經(jīng)過透視投影后 z 坐標相對于之前有什么變化的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!