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 ()?

questionAnswers(3)

yourAnswerToTheQuestion