# Java zeichnen, kopieren und drehen



## Marcl (10. Aug 2010)

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 (10. Aug 2010)

Ganz grob: 'N for-Schleifchen drumwickeln?

```
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 (11. Aug 2010)

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?


----------



## Marco13 (11. Aug 2010)

Ja


----------

