三维变换
二级目录
满足下方条件的一个坐标点,即w!=0的条件下,最下方的x/w,y/w,z/w就是三维空间下的坐标点数据。
在三维空间变换中,先进行线性变换,再进行非线性变换
这里的坐标轴是右手螺旋定则,xy叉乘会得到z,yz叉乘会得到x,zx叉乘会得到y(循环对称性质)
因为绕y轴旋转的话,y轴是通过zx叉乘出来的,跟给定的顺序xyz不一样,而如果按照书写逻辑xyz的xz来的话,那其实旋转的角度就是-α角度,所以会出现sin和负sin调换位置。
在使用具体的单位轴(笔头验算)进行计算后验证了这个结论,绕y轴旋转的确会有不同的旋转矩阵。
通过三个简单的旋转的组合,来描述出任一轴旋转
α、β、γ为三个标准轴旋转的角度,又被称为欧拉角
所以出来了一个公式来表达:罗德里克斯公式
但是这里默认是我们这个任意的旋转轴起点是原点,如果旋转轴有位移的要素的话,我们的做法与2D相同,先位移到原点、再旋转、再位移回去。
观察和投影变换(观测变换)-----View Transformation
二级目录
要确定一个观察矩阵,我们需要确定一个相机的位置信息,朝向信息以及向上的一个向量。
约定俗成相机就放置在原点,y轴是他的向上向量,永远看着-Z方向。
这样只要有物体移动,相机与物体之间的相对位置肯定会发生变化。
如何获得这个观察矩阵呢?
其实我们的方法也不难,就是将观察(相机)的坐标系变换到原点位置(相机空间的原点),然后将这个变换过程(观察矩阵)赋予被观察物体,那么根据相对运动的原理,变换后的物体坐标就是在观察空间下的坐标(因为相机三条基本轴已经与观察空间基本轴重叠)。