Strona 7 z 7
Metoda kątowa cyklometryczna
Funkcje cyklometryczne to funkcje odwrotne do funkcji trygonometrycznych, nie ma w tym wielkiej filozofii, odpowiednikiem tg(x) jest arctg(x) (arcus tangens), w Mugenie: Atan(x).
tg(x) = P2Dist Y / P2Dist X tg(pi/4) = 1 arctg(P2Dist Y / P2Dist X) = x arctg(1) = pi/4
W poprzedniej sytuacji nie można było użyć takiego zapisu, bo tg(pi/4) = 1, ale tg(1) to nie jest pi/4. Wszystko działa na tych samych zasadach z tym, że działania są bardziej przejrzyste. Dodatkowo ponieważ oś Y jest odwrócona, proponuje wstawianie minusa przed P2Dist Y kiedy sprawdzać będziemy położenie nad postacią, to jeszcze bardziej ułatwi przeglądanie kodu.
Atan(P2Dist Y / P2Dist X) = 0 ; Przeciwnik na równi z postacią. Atan(P2Dist Y / P2Dist X) = pi/4 ; Przeciwnik pod kątem 45o w dół. Atan(P2Dist Y / P2Dist X) = [-pi/12, pi/12] ; Sprawdzamy czy przeciwnik jest pod kątem od -15o (u góry) do +15o (u dołu).
Przykład:
[State 1, w gore do 90] trigger1 = Atan(-p2dist Y / p2dist X) = [pi/3,pi/2) trigger2 = p2dist X = 0 && p2dist Y < 0 type = varset v = 1 value = 4 [State 1, w gore 45] trigger1 = Atan(-p2dist Y / p2dist X) = [pi/8,pi/3) type = varset v = 1 value = 2 [State 1, na rowni] trigger1 = Atan(p2dist Y / p2dist X) = (-pi/8,pi/8) type = varset v = 1 value = 1 [State 1, w dol 45] trigger1 = Atan(p2dist Y / p2dist X) = [pi/8,pi/3) type = varset v = 1 value = 3 [State 1, w dol do 90] trigger1 = Atan(p2dist Y / p2dist X) = [pi/3,pi/2) trigger2 = p2dist X = 0 && p2dist Y > 0 type = varset v = 1 value = 5