Hey, also wie der name schon sagt will ich das ein objekt, welches sich in der mitte des bildes befindet, sich immer zu dem mauszeiger dreht/rotiert. Ich hatte mir überlegt die mauszeiger position zu ermitteln und dann mit dem kosinussatz den winkel zu berechnen und die rotation dann vorzunehmen. also so: Positionmaus := Mouse.CursorPos; a:= Positionmaus.Y; c:= Positionmaus.X; b:=SQRT(SQR(a)+SQR(c)); //satz des Pythagoras angle:=arcCos((SQR(b)+SQR(c)-SQR(a))/(2*b*c)); //Kosinussatz angle:=RadToDeg(angle); glRotatef(angle, 0.0, 0.0, 1.0); DrawImage;
Es klappt aber garnicht : P könnt ihr meinen ansatz verbessern oder mir eine andere lösung sagen? Vielen Dank, Luce
hey, also meine formel war richtig. ich hatte nur vergessen den Punkt, von wlechem aus der winkel berechnet werden soll, auf die mitte des bildes zu setzten. das ganze sieht jetzt also so aus:
a:= X-250; c:= Y-250; b:=SQRT(SQR(a)+SQR(c)); angle:=arcCos((SQR(b)+SQR(c)-SQR(a))/(2*b*c)); angle:=RadToDeg(angle); if a<0 then angle:=-angle; if (y-250<0) and (x-250=0) then angle:=180;
Mitglieder in diesem Forum: Bing [Bot], Majestic-12 [Bot] und 3 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.