2009-03-23 9 views
11

Szukam algorytmu przekrzywienia, tak jak na photoshopie, edycja-> transforma-> pochylenie czy istnieje jakaś prosta matryca, która mogłaby to zrobić?Algorytm macierzy skośnych

to, co dotychczas widziałem, to podstawowa skośna matryca (ścinanie), ale jej brak punktu kontrolnego, nie pasuje do photoshopa, który ma co najmniej 4 punkty na każdym rogu prostokąta i możemy dowolnie przesuwać każdy punkt kontrolny .

Potrzebuję go wdrożyć, aby przekształcić samolot.

+0

Zobacz [to pytanie] (http://stackoverflow.com/questions/169902/projective-transformation) na mapowaniu czworokątnym. – plinth

Odpowiedz

21

Patrząc http://www.w3.org/TR/SVG11/coords.html, który mówi o SVG mówi:

  • skośnej transformacji wzdłuż osi X odpowiada matrycy

alt text

lub [1 0 tan (a) 1 0 0], co powoduje pochylenie współrzędnych X o kąt a.

  • skośnej transformacji wzdłuż osi y odpowiada matrycy

alt text

lub [1 tan (a) 0 1 0 0], które ma wpływ na pochylenie Y współrzędne według kąta a.

Nadzieję, że pomaga! :)

+0

Te matematyki nazywają matematykami skośne, ale oparte na http://www.offshorewebsolution.com/resources/creating_skew_effects_in_adobe_photoshop.html, nie sądzę, że to, co Photoshop nazywa zakosami. –

+0

Tak, te macierze są transformacjami afinicznymi, tutaj szukamy rzutowych. –