Graphics Koordinatensystem in das normale mathematische Koordiantensystem umwandeln?

chrisLB

Grünschnabel
Hallo,
ich möchte gerne das Koordiantensystem des Graphicsobjekts in das normale mathematische Koordiantensystem umformen.

D.H.
- Mittelpunkt in der Mitte - ok das bekomme ich noch hin mit g.translate("breite"/2,"höhe"/2)
- Nun muss aber noch die y Achse nach oben hin positiv werden und nicht wie jetzt nach unten, wie erreiche ich das? Man müsste ja ansich einfach um die x Achse spiegeln, nur wie mache ich das?

In diesem Thread hat jemand in etwa das gemacht, jedoch hat er die x-Achse gespiegelt.

http://www.tutorials.de/forum/java/251903-graphics2d-mathematisches-koordinatensystem.html

Bin aber irgend wie zu doof, die Sache zu übertragen auf mein Problem, kann mir da jemand helfen?

Wäre über Hilfe echt super dankbar.
Viele Grüße Chris
 
Wenn Du den Mittelpunkt bereits versetzt hast, müsste doch ein Vorzeichenwechsel der y-Koordinate Deinen Graph um die X-Achse spiegeln.

Zum Zeichnen:
Code:
yKoordinate = -yKoordinate;
 
Hallo,
ja das ist mir schon klar, ich hatte bisher auch alle Koordinaten "per Hand" umgerechnet (ohne Mittelpunkt...), jedoch habe ich ja gesehen, dass man das Koordinatensystem auch 100%ig anpassen kann, also warum die Arbeit machen, wenn es auch schöner geht, würde halt gerne wissen wie ich das machen muss. Quasi analog wie in meinem Link nur für die andere Achse.
Grüße Chris
 
Hallo, habe selber noch mal probiert und das Problem gelöst. Ich dachte in meinem verlinkten Thread geht der Helfer direkt auf das Problem des Fragenden ein, jedoch tut er dies nicht sondern gibt ihm als Beispiel, wie man mein Problem löst. Also die Lösung für mein Problem wäre dann im folgendenen so:

PHP:
Graphics2D g2d=(Graphics2D)g;
AffineTransform tx = new AffineTransform(1, 0, 0, -1, 0, getHeight());
tx.translate(this.getWidth()/2, this.getHeight()/2);
g2d.setTransform( tx );

Grüße Chris
 
Zurück