Point drehen



  • Hallo ich habe ein Point Objekt und würde das gerne in einem bestimmten Winkel um einen anderen Punkt drehen. Das Resultat sollte logischerweise der neue Punkt sein.

    Gibt es da schon was in der API?

    Gruss schoetz



  • Ich glaube nicht aber eine Drehung um einen Punkt sollte auch nicht wirklich das Problem sein. Beachte das Koordinatensystem! Es ist anders aufgebaut als das was man sonst kennt ...


  • Mod

    Ich glaube auch nicht, dass eine Drehung eines Punktes um einen anderen Punkt in der API existiert. Aber sag mal, wofür du das brauchst. Wenn du ein Bild drehen möchtest, dann gibt es da wohl was (aber da würde man wohl eh nicht mit Punkt-Objekten arbeiten).



  • klar gibts da was. java.awt.geom.AffineTransform ist eine Matrize im 2D-Raum die zu einer Rotations-, Skalierungs- oder Translationsmatrix konfiguieren kannst. In ihr gibt es die Methode transform kannst du dann eine Instanz von Point durch die Matrix schicken und erhältst bei einer Rotationsmatrix den gedrehten Punkt.

    Wayne



  • Ich habe bereits eine Lösung gefuden wie ich das selber einfach berechnen kann. Habe sie jetzt aber nicht gerade zur Hand.

    Mit AffineTransform habe ich es auch schon probiert allerdings ist da nie das richtige herausgekommen ich weis auch nicht wieso.

    [java]
    AffineTransform at = new AffineTransform();
    at.rotate(Math.toRadians(360),new Point(100,200));
    Point result = at.transform(new Point(100,100),null)h;[/code]

    result müsste da ja jetzt ja (100/100) sein, da ich den Punkt um 360 Grad drehe. Ist er aber nicht 😞

    Naja eben wie schon gesagt ich habe bereits eine Lösung, aber wenn jemand weis wie ich das mit AffineTransform hinbekomme wäre es auch nicht schlecht.

    Gruss schoetz


Anmelden zum Antworten