【问题标题】:Direction vector to a rotation (three.js)旋转方向向量(three.js)
【发布时间】:2015-12-27 06:22:48
【问题描述】:

我正在尝试旋转行星表面上的箭头,使其朝向它的行进方向。我可以从表面法线得到方向向量和向上向量。我将如何将其变成四元数以进行箭头旋转。我正在使用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 );

【问题讨论】:

    标签: javascript three.js quaternions


    【解决方案1】:

    试试(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);
    

    【讨论】:

    • 感谢您的建议,这是我目前所得到的,将在我的项目中进行测试jsfiddle.net/wyb9jm5e/3
    • 酷,现在只需为每一帧更新myDirectionVector(因为现在您将其强制为常数),矢量跟随将非常明显:)
    猜你喜欢
    • 2015-02-06
    • 1970-01-01
    • 1970-01-01
    • 2014-10-24
    • 2014-02-27
    • 2016-05-31
    • 1970-01-01
    • 2011-02-25
    • 1970-01-01
    相关资源
    最近更新 更多