Pracuję nad tarczą, która obraca się wokół koła.
To pokrętło powinno umożliwiać ruch myszką w dowolnym miejscu koła, aby dopasować położenie pokrętła do punktu na okręgu pod tym samym kątem co kliknięcie. Na przykład z powyższej tarczy, jeśli klikniesz miejsce pokazane na różowo poniżej, przesunęłem tarczę nad ten punkt, ale na kółko.
Wiem, jak uzyskać pozycję punktu na okręgu, biorąc pod uwagę promień i kąt (w radianach). Oto ta formuła :
x = Cos(angle) * radius + CenterX;
y = Sin(angle) * radius + CenterY;
Jednak chcę zrobić coś wręcz przeciwnego - mam punkt kliknięcia, który chcę zmienić w punkt na kole (tam, gdzie idzie gałka kontrolna). Próbuję użyć tego punktu (i danego promienia), aby obliczyć kąt w radianach, aby móc ustawić pokrętło sterujące na okręgu pod tym samym kątem.
Czy istnieje przydatna formuła, której mogę użyć, aby to osiągnąć?
atan
jest skrótem od arctan
i atan2
jest tylko funkcją, która akceptuje poszczególne argumenty i dokonuje podziału za ciebie.