XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Jass
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
Sunn
To feel joy, not be blue
offline
Опыт: 4,975
Активность:
Angle between points
Можно ли используя нативки определить угол между ( x1, y1 ) и ( x2, y2 ) ?
Если нельзя, то скажите как в функции
Код:
function AngleBetweenPoints (location locA, location locB) returns real

близы выбрали точку отсчета для определения угла между точками?
З.Ы.
Вот мои догадки:
1) Точка отсчета == центр карты;
2) Точка отсчета == одна из точек;
Миниатюры
Кликните на картинку для увеличения
Название:  graph.JPG
Просмотров: 35
Размер:  9.6 Кбайт  
Старый 28.10.2008, 22:53
J
expert
offline
Опыт: 48,447
Активность:
чет непонял в чем вопрос...
Код:
function AngleBetweenPoints takes location locA, location locB returns real
    return bj_RADTODEG * Atan2(GetLocationY(locB) - GetLocationY(locA), GetLocationX(locB) - GetLocationX(locA))
endfunction
Atan2 находит тангенс между 0,0 и задаными координатами, и потом находит его арктангенс, в релзультате мы получаем угол в радианах, в чем проблема?

Jon добавил:
можно даже найти числено тангенс, это вроде отношение y к x (отношение противлежащего катета к прилижащему), и потом найти его арктангенс Atan
но Atan2 делает сразу и то и то...

Jon добавил:
точкой отсчета выбирается та которая идет первым пораметром функции, если была бы вторая то угол был бы противоположный, из точка конца отнитмаем точку начала и получаем вектор начало которого это точка отсчета
ну это любой знает... в чем именно вопрос?

Отредактировано Jon, 28.10.2008 в 23:31.
Старый 28.10.2008, 23:16
ScorpioT1000
Работаем
offline
Опыт: отключен
Цитата:
Точка отсчета == центр карты;

true
Старый 28.10.2008, 23:16
J
expert
offline
Опыт: 48,447
Активность:
Цитата:
1) Точка отсчета == центр карты;
false, первая кортинка неверна
Цитата:
2) Точка отсчета == одна из точек;
true, вторая картинка _почти_ верна, только p1 (первая точка в пораметрах) - точка отсчета
Старый 28.10.2008, 23:22
ScorpioT1000
Работаем
offline
Опыт: отключен
Jon
Цитата:
находит тангенс между 0,0 и задаными координатами

тогда это фэлс ибо 0,0 - начало координат =)
Старый 28.10.2008, 23:24
J
expert
offline
Опыт: 48,447
Активность:
ScorpioT1000 все я верно сказал, это кородинатная система работающая в функции тангенса, указывается одна точка, сопствено угол будет считатся между 0,0 и этой точкой, не путай 0,0 и 0,0 в разных координатных системах

Jon добавил:
Цитата:
тогда это фэлс ибо 0,0 - начало координат =)
но не центр карты
Старый 28.10.2008, 23:33
Sunn
To feel joy, not be blue
offline
Опыт: 4,975
Активность:
Цитата:
Сообщение от Jon
чет непонял в чем вопрос...

Не хотел юзать локации, за начинку ф-и спасибо.
Итог:
Миниатюры
Кликните на картинку для увеличения
Название:  graph.JPG
Просмотров: 31
Размер:  5.1 Кбайт  
Старый 28.10.2008, 23:43
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 11:53.