Witam, mam mały problem z obliczeniem ruchu jednostki pod danym kątem. Na początku pobieram rotacje tzn kąt. postać jest skierowana w góre równo z osią y i to jej punkt 0. Załóżmy, że mamy sytuacje iż nasza jednostka obraca się pod kątem 45(zgodnie ze wskazowkami zegara czyli w prawo). Kąt 45 przeliczamy na radiany. 45*3.14/180= 0.785 rad i w sumie nie wiem co zrobić dalej ponieważ muszę to podać w innych jednostkach. Cały kod który znalazłęm w necie wygląda tak:
float rotacja = sprite.getRotation();
float vx = sin(( rotacja * M_PI ) / 180.0f );
float vy = -cos(( rotacja * M_PI ) / 180.0f );
sprite.move (speed*vx,speed*vy);
Wiem, że sin jest związany z osią x, a cos z y a jest ujemny ponieważ w programowaniu oś y zwiększa wartość w dół. Ale moje pytanie brzmi: Dlaczego sin odnosi wlasnie sie do x a cos do y? wiem ze sin=przypostokatna na przeciw kata a/przeciwprostokatna ale nie wiem co dalej z tego wywnioskowac. Zresszta sin(rad) wiec nie wiem jak sie do tego w ogole odniesc. I dlaczego w poruszaniu jest szybkość * sin załózmy a nie + czy / :) Liczę na dobrą odpowiedź :) Z góry dzięki :)