Threejs,在箭头助手上规范化矢量以获得正确方向的正确方法是什么

时间:2014-09-15 19:37:27

标签: three.js

这很可能是一个数学问题。我有一个线几何将其顶点位置提供给箭头助手。箭头助手在其方向向量上运行normalize()以呈现其输出。如果我在视图中将它们叠放在一起,箭头向量会向上射出,同时线条完美地绘制在屏幕右侧。我期待箭头助手与线几何同步。

var origin = new THREE.Vector3(0, 10, 0);
var direction = new THREE.Vector3(80, 10, 0);
direction.normalize();
/*
    direction after its normalized
    Object
    x: 0.9922778767136676
    y: 0.12403473458920845
    z: 0
*/

http://jsbin.com/nazapabaxaco/1/edit?html,js,output

数学上这对箭头辅助矢量来说实际上是正确的。但这不是预期的结果。如果我将距离X增加到500,那么两个会再次收敛但不完全收敛,它们仍然不同步,只是在很长距离内拍摄。

使用中的矢量将来自移动物体而不是相机的非项目方法,因此需要动态输入点数。

1 个答案:

答案 0 :(得分:4)

通过从另一个线段中减去一个线段端点来计算方向向量,然后进行标准化。