Сейчас 22:12:27 Понедельник, 25 ноября, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
[Вопрос] Нахождение угла поворота по координатам
SyzakyДата: Суббота, 22 Сентября 2012, 18:50:51 | Сообщение # 1
5 уровень
Группа: Проверенные
Сообщений: 104
Награды: 0
Репутация: 12
Блокировки:
Я решил сделать способность, которая снижает урон полученный юнитом в "лицо", то есть если он смотрит на противника, урон заметно снижен, если стоит спиной то нет.
Зная координаты владельца способности и агрессора, я нахожу проекцию 3 точки (дистанция между двумя юнитами и угол поворота владельца способности), образуется треугольник, с помощью формулы по координаторам x, y я находу cos угла и сравниваю его с 45. Но происходит черти что, условие то игнорируется, то не проходит в обще, не понятно почему дистанция между юнитами находиться криво. Вот код условия.

если что там 2 разные формулы, проверял как будет работать, может быть у меня не правильные формулы или я не правильно понимаю что-то, по идеи когда враг сзади юнита угол должен быть тупым и должно возвращать false


Сообщение отредактировал Syzaky - Суббота, 22 Сентября 2012, 18:57:31
 

Ty3uKДата: Суббота, 22 Сентября 2012, 18:57:56 | Сообщение # 2
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
Atan2(y2 -y1, x2 - x1) * 57.295

где х1,у1 - агрессор, х2,у2 - цель

так мы получаем угол в градусах


╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

SyzakyДата: Суббота, 22 Сентября 2012, 19:22:29 | Сообщение # 3
5 уровень
Группа: Проверенные
Сообщений: 104
Награды: 0
Репутация: 12
Блокировки:
ок сейчас посмотрю, просто не давно занялся всем этим не все функции знаю но все равно не понятно почему мое не работает.

Добавлено (22 Сентября 2012, 19:22:29)
---------------------------------------------
Наверное где-то в другом месте ошибка, все равно условие срабатывает без разницы куда кто смотрит.

 

kapa6acvlkДата: Суббота, 22 Сентября 2012, 20:19:45 | Сообщение # 4
Группа: Проверенные
Сообщений: 612
Награды: 0
Репутация: 361
Блокировки:
Syzaky, Для начала это:
ru.wikipedia.org/w/index.php?title=Тригонометрия
Потом это:
ru.wikipedia.org/w/index.php?title=Полярная_система_координат
Если слишком круто, тогда для начала это:
Ссылка 1, Ссылка 2



Как говориться, не обязательно есть всю кучу говна, чтобы понять, что она однородна.
© Александр Зорич
 

Ty3uKДата: Суббота, 22 Сентября 2012, 20:38:49 | Сообщение # 5
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
в его случае все решает моя строчка

если я все правильно понял


╭∩╮(︶︿︶)╭∩╮
"Ульта Тайда мне в жопу!" © k0fe1n
Статьи: MUI-1|MUI-2|Шрифт
Полезности: JASP|JNGP|Уголок библиотек
 

SyzakyДата: Суббота, 22 Сентября 2012, 20:43:59 | Сообщение # 6
5 уровень
Группа: Проверенные
Сообщений: 104
Награды: 0
Репутация: 12
Блокировки:
kapa6acvlk, ты видимо меня не так понял, ты под спойлер в обще заглядывал? Или ты заглянул и увидел ошибку? Если ты нашел ее просто скажи, что она там есть и все, решение не нужно. (кроме совета использовать atan2, я знаю что эта функция делает, просто не знал что она в Jass есть и по идеи моя формула дублирует это дело, формулу я делал вдали от компа и интернета, вспомнил что мог из школы, перепроверил, она должна быть рабочей, хоть и лишний труд)
 

  • Страница 1 из 1
  • 1
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz