旋转的方向向量(three.js)

时间:2015-09-29 16:50:20

标签: javascript three.js quaternions

我正在尝试旋转行星表面上的箭头以面向它行进的方向。我可以从表面法线获得方向向量和向上向量。我怎样才能将其变成四元数以便我的箭头旋转。我正在使用three.js,所以他们提供的任何建议方法都可以使用。欢呼声。

enter image description here

到目前为止我所掌握的信息。

var upVector = new THREE.Vector3();
upVector.subVectors( new THREE.Vector3(0,0,0), lastVec );

var dirVector = new THREE.Vector3();
upVector.subVectors( lastVec, destVec );

var sideVector = new THREE.Vector3();
sideVector.crossVectors( dirVector, upVector );

var newUp = new THREE.Vector3();
newUp.crossVectors( dirVector, sideVector );

1 个答案:

答案 0 :(得分:2)

尝试(使用myDirectionVector):

var mx = new THREE.Matrix4().lookAt(myDirectionVector,new THREE.Vector3(0,0,0),new THREE.Vector3(0,1,0));
var qt = new THREE.Quaternion().setFromRotationMatrix(mx);