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

Obracanie obrazów , problem z dużymi kątami !

Ostatnio zmodyfikowano 2009-12-26 10:47
Autor Wiadomość
kamillo121
Temat założony przez niniejszego użytkownika
Obracanie obrazów , problem z dużymi kątami !
» 2009-12-25 20:11:55
Witam , otóż próbuję napisać sobie program do obracania (narazie ) małych tekstur i oczywiście jak najprostszym sposobem .
A więc najpierw przedstawię kod :

 radian=(90*M_PI)/180.0;   //narazie tak na sztywno stopień

   x=Xf*cos(radian)-Yf*sin(radian);
   y=Xf*sin(radian)+Yf*cos(radian);

  rysujPixel(screen,(int)x,(int)y,kolor);

  no i tak działa , obróci ładnie teksturę (przy 90 stopniach bez utraty jakości xD)
  ale gdy zmienię stopnie na 100*M_PI.. albo więcej to program się wykracza i od razu wyłącza, chyba że Xf i Yf będzie równa 1 .

 Czemu tak się dzieje ? wyświetlałem sobie tak na sucho wyniki i nie różnią się wiele (mają po parę liczb po przecinku )więc czemu to nie działa ?
P-12466
malan
» 2009-12-25 21:47:50
A sprawdzałeś co się stanie kiedy x lub y == (np.) -1 ?
P-12471
kamillo121
Temat założony przez niniejszego użytkownika
» 2009-12-25 22:12:27
Program odpali , ale nic nie narysuje (jak x zmienie na -1 albo 1 to nie odpali )
P-12473
malan
» 2009-12-25 22:30:39
Hmmm..., to może spróbuj rysować to nie na ekranie (screen) tylko na buforze. Stwórz bufor, rysuj na buforze, bufor wyświetlaj na ekran.
P-12474
DejaVu
» 2009-12-26 00:50:58
Nie obracaj tekstur za pomocą własnej funkcji tylko funkcji allegro (jeśli jego używasz). Ona zrobi to znacznie lepiej niż Twój algorytm i będzie prawdopodobnie wydajniejsze. Wzory, które przedstawiłeś są dobre do nadawania kierunku obiektom punktów materialnych itp., ale do obrotu tekstutry o dany kąt wykorzystaj już funkcję wbudowaną. Efekt będzie uzyskany dużo prościej i lepiej będzie działał.

/edit:
A co do wykrzaczania to pewnie dzieje się dlatego, że piszesz poza buforem, np. na ujemne indeksy, co w konsekwencji program wysadza w powietrze (GPF).
P-12483
kamillo121
Temat założony przez niniejszego użytkownika
» 2009-12-26 10:47:26
Dzięki , tak tylko chciałem sprawdzić co za pomocą tych wzorów uzyskam ;] czytałem, że SDL_gfx ma chyba funkcje do obracania więc ją wypróbuje .
P-12485
« 1 »
  Strona 1 z 1