КОД:
градусов между двумя векторами:
public function degreesTwoVectors(v1A:Object, v1B:Object, v2A:Object, v2B:Object):Number
{
var angle = (Math.atan2(v1B.y-v1A.y, v1B.x-v1B.x) - Math.atan2(v2B.y-v2A.y, v2B.x-v2B.x)) * (180/Math.PI);
if (angle > 180) angle -= 360;
if (angle < -180) angle += 360;
return angle;
}
радианах между двумя векторами:
public function radiansTwoVectors(v1A:Object, v1B:Object, v2A:Object, v2B:Object):Number
{
var angle = Math.atan2(y2-y1, x2-x1) - Math.atan2(y4-y3, x4-x3);
if (angle > Math.PI) angle -= Math.PI*2;
if (angle < -Math.PI) angle += Math.PI*2;
return angle;
}
Примеры использования:
degreesTwoVectors(circle1, circle2, circle3, circle4);
или
degreesTwoVectors(circle1, circle2, circle2, circle3);
или
degreesTwoVectors({x:0,y:0}, circle1, {x:100,y:100}, circle2);
Описание:
//v1A: Object A of vector 1;
//v1B: Object B of vector 1;
//v2A: Object A of vector 2;
//v2B: Object B of vector 2;
привет Веспер .. IAM получать значения 0.12,0.15,0.25. Итак, каков будет угол от этого (например, 85 градусов или 60 градусов) – Nithil
Умножьте этот результат на 180 и разделите на PI. Я специально написал «радиан». – Vesper
Спасибо .. за быстрый ответ и точный ответ – Nithil