Co to są transformacje afiniczne? Czy dotyczą one tylko punktów, czy też innych kształtów? Co to znaczy, że można je „skomponować”?
Co to są transformacje afiniczne? Czy dotyczą one tylko punktów, czy też innych kształtów? Co to znaczy, że można je „skomponować”?
Odpowiedzi:
Przekształcenie afiniczne jest przekształceniem liniowym + wektorem translacji.
Można go zastosować do pojedynczych punktów lub linii, a nawet krzywych Beziera. W przypadku linii zachowuje właściwość, że linie równoległe pozostają równoległe. W przypadku krzywych Beziera zachowuje właściwości wypukłego kadłuba punktów kontrolnych.
Po pomnożeniu tworzy 2 równania do otrzymania „transformowanej” pary współrzędnych z oryginalnej pary ( x , y ) i listy stałych ( a , b , c , d , e , f ) . x ′ = a ⋅ x + c ⋅ y + e
Dogodnie transformację liniową i wektor translacji można połączyć w matrycę 3D, która może działać na współrzędnych homogenicznych 2D.
Co daje te same 2 równania powyżej.
Bardzo dogodnie same macierze mogą być mnożone razem, aby uzyskać trzecią macierz (stałych), która wykonuje taką samą transformację, jak oryginalna 2 wykonałaby po kolei. Mówiąc prościej, mnożenia macierzy są asocjacyjne.
Alternatywnie możesz rozważyć kilka podstawowych typów transformacji i skomponować dowolną bardziej złożoną transformację, łącząc je (mnożąc je razem).
Przekształcenie tożsamości
skalowanie
Tłumaczenie
Pochyl x o y
Pochyl y o x
Obrót
[Uwaga: Pokazałem tutaj Matrycę, która akceptuje wektor wiersza po lewej stronie . Transpozycja tych macierzy będzie działać z wektorem kolumny po prawej stronie.]
Macierz złożona wyłącznie ze skalowania, obrotu i translacji można ponownie rozłożyć na te trzy elementy .