Sollte ganz einfach, aber.... PI_180 = PI / 180 // Grad in Radien x = 1 y = 0 e_x = sqrt((x * x) + (y * y)) // Hypotenuse * cos(90 * PI_180); e_y = sqrt((x * x) + (y * y)) // Hypotenuse * sin(90 * PI_180); e_x = 6,12574E-17 ??? e_y = 1 - Richtig.. e_x müßte eigentlich 0 sein, kann man sich ja einfach vorstellen. Hmm... Danke Klaus
Klaus schrieb: > e_x müßte eigentlich 0 sein, kann man sich ja einfach vorstellen. > Hmm... 10 hoch -17 ist de facto 0 Willkommen in der wunderbaren Welt von Floating Point. Wenn du den Ansatz vertritt, dass sich dort alles so verhält wie du es von Mathe gewohnt bist, dann wirst du noch ein paar herbe Enttäuschungen erleben.
Übrigens rotiert man einen beliebigen Punkt [px,py] so um den Ursprung
1 | x_neu = px * cos - py * sin |
2 | y_neu = px * sin + py * cos |
sin, cos sind jeweils der Sinus bzw. Cosinus des Winkels um den rotiert werden soll. Ist das Rotationszentrum mal nicht im Ursprung, so ist es das einfachste, die ganze Szenerie so zu verschieben, dass es das ist. Nach der Rotation wird die Verschiebung wieder aufgehoben und zurückverschoben
1 | qx = px - rot_center_x |
2 | qy = py - rot_center_y |
3 | |
4 | qx_neu = qx * cos - qy * sin |
5 | qy_neu = qx * sin + qy * cos |
6 | |
7 | x_neu = qx_neu + rot_center_x |
8 | y_neu = qy_neu + rot_center_y |
Hallo, super vielen Dank. Kein schlechter Trick. Viele Grüße Klaus
Klaus schrieb: > Hallo, > > super vielen Dank. Kein schlechter Trick. Du solltest ..... in die nächste Buchhandlung gehen und dir ein Buch über Computergrafik kaufen. Aber nicht so eines, in dem nur noch OpenGL Aufrufe benutzt werden, sondern eines, das von der Pieke auf die Dinge erklärt. zb einen der Klassiker: Foley, Van Damm Das ist Standard und daraus wird dann die Motivation für Matrizendarstellung hergeleitet. In der wird dann alles noch einen Tick schneller, weil die 3 Einzeloperationen zu einer einzigen zusammengefasst werden können.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.