einzelnd Rotieren

Schaaaf

Bekanntes Mitglied
Hallo,

ich habe auf einem Kreis Rechtecke angeordnet. Nun möchte ich dieser rotieren, aber einzelnd... mit meinem Code rotieren alle gleich, aber jeder soll einen anderen Winkel bekommen. Wie mache ich es richtig?
Java:
...
for (double a=0.0; a<2*Math.PI; a+=Math.toRadians(60)) {
   int x = 101 - (int)(Math.cos(a) * (450/2));
   int y = 300 + (int)(Math.sin(a) * (450/2));
   points2.add(new Point(x,y));
   g.drawRect((x), (y), 200, 200);
	        	
   tx.rotate(2*Math.PI/2,x,y);
   g2d.setTransform(tx);
...
 

Anhänge

  • Kreis.JPG
    Kreis.JPG
    4,7 KB · Aufrufe: 18
mit meinem Code rotieren alle gleich, aber jeder soll einen anderen Winkel bekommen. Wie mache ich es richtig?
Am einfachsten ist es vermutlich für jedes zu zeichnende Objekt mittels Graphics#create() ein eigenes Graphics Objekt zu erzeugen und dieses auf den Mittelpunkt des Objektes zu verschieben und um den spezifischen Winkel rotieren zu lassen. dispose() nicht vergessen.
 
Also, ich möchte z.B.
Quader A im Mittelpunkt von A um 30 Grad drehen
Quader B im Mittelpunkt von B um 45 Grad drehen
Quader C im Mittelpunkt von C um 60 Grad drehen

Sie sollen also nicht übereinander liegen, sondern jeder für sich leicht gedreht werden.
 
Wie gesagt:
Am einfachsten ist es vermutlich für jedes zu zeichnende Objekt mittels Graphics#create() ein eigenes Graphics Objekt zu erzeugen und dieses auf den Mittelpunkt des Objektes zu verschieben und um den spezifischen Winkel rotieren zu lassen. dispose() nicht vergessen.
eine andere Möglichkeite wäre:
- das Graphics Objekt um den Mittelpunkt von A 30 Grad rotieren
- A zeichnen
- das Graphics Objekt um den Mittelpunkt von A um - 30 Grad drehen
- das Graphics Objekt um den Mittelpunkt von B um 45 Grad drehen
- B zeichnen
- das Graphics Objekt um den Mittelpunkt von B um - 45 Grad drehen
...

hängt auch davon ab die wie Lageinformationen zu den Objekten gehalten wird.
 

Zurück
Oben