Obliczanie Kierunku
Ostatnio zmodyfikowano 2011-04-24 19:15
skovv Temat założony przez niniejszego użytkownika |
Obliczanie Kierunku » 2011-04-23 11:27:40 Witam. Nie niestety za dobry w tych sprawach i potrzebuje pomocy z obliczeniem kierunku(0-360) z punktu A(x,y) do punktu B(x,y).
Z góry dzięki za pomoc Skovv. |
|
szyx_yankez |
» 2011-04-23 12:09:48 #include <cmath> int Angle = atan2( A.x - B.x, A.y - B.y ) * 180 / M_PI;
|
|
skovv Temat założony przez niniejszego użytkownika |
» 2011-04-23 12:45:07 Mam tak: Obrot = -( atan2( X - MouseX, Y - MouseY ) * 180 / M_PI ); //wyswietlam rotate_sprite( Dev.Ekran, Spr, X-cx, Y-cy, itofix( Obrot ) ); Obraca się, ale nie jest skierowane bezpośrednio na mysz( bo o to mi chodzi ) tylko i jak mam mysz na pozycji X i pozycji Y większej niż obiektu to mi "przeskakuje". |
|
szyx_yankez |
» 2011-04-23 13:04:36 Funkcja 'itofix' przyjmuję kąt w radiantach a ty podajesz w stopniach,
Więc trzeba przekonwertować:
rotate_sprite( Dev.Ekran, Spr, X - cx, Y - cy, itofix(( Obrot * 256 ) / 360 ) );
Poczytaj o tym w dodatkowych informacjach |
|
skovv Temat założony przez niniejszego użytkownika |
» 2011-04-23 17:31:15 Tak żeby nie zakładać nowego tematu, jak konwertować float, dluble i int do chara?? |
|
SeaMonster131 |
» 2011-04-23 17:36:32 |
|
skovv Temat założony przez niniejszego użytkownika |
» 2011-04-23 18:17:06 Stworzyłem sobie funkcje: char* IntToChar( int liczba ) { char l [33]; itoa (liczba,l,1); return l; }
Ale coś w niej nie tak bo siada mi program :/ EDIT: Jeśli ktoś zna to proszę też o wyjaśnienie 3ciego argumentu |
|
malan |
» 2011-04-23 19:43:20 Program siada, bo zwracasz wskaźnik na lokalną tablicę, która po wyjściu z funkcji przestaje istnieć ;) itoa (cplusplus.com) |
|
« 1 » 2 |