2009-03-23 17 views
11

Sto cercando l'algoritmo di skew, proprio come su photoshop, edit-> transform-> skew c'è qualche matrice semplice che potrebbe farlo?algoritmo di matrice di skew

quello che ho visto finora era la matrice di skew di base (shear) ma la sua mancanza di punto di controllo, non mi piace su Photoshop che ha almeno 4 punti su ogni angolo del rettangolo e possiamo spostare ogni punto di controllo liberamente .

Devo implementarlo per trasformare un piano.

+0

Vedere [questa domanda] (http://stackoverflow.com/questions/169902/projective-transformation) sulla mappatura quadrilatera. – plinth

risposta

21

Guardando http://www.w3.org/TR/SVG11/coords.html, che parla SVG, dice:

  • Un un'inclinazione lungo l'asse x è equivalente alla matrice

alt text

o [1 0 tan (a) 1 0 0], che ha l'effetto di inclinare le coordinate X per l'angolo a.

  • Un un'inclinazione lungo l'asse y è equivalente alla matrice

alt text

o [1 tan (a) 0 1 0 0], che ha l'effetto di inclinazione Y coordinate per angolo a.

Spero che questo aiuti! :)

+0

Queste matrici sono ciò che i matematici chiamano skew, ma sulla base di http://www.offshorewebsolution.com/resources/creating_skew_effects_in_adobe_photoshop.html, non credo che ciò che Photoshop chiama skew. –

+0

Sì, quelle matrici sono trasformazioni affini, guardiamo qui per quelle proiettive. –

Problemi correlati