AcGeMatrix3d与osg::Matrixd
- AcGeMatrix3d与osg::Matrixd是互为转置
- ObjectArx矩阵采用后乘,也叫右乘(与OpenGL一致),坐标使用列向量形式
- Osg矩阵采用前乘,也叫左乘(与DirectX一致), 坐标使用行向量的形式
代码验证
以下代码演示了,将一个模型绕X轴平移2500, 绕Z轴旋转90度,以及一个在Y方向错切45度的结果。
//osg
//pos * 错切 * 旋转 * 平移
osg::Matrixd mFinalMatrix = obliqueMatrix * mRotateMatrix * translateMatrix;
//objectArx或opengl
//平移 * 旋转 * 错切 * pos
AcGeMatrix3d mAcgeFinalMatrix = mTranslateMatrix *mRotationMatrix *mObliqueMatrix;