我正在努力寻找使用内置函数
在两个向量之间找到角度的问题var v1:Vector3D = new Vector3D(0, 0, 0);
var v2:Vector3D = new Vector3D(50, 0, 50);
//Vector3D(0, 0, 0) Vector3D(50, 0, 50)
var angle1:Number = Vector3D.angleBetween(v1,v2) * 180 / Math.PI;
var angle2:Number = Vector3D.angleBetween(v2,v1) * 180 / Math.PI;
trace(angle1,angle2);
这将返回angle1和angle2
的NaN但是,如果我将一个非零值(任何较小的数字,如0.00001)作为y属性传递给任何一个向量,那么我得到数字/角度
出于这个原因,我在克隆我的向量并在调用此方法之前向y添加一个小数字(0.00001)。
我不确定我做错了什么或者是那里的错误。有人可以帮忙吗?
答案 0 :(得分:4)
Vector(0,0,0)具有无限角度和0大小(来自df。)。这就是为什么两者之间没有角度的原因。 你可以添加
if(angle1 == NaN) {
//fix
}
让它按照你想要的方式工作。