Forum: PC-Programmierung Java Koodrinatenursprung ändern


von markus (Gast)


Lesenswert?

Moin,

ich möchte ein kleines Diagramm in Java zeichnen, dazu haette ich gern 
den Koordinatenurspung in der linken unteren Ecke. Des weiteren haett 
ich gern das bei einer Zeichnung die Y-Werte nach "oben" gezaehlt werden 
und nicht wie standard nach unten.

Das Koordinatensystem soll also so aussehen wie man es aus der 
Schulmathematik kennt.

Linksunten der Ursprung nach rechts die positiven X-Werte, nach Oben die 
positiven Y-Werte.

Wie kann ich das erreichen? Den Urpsrung versetzen kann man mit 
Graphics2D.translate(int x, int y) aber wie kann man das realisieren mit 
dem Y-Koordinaten? Wäre echt cool, wenn mir einer weiterhelfen könnte

gruß Markus

von Εrnst B. (ernst)


Lesenswert?

Graphics2D kann eine Affine Transformation auf alle Koordinaten 
anwenden, damit ist das kein Problem mehr.

Wenn dir das Matrix-Ausfüllen dafür von Hand zu kompliziert ist, kannst 
du auch mit den "getTranslateInstance" und "getScaleInstance" Methoden 
aus dem "AffineTransform" Objekt Zwei Matrizen bauen, und die mit 
"concatenate" Zusammenführen, bevor du das AffineTransform Obj. in deine 
Graphics2D Klasse packst.

/Ernst

von Εrnst B. (ernst)


Lesenswert?

P.S.:

Die AffineTransform Objekte musst du nichtmal selbst anfassen,

Graphics2D.scale(1.0,-1.0) Legt das intern schon richtig an.

/Ernst

von markus (Gast)


Lesenswert?

danke für den ansatz, werd das mal ausprobieren :)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.