Witam. Mam Point2D o współrzędnych x, y który potrzebuję obrócić o 90 stopni w prawo względem punktu (0, 0).
Jak to zrealizować?
x2=y, y2=-x.
Czy ty masz kartkę i ołówek? O jakim google wy mówicie? Przecież to jest zadanie na poziomie podstawówki! Skoro obracamy sobie dookoła (0,0) to zawsze powstaje nam trójkąt równoramienny gdzie długością ramienia jest długość wektora (0,0) -> (x,y) a kątem pomiędzy ramionami jest nasz magiczny kąt obrotu.
Dla 1 ćwiartki układu mamy wszystkie informacje na temat trójkąta prostokątnego (0,0),(x,y),(0,y) więc mozemy spokojnie policzyć kąt (0,y),(0,0),(x,y). Skoro znamy ten kąt i kąt obrotu to znaczy że możemy policzyć jeden z kątów w tym nowym trójkącie prostokątnym (0,0),(x',0),(x',y'). Na tej podstawie mozemy policzyć także i trzeci kąt. W efekcie znamy dlugość jednego boku i wszystkie kąty więc na podstawie twierdzenia sinusów wyznaczamy sobie pozostałe dlugości boków które dadzą nam poszukiwane x' i y'
Dokładnie opisałem to w artykule Współrzędne.
@Shalom, Twój opis przypomina trochę instrukcję jak się lewą ręka drapać w lewy łokieć ;). Obrót jest odwzorowaniem liniowym, zatem wystarczy wzory wyprowadzić dla punktów leżących na osiach: (x,0) i (0,y).