|
![](static/image/common/ico_lz.png)
楼主 |
发表于 2011-3-23 13:13:26
|
显示全部楼层
本帖最后由 口口广大 于 2011-3-23 13:14 编辑
以下是我利用矩阵旋转的思路,但是得不到理想结果,不知道哪里出问题,请大家看看,谢谢!
- osg::Matrix mat1; //定义一个单位矩阵
- osg::Quat att1 = osg::Quat(osg::PI_2,osg::Vec3(0.0,0.0,1.0)); //先绕着Z轴转90度
- att1 = att1*localLookUp; //由于是地心坐标系,再乘上一个此时的北向量。
- mat1.makeRotate(att1); //四元数转化为单位矩阵
- osg::Vec3d M ; //航向向量M,已知
- M = M*mat1; //乘以旋转矩阵,此刻即想实现两个向量叉乘得到平面法线同等的效果
- M.normalize(); //归一化
- osg::Vec3d pos2 = pos1+10*M; //坐标平移
- osg::Vec3d pos3 = pos1-10*M;
复制代码 |
|