Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

02.06.2010, 22:08

Kleines Mathematisches Problem

Hallo.
Ich versuche gerade eine kleine 2D Physik-Engine zu schreiben und stoße gerade auf ein Problem.
Irgendwie habe ich da ein Brett vorm Kopf :D

Also ich möchte einen Punkt relativ zu einem neuen Koordinatensystem beschreiben.
Im Buch wird das Prinzip mit den Achenmatrizen erklärt doch das hilft mir leider nicht ganz weiter (bzw. kann es nicht Anwenden).

Gegeben ist ein Punkt P, ein Punkt M und ein Winkel Alpha im Bogenmaß.
Nun sollen die Koordinaten des Punktes P errechnet werden, das in einem Koordinatensystem liegt, das als Ursprung den Punkt M hat und um den Winkel Alpha gedreht ist.

Der erste Schritt wäre eine einfache Translation. Also P - M rechnen und M = (0|0) setzen. Somit hätte man M als Ursprung.
Doch jetzt muss der Punkt P noch um den Winkel Alpha um den neuen Ursprung gedreht werden. Und das ist genau mein Problem.

Ich hoffe jemand versteht was ich meine ^^

Zur Not mach ich nochmal eine Skizze.
Vielen Dank ;)

mfg Flo

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

2

02.06.2010, 22:50

Grundsätzlich suchst du das hier (die ersten 2):
http://de.wikipedia.org/wiki/Formelsamml…ditionstheoreme

Aber es geht bei dir wahrscheinlich einfacher. Wenn du den Winkel von P bezüglich M hast, dann kannst du da einfach dein Alpha hinzu addieren und mit cos/sin die Koordinaten berechnen. Ansonsten kannst du die dortigen Formeln benutzen.

3

03.06.2010, 12:08

Grundsätzlich suchst du das hier (die ersten 2):
http://de.wikipedia.org/wiki/Formelsamml…ditionstheoreme

Aber es geht bei dir wahrscheinlich einfacher. Wenn du den Winkel von P bezüglich M hast, dann kannst du da einfach dein Alpha hinzu addieren und mit cos/sin die Koordinaten berechnen. Ansonsten kannst du die dortigen Formeln benutzen.


Vielen Dank!
Ich habs jetzt raus denke ich.

C-/C++-Quelltext

1
/** Drehe diesen Punkt um den Ursprung* \param Der Winkel um den der Punkt gedreht werden soll (im Bogenmaß)*/inline void Rotate(float angle){Vector2f RotatedPoint;RotatedPoint.x = x * cosf(angle) + y * sinf(angle);RotatedPoint.y = -x * sinf(angle) + y * cosf(angle);*this = RotatedPoint;}


mfg Flo

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »F-Wölkchen« (03.06.2010, 22:15)


Werbeanzeige