Jak używać atan2 () w połączeniu z innymi systemami kątów Radian
Walczę z tym w JavaScript, ale problem ten dotyczy także wielu innych języków / środowisk.
Chcę, aby jeden obiekt obracał się w kierunku pozycji innego obiektu i używam:
atan2(obj1.dy, obj1.dx) - obj2.getRotation()
sprawdzić, czy drugi obiekt powinien obracać się zgodnie z ruchem wskazówek zegara lub przeciwnie do ruchu wskazówek zegara w danym momencie.
W KineticJS, środowisku programowania JS / HTML5 / Canvas, którego używam, kąt jest określony w radianach od 0 do 2 pi, zaczynając od dodatniej osi Y i idąc zgodnie z ruchem wskazówek zegara. To zachowanie jest widoczne także w wielu innych środowiskach programistycznych.
Jednak przy obliczaniu kąta ruchu od drugiego obiektu za pomocąMath.atan2 (y, x) funkcja, kąt jest określony od -pi do pi, zaczynając od dodatniej osi X, idąc w kierunku przeciwnym do ruchu wskazówek zegara.
W celu wyjaśnienia:
Pytanie:
Jak mogę obliczyć kąt w normalnych radianach z wyniku funkcji atan2 ()?