|
我想让一个飞机按照 图片中的路线降落 用animationPath 然后我已经确定了 关键点的位置坐标 但是朝向不对 代码如下 请问哪里出的问题? 我想让飞机水平朝向降落地点的方向
降落路线:
计算朝向的代码:- //计算关键点四元数
- osg::Vec3 direction(x-xx,y-yy,z-zz);
- osg::Vec3 positionCur(xx,yy,zz);
- osg::Vec3 up = positionCur;
- up.normalize();
- direction.normalize();
- //以地心向量反方向为up
- osg::Vec3 right=direction ^ up/*osg::Vec3(0,0,1)*/;
- right.normalize();
- direction = up^right;
- direction.normalize();
- osg::Matrix mat(right[0],up[0],-direction[0],0, right[1],up[1],-direction[1],0,
- right[2],up[2],-direction[2],0, 0,0,0,0 );
- myrotation=mat.getRotate().inverse();
复制代码 其中xx yy zz 是第一个关键点的坐标 x y z是第二个关键点的坐标 我想利用这两个关键点 所指的方向 与 第一个点的方向(原点到第一个点的方向)求向量积 获得水平向右的方向,然后求第一个点的方向和这个向右的方向的向量积 即我飞机的朝向(水平朝向降落点的方向) 然后搜了资料 说是利用代码中的构造方法 构造矩阵 作为关键点的旋转矩阵 但是运行结果 飞机朝向不正确 请问问题出在哪里 诚心求指导。。谢谢!! |
|