Показать сообщение отдельно
  #1 (permalink)  
Старый 23.12.2016, 21:53
Интересующийся
Отправить личное сообщение для ryslan-yc Посмотреть профиль Найти все сообщения от ryslan-yc
 
Регистрация: 18.12.2016
Сообщений: 23

Геометрическая функция, азимут по координаторам
Здравствуйте.
Вот написал функцию и тестирую
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:вниз
Ответить с цитированием