# Hilfe: Klasse Vieleck



## Infernus (11. Dez 2011)

Konnten Sie bitte bei den folgenden Aufgaben helfen? Wie soll der Code aussehen?



> Schreiben Sie eine Klasse Vieleck extends GObjekt. Dies Klasse soll nur konvexe Vielecke bearbeiten. Die Klasse enthält folgende Elemente
> 
> 1.1. Ein Konstruktor *public Vieleck(int anzahlN)*. Der Konstruktor erzeugt ein Vieleck regelmäßig (gleiche Seiten, gleiche Winkel), im Zentrum des Koordinatensystems, liegt im Kreis mit Radius r=1.
> 
> ...



Die Datei "GObjekt.java" finden Sie im Anhang.

Vielen Dank für Ihre Bemühungen.

Grüße aus Bulgarien.


----------



## Eldorado (11. Dez 2011)

Zeig mal, was du schon geschafft hast und wo deine Probleme liegen?!


----------



## Final_Striker (11. Dez 2011)

Dann *fang *mal an und stelle wenn du nicht weiter kommst *konkrete *Fragen.

Grüße aus Deutschland


----------



## Infernus (11. Dez 2011)

Wie erzeugt man ein regelmässiges Sechseck im Zentrum des Koordinatensystems, der im Kreis mit r=1 liegt?

Wie lautet der Konstruktor public Vieleck(int anzahlN) für das Sechseck?


----------



## Final_Striker (11. Dez 2011)

Infernus hat gesagt.:


> Wie erzeugt man ein regelmässiges Sechseck im Zentrum des Koordinatensystems, der im Kreis mit r=1 liegt?



z.B so:

http://upload.wikimedia.org/wikipedia/commons/e/e2/Sechseck-Zeichnung.svg


----------



## stb (12. Dez 2011)

Im Prinzip musst du nur alle x Grad einen Punkt mit Abstand 1 zeichnen.
Die Grad ergeben sich aus der Anzahl der Ecken, also den Winkel des vollen Kreises(360°) durch die Anzahl der Ecken.
Jetzt hast du mit einer einfachen Division die Polarkoordinaten(Radius, Winkel) von allen Punkten. Mit den Winkelfunktionen kannst die dann einfach umrechnen auf karthesische Koordinaten (x,y)


Beispiel Sechseck:

360/6 = 60°

1.Punkt: r=1; 60°
2.Punkt: r=1; 120°
[...]

umgerechnet:
1.Punkt: x = 1 *cos(60); y = 1 * sin(60)
2.Punkt:x = 1 *cos(120); y = 1 * sin(120)
[...]


----------

