2016-03-12 3 views
0

Мне было интересно, как я вычислил направление, в котором объект будет перемещаться в заданную точку. Поэтому, если бы у меня был шар в координатах 10,10, и я дал ему координаты 15,15, он знал бы, что он будет двигаться вверх и направо на таком же расстоянии (т. Е. Координаты java y увеличиваются вверх и перемещаются на одинаковое расстояние вправо до получил там). Но если бы я дал тот же шар, то 20,15 он не двигался бы по обоим очкам равномерно (т.е. расстояние вверх, а затем вправо). Было бы здорово, если бы я мог получить результат в значениях int. Как и количество пикселей для перемещения вверх за галочку и количество пикселей для перемещения по каждому тику. (Очевидно, что у этого будет колпачок, поэтому он действительно просто регулирует одну из переменных, чтобы получить желаемый курс).Расчет угла перемещения по

Спасибо, кучи.

+1

Check [Line Generation Алгоритм] (http://www.tutorialspoint.com/computer_graphics/line_generation_algorithm.htm). –

+1

Я думаю, вы также должны показать свой код, который вы пытаетесь написать, и конкретные проблемы, с которыми вы сталкиваетесь. – Learner

+0

Я голосую, чтобы закрыть этот вопрос как не по теме, потому что речь идет об элементарной математике, а не о программировании – Raedwald

ответ

0

Метод atan2() возвращает угол, необходимый для перемещения. Например:

double angle = Math.atan(end.y - start.y, end.x - start.x); 

Как и во всех Триг функций Java, angle будет в радианах.

+0

Хорошо спасибо :) – Llewv

Смежные вопросы