Diaboliko
Silenced by Diaboliko
offline
Опыт:
16,108Активность: |
Угол между точками и Sin/Cos
Как расписать Atan2? То есть определить угол между точками вручную?
Пытаюсь уже второй час а точка улетает вообще не ясно куда >< Через арксинус- вариант, но для начала что такое синус? Вариант_википедии ничего внятно не объяснил... |
02.03.2011, 11:36 | #1
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
XOR
offline
Опыт:
38,159Активность: |
Ты пошел в школу лет в 8 и еще не прошел синусы? XimikS добавил:
какие точки? юзай координаты) XimikS добавил: www.youtube.com/watch?v=tPVM1R9tHu8 |
02.03.2011, 12:18 | #2
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Wortecs
offline
Опыт:
3,146Активность: |
Atan2 выдет в радианах а не в градусах понимаешь?
|
02.03.2011, 12:43 | #3
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Diaboliko
Silenced by Diaboliko
offline
Опыт:
16,108Активность: |
Wortecs:
Пофиг, синус и косинус нормально с ней работают. XimikS: Ну ты петросяяян XimikS: Я о них и говорю... Есть 2 локации с известными координатами но как найти меж ними угол без атан2 я Хочу Знать... Ибо создается юнит повернутый лицом к этой точке. пункт 10 сразу после примера с энжл битвин поинтс |
02.03.2011, 13:00 | #4
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hanabishi
COOL STATUS
offline
Опыт: отключен
|
Diaboliko, можно и через обычный арктангенс, но он большую погрешность даёт, так что юзай 2 там ничего сложного
Atan2(y2-y1,x2-x1)
поворачивает юнита u1 к u2 |
02.03.2011, 13:14 | #5
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Diaboliko
Silenced by Diaboliko
offline
Опыт:
16,108Активность: |
Так как вы не хотите переходить по ссылкам, приведу цитату...
» Вот цитата Цитата:
(взято отсюда пункт 10) P.S. для того чтобы понять о чём я перейдите по ссылке и прочтите чутка выше инфу... |
|
02.03.2011, 13:20 | #6
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
spellwerk
offline
Опыт:
4,869Активность: |
facepalm >но как найти меж ними угол без атан2 я Хочу Знать... ну строй радиус вектор на основе этих двух точек и находи его угол результат будет таким же, как если бы ты использовал функцию Atan2 и вообще, я не понимаю, почему сразу ее нельзя использовать -_- |
02.03.2011, 13:47 | #7
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Diaboliko
Silenced by Diaboliko
offline
Опыт:
16,108Активность: |
Просто капец... Вы читайте че я пишу а? |
02.03.2011, 13:50 | #8
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
spellwerk
offline
Опыт:
4,869Активность: |
тебе ответили 4 раза -_- ты просто изобретаешь велосипед, зачем делать все через одно место, если можно сделать все по-человечески. в школе надо было учиться советую еще потратить пару часиков на изучение школьной геометрии и чтение здешних статей, раз все такие тупые и никто не понимает о чем ты говоришь |
02.03.2011, 13:59 | #9
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hanabishi
COOL STATUS
offline
Опыт: отключен
|
Diaboliko, ты путаешь там дана полярная проекция, а тебе нужно узнать угол между точками - это разные вещи |
02.03.2011, 14:02 | #10
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Diaboliko
Silenced by Diaboliko
offline
Опыт:
16,108Активность: |
Spy_:
В пень пойти не хочешь?) Не думаю. Так и ответь как пологается >< Там пишется что атан2 создает вектор и по нему уже потом находит угол. Меня волнует можно ли это подсчитать без использования вектора? Чисто арифметически, без использования алгебры и геометрии Diaboliko добавил: Я прекрасно понимаю что там говорится о ней >< Hanabishi... |
02.03.2011, 14:06 | #11
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Hanabishi
COOL STATUS
offline
Опыт: отключен
|
Diaboliko, тогда пойми уже, что угол между точками так не считается возможно только ещё скалярное произведение векторов, но это тоже тригонометрия |
02.03.2011, 14:08 | #12
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Diaboliko
Silenced by Diaboliko
offline
Опыт:
16,108Активность: |
тригонометрия тож не то) Ладно, раз угол возвращает только атан2, тему на кол. |
02.03.2011, 14:11 | #13
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
spellwerk
offline
Опыт:
4,869Активность: |
Atan2 нативка, и она будет работать уж побыстрее твоей функции вычисления того же самого угла |
02.03.2011, 14:15 | #14
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
Diaboliko
Silenced by Diaboliko
offline
Опыт:
16,108Активность: |
Spy_:
GetUnitLoc(unit) тоже нативка, но работа с ней медленней чем с GetUnitX(unit) & GetUnitY(unit) |
02.03.2011, 14:16 | #15
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
alexprey
познающий Unity
offline
Опыт:
68,501Активность: |
Цитата:
скорее наоборот » Для неучей Diaboliko, объясняю принцип нахождения угла между двумя точками. Есть 2 точки A(xa,ya), B(xb,yb) T - угоол между точками A и B (рад) Элементарная тригонометрия. Опускаем перпендикуляр точки B на ось oX точки A на ось oY. Получаем точку C (xb,ya) на пересечении этих перпендикуляров. Наша задача найти угол CAB = T. tan(T) = BC/AC (из определения). BC = yb-ya, а AC = xb-xa tan(T) = (yb-ya)/(xb-xa) T = Arctan((yb-ya)/(xb-xa)) Так как в jass вычисление производятся с точностью до 3 знаков, то лучше использовать Arctan2, который программно считает более точно. Векторная геометрия Преобразуем наши точки в векторы, так чтобы они были направлены параллельно осям A - ox, B - oy. Тогда получим векторы a {xb-xa,ya} и b {xb,ya-yb} a*b = |a|*|b|*cos(T) a*b = (xb-xa)*xb+ya*(ya-yb) |a| = (xb-xa)^2+ya^2 |b| = xb^2+(ya-yb)^2 Подставляем (xb-xa)*xb+ya*(ya-yb) = ((xb-xa)^2+ya^2)*(xb^2+(ya-yb)^2)*cos(T) Ты еще не передумал??? cos(T)=((xb-xa)*xb+ya*(ya-yb))/(((xb-xa)^2+ya^2)*(xb^2+(ya-yb)^2)) Опять же получается очень не точно с Jass. И намного медленнее alexprey добавил: Diaboliko, потому что идет еще и создание location и я надеюсь убедил тебя перечитать учебник геометрии за 10-11 класс |
|
02.03.2011, 14:23 | #16
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|
XOR
offline
Опыт:
38,159Активность: |
Diaboliko:
... Там локация и вообще твой велосипед будет в несколько раз медленнее обычного atan2 , который кто то запретил юзать.. |
02.03.2011, 14:43 | #17
+0/−0
Профиль |
Приват |
Поиск |
Цитата |
IP: Записан
|