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

[C++]Obracanie punktu dokoła innego punktu

Ostatnio zmodyfikowano 2013-07-15 00:04
Autor Wiadomość
kurator125
Temat założony przez niniejszego użytkownika
[C++]Obracanie punktu dokoła innego punktu
» 2013-07-14 23:48:54
Witam, mam problem z obrotem punktu P1 dokoła punktu RP;
Podaje kod który powinien obrócić P1 względem RP o pewien kąt ale nie działa i punkt P1 prawie po linii  prostej odlatuje gdzieś :<
C/C++
void XXXX::rotate( float fa )
{
    float lX;
    float lY;
   
    lX = x1 - rpX;
    lY = y1 - rpY;
    lX = lX * cos( fa * PI / 180 ) - lY * sin( fa * PI / 180 );
    lY = lY * sin( fa * PI / 180 ) - lX * cos( fa * PI / 180 );
    lX += rpX;
    lY += rpY;
    setP1( lX, lY );
    update();
   
}
legenda:
x1 i y1 to współrzędne punktu P1;
rpX i rpY to współrzędne punktu w okół którego chce obrócić P1;
wzór który wykorzystałem znajduje się tu:
http://matematyka.pisz.pl​/strona/896.html
P-87875
Mrovqa
» 2013-07-14 23:58:00
C/C++
lY = lY * sin( fa * PI / 180 ) - lX * cos( fa * PI / 180 );
Popatrz na stronę, do której dałeś linka - pomyliłeś drugi wzór. Powinno być:
C/C++
lY = lX * sin( fa * PI / 180 ) + lY * cos( fa * PI / 180 );
P-87878
kurator125
Temat założony przez niniejszego użytkownika
» 2013-07-15 00:04:09
kurde ;d taki błąd zrobić :( dzięki.
Tylko teraz się obraca i "spada" do punktu RP ale może coś wymyśle

ok wystarczy ze obracać będę za każdym razem współrzędne jakie punkty dostał przy tworzeniu.
P-87879
« 1 »
  Strona 1 z 1