1.1、3D点和向量的齐次坐标表示
根据1中的第三部分变换的组合可知,3D点的仿射变换的齐次坐标方程可表示为
根据1中的2D线性变换中的缩放变换可类推3D的缩放变换的齐次坐标为
根据1中的2D变换中的平移变换可类推3D的平移变换的齐次坐标为
3D旋转变换与2D旋转略有不同,2D旋转只是绕着原点进行逆时针旋转,而3D空间中有三个轴,所以,三维空间中的物体可以分别绕三个轴进行旋转,所以,相应的旋转矩阵就有三个,假定坐标轴如下
因为是绕X轴旋转,所以,x轴的坐标不发生变化,变化的只有y和z的坐标,所以,相应的旋转矩阵可以写成如下形式
根据1中2D变换中旋转矩阵的推导,可知a=cosθ,c=sinθ,b=-sinθ,d=cosθ,所以,最终的旋转矩阵可以写成
绕y轴旋转与绕x和z轴旋转略有不同,当绕y轴旋转时,x轴与z轴的负方向垂直。
所以,符号会发生变化,1中的左上角定点坐标由(0,-1)变为(-sinθ,-cosθ)。右下角定点(1,0)的坐标分别变为(cosθ,-sinθ)
解上面两个方程,得到a=cosθ,b=sinθ,c=-sinθ,d=cosθ。所以就得到下面的旋转矩阵
这样做需要做三个矩阵的乘法,运算量较大,而罗德里格斯旋转矩阵解决了这个问题
空间中任一向量v,沿任一旋转轴k,旋转任一角度θ后得到的向量v'可以表示为
如上图所示,假设旋转轴k是个单位向量,因为向量v可以分解为平行于k的向量投影和垂直于k的向量投影
参考
GAMES101-现代计算机图形学入门-闫令琪_哔哩哔哩_bilibili
欢迎大家评论交流,作者水平有限,如有错误,欢迎指出
本文详细介绍了3D点的齐次坐标表示、仿射变换、缩放和平移,以及三维旋转变换中的绕x、y、z轴旋转矩阵和罗德里格斯公式。重点讲解了罗德里格斯旋转矩阵在减少计算复杂度上的优势。

























229

被折叠的 条评论
为什么被折叠?



