Войти
ПрограммированиеФорум2D графика и изометрия

Подкиньте идею! как определить направление от точки до курсора мыши

#0
4:11, 11 окт. 2013

есть герой и нужно чтобы он поворачивался по направлению к курсору

есть  8 направлений и координаты на экране героя и мышки

Я конечно свой способ придумал но он мне непонравился =(
уверен что тут есть знающие люди которые предложат оптимальный вариант


#1
6:56, 11 окт. 2013

преобразовываешь координаты курсора в глобальные, отнимаешь координаты героя, через atan2(x, y) получаешь угол в радианах.

#2
12:19, 11 окт. 2013

nigga-digga
Делаешь vec3_cross на плоскости между направлением героя и направлением на цель (верт координата Vec3 смотрит вверх). Если результат смотрит вверх - поворот в одну строну, иначе в другую. Если близко к нулю, не поворачиваем.

#3
17:17, 11 окт. 2013

ВСе я уже разобся

a = mousex - herox;
b = mousey - heroy;
c = sqrt(a*a + b*b);
cosinus = a/c
t = round(cosinus * 2); // округление в сторону ближайшего целого

теперь при mousey >= heroy
if t == 2 восток
if t == 1 юговосток
if t == 0 юг
if t == -1 югозапад
if t == -2 запад
при mousey < heroy
if t == 2 восток
if t == 1 северовосток
if t == 0 север
if t == -1 северозапад
if t == -2 запад

#4
19:25, 11 окт. 2013

Ну и адЪ.

nigga-digga, ты только новые темы не начинай резко плодить сейчас, хорошо?

#5
22:39, 11 окт. 2013

Через разность всё равно каких координат определяется вектор перемещения, потом скалярно умножается на все векторы и выбирается вектор с наибольшим скалярным произведением. Поскольку таких могут и неоднократно хоть раз обязательно будут два, то нужно задаться правилом выбора между двумя направлениями.

#6
21:28, 15 окт. 2013

http://www.berecursive.com/2008/c/rotating-a-sprite-towards-an-object-in-xna

#7
5:22, 23 окт. 2013


slava_mib
> ты только новые темы не начинай резко плодить сейчас, хорошо?

НЕ ну понятно что модераторы ждут что на форуме будут обсуждатся некие филосовские вопросы о высшых материях
А большенство обычных людей лезет в форум для получения ответов на вопросы (пускай и несовсем умесных с точки зрения некоторых просветленых =)


Вобщем темы будут и много =))

#8
13:17, 23 окт. 2013

nigga-digga
Модераторы ждут, что человек, перед тем, как спрашивать на форуме, соблаговолит хотя бы открыть математику за 7 й класс и наконец-то ее почитает.

#9
14:06, 23 окт. 2013

Модераторы ждут, что человек сначала почитает, а потом спросит потому, что без понятия о предмете даже готовый ответ понять невозможно.
http://www.alleng.ru/d/math/math218.htm
http://www.matburo.ru/st_subject.php?p=form
http://www.alleng.ru/d/math/math201.htm
http://www.alleng.ru/d/math/math162.htm

ПрограммированиеФорум2D графика и изометрия

Тема в архиве.