Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Obliczanie Kierunku

Ostatnio zmodyfikowano 2011-04-24 19:15
Autor Wiadomość
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.
P-31706
szyx_yankez
» 2011-04-23 12:09:48
C/C++
#include <cmath>
int Angle = atan2( A.x - B.x, A.y - B.y ) * 180 / M_PI; // aby wartości nie były ujemne trzeba dodać 180
P-31707
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".
P-31710
szyx_yankez
» 2011-04-23 13:04:36
Funkcja 'itofix' przyjmuję kąt w radiantach a ty podajesz w stopniach,
Więc trzeba przekonwertować:
C/C++
rotate_sprite( Dev.Ekran, Spr, X - cx, Y - cy, itofix(( Obrot * 256 ) / 360 ) );
Poczytaj o tym w dodatkowych informacjach
P-31712
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??
P-31776
SeaMonster131
» 2011-04-23 17:36:32
zobacz może itoa() oraz atoi()
P-31777
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
P-31793
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)
P-31801
« 1 » 2
  Strona 1 z 2 Następna strona