«

»

Mrz 15

Beitrag drucken

Objekt um Mittelpunkt transformieren

Dieser Post ist auch verfügbar auf: Englisch

Hallo zusammen,

im heutigen Beitrag möchte ich kurz über die Transformation von Objekten um ihren Mittelpunkt sprechen. Einige werden sich Fragen was das Ganze denn bitte soll. Alle, die sich schon mal im weitesten Sinne mit der Entwicklung von Spielen beschäftigt haben, mussten schon mal ein Bild um sich selbst rotieren lassen. Wenn man blauäugig an dieses Problem geht und z.B. in Felx (Adobe Actionscript) die passende Funktion anwendet wird man bemerken, dass sich das Objekt nur um den Koordinatenursprung dreht.

Natürlich könnte ich nun lange erklären wieso das so ist, aber darauf möchte ich verzichten, sondern schnell eine Lösung für das Problem liefern. Da wir wissen, dass eine Transformation immer nur vom Koordinatenursprung erfolgt, können wir dies für unseren Vorteil nutzen. Dabei ist die Lösung des Problems denkbar einfach:

 

  1. Schiebe den Objektmittelpunkt in den Koordinatenursprung
  2. Rotiere/Skalliere Dein Objekt
  3. Schiebe es an die alte Position

 

Dazu gibt es dann auch noch ein Code-Beispiel (Rotation eines Sprite um seine Mitte in Adobe Flex) um das Ganze zu verdeutlichen.

//erzeuge eine Matrix zum verschieben zum Ursprung
this.rotM.translate( -(this._mLeft + this.width2), -(this._mTop + this.width2));

//füge RoationMatrix hinzu            
this.rotM.rotate(this.rotDelta * 0.017453292519943295);

//füge Matrix zum Verschieben auf den letzten Punkt hinzu
this.rotM.translate(this._mLeft + this.width2, this._mTop + this.width2);

//Wende die Matrix auf das Objekt an
this.transform.matrix = this.rotM;

Tada, das Problem ist gelöst und alle können fröhlich sein und das sogar ohne Groß mit der Mathematik ringen zu müssen. Natürlich kann es interessant sein zu wissen wieso sowas funktioniert, aber ich denke, dass die Meisten schnell zu einer Lösung wollen und sich nicht für eine mathematische Erläuterung hier interessieren werden.

Über den Autor

Andreas

Fortgeschrittener Informatik Student mit der Spezialisierung auf Digitale Medien.

Permanentlink zu diesem Beitrag: http://blackdays.de/2012/03/objekt-um-mittelpunkt-transformieren/

Kommentar verfassen