|
Punkt Rotation um den Mittelpunkt müsste etwa so funktionieren:
Du hast deine Punkte als (x, y) aus R^2. Daraus machst du zunächst mal einen Vektor in R^3: (x, y) -> (x, y, z) mit z = 0
Die Entfernung zum Mittelpunkt ist also Wurzel(x^2 + y^2+z^2). Für die Rotation muss das erhalten bleiben, also rechnest du das aus.
Um nun einen Punkt (x, y, z) um u° um z.b. die z-Achse zu drehen müsstest du dann so rechnen (wenn ich jetzt keinen Denkfehler drin habe)
Sinus(u) = z / Entfernung => Sinus(u)* Entfernung = z und wurzel(x^2+y^2) = Entfernung * Cosinus(u)
Und um wieder 2D Koordinaten zu haben nutze einfach die funktion R^3->R^2: (x, y, z) -> (x, y)
Aber wenn es nur um das darstellen geht nimm besser OpenGL oder DirectX damit ist das um Welten einfacher
|