osg中的向量是行向量,矩阵相应也是与行向量对应
v*M
矩阵最后一行对应的是平移,其它行列对应旋转和缩放,对角线元素值对应缩放值
inline void Matrixd::preMultTranslate( const Vec3d& v )
{
for (unsigned i = 0; i < 3; ++i)
{
double tmp = v[i];
if (tmp == 0)
continue;
_mat[3][0] += tmp*_mat[i][0];
_mat[3][1] += tmp*_mat[i][1];
_mat[3][2] += tmp*_mat[i][2];
_mat[3][3] += tmp*_mat[i][3];
}
}
opengl中的向量是列向量
M*v

本文探讨了OSG(OpenSceneGraph)中使用行向量与矩阵的乘法运算v*M,以及OpenGL中使用列向量的M*v乘法运算。详细解释了在OSG中矩阵的最后一行对应平移,其余部分对应旋转和缩放,对角线元素值对应缩放值。同时介绍了OSG中preMultTranslate方法的具体实现。
1058

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



