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

Cai*_*ene 2 javascript quaternions three.js

我正在尝试旋转行星表面上的箭头以面向它行进的方向。我可以从表面法线获得方向向量和向上向量。我将如何将其转换为箭头旋转的四元数。我正在使用three.js,所以他们提供的任何我可以使用的建议方法都会很有用。干杯。

在此处输入图片说明

我目前掌握的信息。

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 );
Run Code Online (Sandbox Code Playgroud)

bjo*_*rke 5

尝试(与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);
Run Code Online (Sandbox Code Playgroud)