I in ein seltsames Problem lief beim Versuch, die y-Achse eines Koordinatensystems zu drehen, dass die Schaffung IM:Affine und Umlegen der y-Achse
private AffineTransform getTransform() {
if (transform == null) {
transform = new AffineTransform();
double scaleX = (double) this.getWidth()/(coordinateSystem.getMaxX() - coordinateSystem.getMinY());
double scaleY = (double) this.getHeight()/(coordinateSystem.getMaxY() - coordinateSystem.getMinY());
transform.setToScale(scaleX, scaleY);
double deltaX = (coordinateSystem.getMaxX() - coordinateSystem.getMinX())/2;
double deltaY = (coordinateSystem.getMaxY() - coordinateSystem.getMinY())/2;
transform.translate(deltaX, deltaY);
}
return transform;
}
Die Affine wird auf Skalierung und Übersetzung. und alles funktioniert gut, außer dass meine y-Werte invertiert sind (der maximale Wert ist ein Wert im unteren Teil des Koordinatensystems, der Wert für den kleinsten Wert ist oben). Ich habe versucht, dies zu ändern, indem ich den Skalierungsfaktor für die Y-Achse invertierte. aber das hat nicht funktioniert.
Muss ich die Transformation durch PI drehen lassen, um die gekippte Y-Achse zu erhalten? Sollte der Skalierungsfaktor für die y-Achse nicht mit minus 1 multipliziert werden?
Jesus Dank wird Flip! ich verlor haare wegen dieses f **** ers;) – fasseg