Rotation von einem Punkt um den Ursprung
-
Hi,
ich würde gern etwas nachlesen darüber wie die Formel unten funktioniert. Mit den trigonomischen Formeln die ich habe komm ich nicht weiter. Die Formel funktioniert, aber ich würde sie auch gern verstehen. Vielleicht kann mir jemand weiter helfen. Oder muss ich da wo anders als bei Trigonometrie schauen ?
x1 = x * cos(a) - y * sin(a) y1 = x * sin(a) + y * cos(a)
-
Das ist elementarste Geometrie. Mir ist schleierhaft, wie Du dazu nichts finden konntest. Wenn Du Dir das mal aufmalst, dann sollte es kein großes Problem sein, das zu verstehen. Mal Dir nen Ursprung und den Punkt (x,y) einmal vor (0) und nach einer Rotation (1) und dann versuche (x1,y1) nur mit Hilfe trigonometrischer Funktionen zu bestimmen. Dann siehst Du was passiert
.
siehe auch hier, auch wenn das nicht so schön und ohne Grafik beschrieben wird: http://de.wikipedia.org/wiki/Drehmatrix
-
Hi Walli,
danke für Deine Hilfe. Ich bin nicht so der Mathe-Freak und die Formeln in deinem Link die haun mich erstmal um
Aber ich versuch mich mal da durchzubeißen.
-
Kennst du auch schon den Wikipedia Artikel zur Trigonometrie?
http://de.wikipedia.org/wiki/TrigonometrieSchau dir besonders den Einheitskreis an. Dazu gibt es im Netzt auch schöne Animationen. Einfach mal danach googlen. Wenn man die Animation sieht wird einem der Zusammenhang zwischen den Koordinaten und sin, cos sehr schnell klar.
-
Ich sehe gerade, dass der Artikel zum Einheitskreis auch ganz schön gemacht ist: http://de.wikipedia.org/wiki/Einheitskreis
Im Prinzip gehts so: Du willst einen Punkt (r, 0), der auf der x-Achse liegt um den Ursprung drehen. Wie Du am Einheitskreis sehen kannst, geht das mit den Winkelfunktionen. Der Kreis, auf dem wir uns bewegen hat aber jetzt Radius r. Um um einen Winkel b zu drehen, benutzen wir jetzt also die Winkelfunktionen und kommen auf (x1, y1)=(r*cos(b), r*sin(b)). Das ist jetzt schonmal jeweils der erste Term aus Deiner Formel.
Nun will man allgemeine Drehungen beschreiben. Ein Vektor ist ursprünglich um den Winkel b gedreht und wird dann um a "weitergedreht", also insgesamt eine Drehung um a+b. (x2, y2) wäre also (r*cos(a+b), r*sin(a+b)). Den Rest machen jetzt die Additionstheoreme und der Zusammenhang, dass cos(b)=x1/r (Ankathete zu Hypotenuse) und sin(b)=y1/r (Gegenkathete zu Hypotenuse) sind.Das Ergebnis ist nach einem bisschen nervigem Rumgerechne dann die von Dir gepostete Formel.
x2 = x1 * cos(a) - y1 * sin(a)
y2 = x1 * sin(a) + y1 * cos(a)
-
Hi Walli,
vielen Dank für Deine ausführliche Erklärung. Der Hinweis mit Winkeländerung war für mich entscheidend und auch die Erklärung mit den Additionstheoremen war aufschlussreich.