图形学、02 推导证明 | 任意一点经过透视投影后 z 坐标相对于之前有什么变化

齐次坐标知识点: [xyz1][nxnynzn] 两个都表示同一个点

透视投影:先将远截面按一定规则缩放到跟近截面一样大,然后再正交投影

缩放规则:远截面缩放后z不变,缩放过后大小同近截面相同。

image-20231016101159983

截取yz平面,ZNear=n,ZFar=f ,则任意一点经过缩放后: y=nzy (相似三角形)

xz平面同理: x=nzx ,即 [xyz1][nzxnzyunknown1][nxnyunknownz]

如此可以确定一部分矩阵参数:

Mpersportho=[n0000n00............0010]

对于近截面和远截面上的点,透视变换后z是不变的(缩放规则)

只看第三行的结果

[ABCD][xyz1]z2

显然 A=B=0 ,代入 Z=nZ=f

Cn+D=n2

Cf+D=f2

得到 C=n+f,D=nf

最后求得

Mpersportho=[n0000n0000n+fnf0010]


课后问题:对于任意一个满足 nzf 的点,经过透视投影后, z 坐标相对于之前有什么变化

Mpersportho[xyz1][nxny(n+f)znfz][nzxnzy(n+f)znfz1]

比较 f(z)=(n+f)znfzz 跟0的关系即可,不妨乘以一个 z 得到:

zf(z)=z2+(n+f)znf=(zn)(fz)

nzfzf(z)0 ,故 f(z)0即透视投影后, z 坐标相对于以前离相机更远了

f(z)=(n+f)znfzz ,对 z 求偏导

fz=(n+f)z(n+f)z+nfz21fz=nfz21=nfz2z2z2=nfz=±nf

nnf 单调递增,从 nff 单调递减


分数怎么求导

g(x)0,f(x),g(x) 均可导 [f(x)g(x)]=f(x)g(x)g(x)f(x)[g(x)]2

posted @   小能日记  阅读(159)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示