Achteck berrechnen

08/06/2014 21:52 strubelz#1
So, heute hab ich schon wieder ein Problem, ich möchte nähmlich alle Punkte eines gleichseitigen Achtecks berrechnen, alles was ich dazu habe ist ein ein Mittelpunkt und der Durchmesser des Achtecks, der Durchmesser soll aber nicht durch einen Punkt , sonder durch die Mitte einer Geraden gehen. So wie in diesem Bild:
[Only registered and activated users can see links. Click Here To Register...]
08/06/2014 22:33 Jeoni#2
Das Kästchensystem in der Darstellung des Achtecks hilft dir hier doch schon enorm: 1 Kästchenbreite (nachfolgend KB) ist x/4.
Unter der Annahme, dass M der Mittelpunkt des Koordinatensystems sei (ist es das nicht, musste halt noch M draufrechnen, wenn du weißt, was ich meine):
[Only registered and activated users can see links. Click Here To Register...]
1) (-1KB | 4KB)
2) (1KB | 4KB)
3) (4KB | 1KB)
4) (4KB | -1KB)
5) (1KB | -4KB)
6) (-1KB | 4KB)
7) (-4KB | -1KB)
8) (-4KB | 1KB)
KB halt durch (x/4) ersetzen. Auf jede X Koordinate noch den X Wert von M und auf jede Y Koordinate noch den Y Wert von M addieren (ist M == (0|0) ist das natürlich unnötig).
Hoffe, dass dir das hilft ;)
Jeoni
08/06/2014 23:53 Brendan Jordan#3
Die Darstellung ist aber kein gleichseitiges Achteck, also ist deine Berechnung flasch. Würde man nach der Grafik gehen und als x = 5 einsetzen, dann würden die horizontalen und vertiakalen Seiten gerundet = 3,330 sein und die diagonalen Seiten 4,7093311627024065125096234516183. Aber eigentlich müssten alle Seiten 4,142 sein wenn der mittlere Radius 5 ist und das Achteck gleichseitig.
08/07/2014 00:03 strubelz#4
@Jeoni
Das hab ich auch schon so gemacht aber dann ist mir aufgefallen das es überhaupt kein gleichseitiges Achteck ist

Edit:
Ich hatte gerade hoch eine Idee:
Der Winkel zwischen jeder Seite des Achtecks beträgt 135° wenn ich jetzt die Punkte mit dem Mittelpunkt verbinde ergeben diese ein Dreieck, da ich jetzt zweimal den Winkel 67,5° (Strecke halbiert den Winkel) habe muss der dritte Winkel 45° groß sein. Dann kann ich (wahrscheinlich) mithilfe von Vektoren die passende x Koordinate zur y Koordinate (die ich ja durch den Radius schon habe) errechnen.
Das einzige Problem ist das ich mich mit Vektorrechnung nicht auskenne (wir hatten das in der Schule noch nicht), wenn ihr mir also dabei helfen konnten wäre das echt nett :)

Edit2:
Die Formel um den Winkel zu setzen brauche ich nicht, da LibGdx das schon in seiner Vector2 Klasse eingebaut hat.

Edit3: So, kann geclosed werden Jeoni hat mir die benötigte Vektorrechnung erklärt und es hat alles funktioniert.
08/10/2014 15:59 TeraTroll#5
Probiers mit dem Sinus oder Cosinus Satz =)
Du hast ja die Winkel.