BenBE: Also meine Überlegung war folgendermassen:
z^N = R^N
z^N = R^N*exp(2*pi*i*k) (für alle k el. N)
z = R*exp(2*pi*i*k/N)
z = R*(cos(2*pi*k/N)+i*sin(2*pi*k/N))
x = (z+z*)/2 = Re(z) = R*cos(2*pi*k/N)
y = (z-z*)/(2i) = Im(z) = R*sin(2*pi*k/N)
Das wäre auch die Lösung... Vielleicht hat's ja nen Denkfehler drin.
@Sirke: Die Lösung in Delphi:
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| for k := 0 to N-1 do begin x := R*cos(2*pi*k/N); y := R*sin(2*pi*k/N); ... end; |
Veranschaulichung: Zeichne einen Einheitskreis und einen beliebigen Punkt auf dem Einheitskreis. Dann verbindest du den Punkt mit dem Ursprung und zeichnest den Winkel zur x-Achse ein. Die Verbindungslinie ist also der Radius der Länge 1, der x-Koordinatenabschnitt der Cosinus und sinngemäss der Sinus auf der y-Achse. Hier sieht man auch ganz schön, wieso sin(x)^2+cos(x)^2=1 gibt (Pythagoras im Einheitskreis).
Quaternionen eignen sich für 2D nicht unbedingt, da nimmt man viel besser einfach 2D-Drehmatrizen.
