|
发表于 2009-5-26 16:40:53
|
显示全部楼层
从DOF的坐标系转换到迪卡尔局部坐标系似乎并不是什么难事,参考DOFTransform::computeLocalToWorldMatrix的实现,比如对于HPR模式:
osg::Matrix current;
current.makeTranslate(getCurrentTranslate());
current.preMult(osg::Matrix::rotate(getCurrentHPR()[0], 0.0, 0.0, 1.0));//heading
current.preMult(osg::Matrix::rotate(getCurrentHPR()[1], 1.0, 0.0, 0.0));//pitch
current.preMult(osg::Matrix::rotate(getCurrentHPR()[2], 0.0, 1.0, 0.0));//roll
current.preMultScale(getCurrentScale());
然后还需要在这个current矩阵的左右分别乘以PUT矩阵及其逆矩阵,但是我个人并不清楚这个PUT矩阵的含义 |
|