抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

写在前面:MVP矩阵变换在本科的时候就已经学过多次,研究生接触到的Nerf,3DGaussian用到的世界空间转屏幕空间则都是用相机内外参矩阵计算的,虽然这两种变换本质上做的是一件事,但是由于这两种表示方法直接参与计算的物理量不太一样,表示形式也不太一样,经常是我头脑旋转。昨晚又重新学了一遍相机内外参矩阵,思考了一下其与MVP矩阵的对应关系,终于感觉自己几近神功大成,故把学到的所有知识和思路整理于此,以便再次学习(倒。

首先在讨论空间直角坐标系的时候一定先区分手系,左手系和右手系的旋转矩阵是不一样的,常见的软件和框架使用的手系及默认朝上的坐标轴区别如下图(图源网络):
不同NDF曲线对比

另外,不同的框架对相机的坐标系建模也会有差别,原理上没有区别,但不同的建模会导致最后的变换矩阵有些符号差异:
不同NDF曲线对比

涉及到的坐标系

不管是相机内外参还是MVP矩阵,所要做的事情都是空间坐标系的转换,涉及到的坐标系有:

  • 模型空间坐标系
  • 世界空间坐标系
  • 裁剪空间坐标系
  • 屏幕空间坐标系

绕坐标轴旋转

Blender中相机平移旋转参数和相机变化矩阵的相互转换计算

罗德里格斯角旋转公式

Look-Up Transformation

法线的变换

参考资料:

评论