Java zeichnen, kopieren und drehen

Marcl

Mitglied
Hallo,

ich sitze über einem größeren Projekt und habe nun ein Problem an dem ich nicht weiterkomme.

Es handelt sich um folgendes Stück Java-Code:
Graphics2D g2d = (Graphics2D) g;
AffineTransform aft = new AffineTransform();
aft.rotate(Math.toRadians(0), 300, 300);
g2d.setTransform(aft);


g.setColor(Color.black);
g.drawOval(300-200, 300-200,2*200, 2*200);

g.setColor(Color.black);
g.drawRect(279, 100, 41, 61);

g.setColor(Color.white);
g.fillRect(280, 90, 39, 60);

Im unteren Teil wir ein Kreis und ein Rechteck (Teile einer größeren Zeichnung) um den Punkt
(300,300) mit dem Winkel 0° (Math.toRadians(0)) gedreht (oberer Teil).

Nun meine Frage:
Wie kann ich die Zeichnung n-mal kopieren und danach n-mal im Winkel 360° /n zeichnen lassen?

Also nehmen wir an ich will die Zeichnung 6 mal haben, dann soll die Zeichnung aller 60°, also 6 mal in einem Kreis gezeichnet werden.

Vielen Dank schonmal vorab für Eure Hilfe.:toll:

Grüße Marcel
 

Marco13

Top Contributor
Ganz grob: 'N for-Schleifchen drumwickeln?
Code:
int steps = 6;
for (int i=0; i<steps; i++)
{
    double angle = (Math.PI * 2 / steps) * i;

    aft.rotate(Math.toRadians(angle), 300, 300);
    g2d.setTransform(aft);
    ...
}
 

Marcl

Mitglied
Also die Zeichnung soll nicht mehr als 30 mal kopiert, gedreht und dann neu eingefügt werden.
N ist also max 30, das soll aber vom benutzer beliebig festgelegt werden können.

Es wäre schön, wenn eine Abfrage erscheint wo der Benutzer sagt N soll 15 oder 3 oder irgend etwas anderes zwischen 1-30.

Ist sowas möglich?
 

Neue Themen


Oben