变换矩阵

本文详细介绍了变换矩阵在3D图形中的应用,包括缩放、旋转、平移矩阵的组合,子坐标系与父坐标系的关系,以及透视和正交投影矩阵的工作原理。还探讨了如何从深度图重建位置,特别是在延迟渲染和SSR特效中的应用,强调了深度信息处理的重要性及其精度挑战。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、变换矩阵

变换矩阵可以分解为缩放,旋转,平移矩阵的乘积:

M = T * R * S - 右手坐标系

当均匀缩放时,旋转和缩放可以交换顺序

缩放和平移不可以交换顺序

2、子坐标系与父坐标系

由在父坐标系中的坐标位置P,和三根轴X,Y,Z可定义一个子标系,按列构成一个变换矩阵[X,Y,Z,P],这个矩阵构成由子标系变换到父坐标系的变换矩阵。DX里面需要转置一下。即按行构造。

一个例子是视图矩阵的构建,子空间由视点和三根正交轴定义,视图矩阵则是由它们构成的列矩阵的仿射求逆-由世界变换到视图空间。

另一个例子世界变换矩阵,它由新模型坐标系的位置和三根轴【定义在世界空间】按列构成。即由模型空间变换到世界空间。初始情况模型空间与世界空间是对齐的。

3、投影矩阵-OpenGL

透视投影矩阵:

可以知道投影变换后的w=-Ze,即在视图空间的深度

在投影面上的坐标Xp, Yp为:Xp=n*Xe/-Ze=Xclip/w*r,Yp=n*Ye/-Ze=Yclip/w*t

投影后Ze从[-n,-f]线性映射到[-n,f],除以w后进一步非线性映射到[-1,1]

透视投影除以w后,视景体的八个角点【视图空间坐标】分别映射到NDC空间中的八个角点,如[r,t,-n,1]映射到[1,1,-1,1],[f*r/n,f*t/n,-f,1]映射到[1,1,1,1]

正交投影矩阵:

变换后w=

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值