Здравствуйте.
Вот написал функцию и тестирую
this.turn = function(obj1,obj2){
var x = obj2.X() - obj1.X(),y = obj2.Y() - obj1.Y();
var x_bool = (x > 0)?true:false,y_bool = (y > 0)?true:false;//больше нуля?
x = x_bool?x:-x;y = y_bool?y:-y;
var incline = (90/100)*(x/((x+y)/100));//это вычисление, важно только это
return incline;
};
Функция принимает в качестве 1 аргумента объект, нужно найти наклон от объекта 1 к объекту 2 (второй аргумент), точнее нужно узнать как нужно повернуться чтобы объект 1 "смотрел" на объект 2, и вернуть наклон.
Моя функция имеет погрешность которая небольшая и плавает в зависимости от наклона и аргументов XY, что есть недопустимо
в геометрической задаче
.
У объектов которые будут переданы в качестве аргументов имеют гетеры obj.X() obj.Y() которые возвращают положение по X,Y соответственно.
Мой метод по идее на этот момент работает только с +x,+y,чтобы организовать и работу и с -x,-y методу нужно будет просто их менять на +x,+y запоминать какая ось будет "-"(минусовая) и потом поправлять ответ, например если
-x,+y то incline -90
+x,-y incline +90
-x,-y incline -180
Есть одно но, наклон у меня не по геометрическим правилам а по моим
У меня 0:верх 90:вправо -90:влево +-180:вниз