2009-03-23 19 views
11

Ich bin auf der Suche nach Skew-Algorithmus, genau wie auf Photoshop, bearbeiten-> Transform-> Skew Gibt es eine einfache Matrix, die das tun könnte?Skew-Matrix-Algorithmus

was ich bis jetzt gesehen habe, war grundlegende Skew-Matrix (Schere), aber sein Mangel an Kontrollpunkt, nicht auf Photoshop, die mindestens 4 Punkte auf jeder Ecke des Rechtecks ​​haben und wir können jeden Kontrollpunkt frei bewegen .

Ich muss es implementieren, um eine Ebene zu transformieren.

+0

Siehe [diese Frage] (http:// Stackoverflow.com/questions/169902/projective-transformation) auf Vierecks-Mapping. – plinth

Antwort

21

bei http://www.w3.org/TR/SVG11/coords.html der Suche, die etwa SVG spricht, heißt es:

  • windschief Transformation entlang der x-Achse zu der Matrix entspricht

alt text

oder [1 0 tan (a) 1 0 0], was dazu führt, dass die X-Koordinaten um den Winkel a verschoben werden.

  • windschief Transformation entlang der y-Achse ist auf die Matrix äquivalent

alt text

oder [1 tan (a) 0 1 0 0], die die Wirkung der Schrägstellung Y hat Koordinaten nach Winkel a.

Hoffe, dass hilft! :)

+0

Diese Matrizen nennen Mathematiker skew, aber basierend auf http://www.offshorewebsolution.com/resources/creating_skew_effects_in_adobe_photoshop.html, ich glaube nicht, dass es das ist, was Photoshop nennt skew. –

+0

Ja, diese Matrizen sind affine Transformationen, wir suchen hier nach projektiven. –