Я в одной игре, хочу сделать механизм, который, поворачивает башню, на необходимые мне координаты, состоящие из Х и Y. Координаты что цели, что башни постоянно известны. Так же при необходимости может быть известен угол поворота башни. Который считывается от 0 до 360 (Так же можно и в минус от 0 до -360), так же и с координатами, они могут идти в минусовые значения.
Вот для примера:
Башня:
Х1- 1;
Y1- 3;
Поворот: 30 градусов;
Цель:
X2- 5
Y2- 9
Что мне поможет это решить?
В школе у меня была крайне отталкивающая учительница по геометрии, от чего мои познания геометрии, оканчиваются лишь тем, что Пифагор придумал теорему Пифагора. По этому, я буду крайне рад, если вы мне поможете решить мою проблему. Заранее спасибо!
CosmoAriral, вы хотите посчитать некий угол, но угол бывает между прямыми (отрезками), но никак не между точками. Так какой угол вы хотите высчитать если у вас есть две точки.
Возьмите листочек бумаги и нарисуйте чего вам надо.
Угол 0 куда смотрит? Куда смотрит 90 градусов? Обычно считают, что 0 смотрит строго враво, а 90 - вверх.
Шаг 1. Вам неважно, где именно находятся башня и цель, важно их относительное положение, поэтому посчитайте dx=x2-x1, dy = y2-y1
Шаг 2. Подставьте в какую-нибудь обратную тригонометрическую функцию, например arctan(dy/dx). Тут правда незадача, если dx=0, то надо смотреть на знак dy и выдавать sign(dy)*90. Еще проблема, что arctan вам вернет значение от -90 до 90 всегда. Если dx отрицательно, то надо прибавить 180.