Składanie transformacji

Przestrzenie wektorowe, bazy, liniowa niezależność, macierze.... Formy kwadratowe, twierdzenia o klasyfikacji...
navas
Użytkownik
Użytkownik
Posty: 16
Rejestracja: 23 paź 2009, o 19:29
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 2 razy

Składanie transformacji

Post autor: navas »

Założmy, że mamy punkt (-100, 0) i chcemy go najpierw przesunąć o wektor (-100,0), a następnie przeskalować o wektor (-1,1).

Macierz przesunięcia o wektor (x,y)

\(\displaystyle{ \left[\begin{array}{ccc}1&0&x\\0&1&y}\\0&0&1\end{array}\right]}\)

Macierz skalowania o wektor (x,y)

\(\displaystyle{ \left[\begin{array}{ccc}x&0&0\\0&y&0}\\0&0&1\end{array}\right]}\)

Nasz punkt reprezentowany przez macierz:
\(\displaystyle{ \left[\begin{array}{ccc}-100\\0\\1\end{array}\right]}\)

Chciałbym stworzyć jedną macierz, która przemnożona przez punkt (-100,0), da nam oczekiwany efekt (moglibyśmy najpierw punkt wymnożyć przez jedną macierz, a potem przez drugą, ale jeśli mamy takich punktów 100, to jest to nieefektwyne).

A więc chcemy stworzyć macierz trasnformacji (wynikową):

\(\displaystyle{ \left[\begin{array}{ccc}1&0&-100\\0&1&0}\\0&0&1\end{array}\right] \cdot \left[\begin{array}{ccc}-1&0&0\\0&1&0}\\0&0&1\end{array}\right] = \left[\begin{array}{ccc}-1&0&-100\\0&1&0}\\0&0&1\end{array}\right]}\)

Teraz wymnażając tą macierz przez nasz punkt, otrzymamy punkt \(\displaystyle{ (-100,0)}\), co jest niestety błędnym wynikiem. Co robie źle?

Gdy pomnożę punkt przez pierwszą macierz, a potem zmodyfikowany punkt przez drugą macierz, otrzymam prawidlowy wynik \(\displaystyle{ (200,0)}\), ale zależy mi jednak, aby robić to pierwszym sposobem
BettyBoo
Użytkownik
Użytkownik
Posty: 5356
Rejestracja: 10 kwie 2009, o 10:22
Płeć: Kobieta
Lokalizacja: Gliwice
Pomógł: 1381 razy

Składanie transformacji

Post autor: BettyBoo »

W ogóle to dziwnie to zapisujesz - z wektorów o 2 współrzędnych robią Ci się wektory o 3 współrzędnych i odwrotnie - koszmar

Ad rem - skoro najpierw przesuwasz, a potem skalujesz, to macierz złożenia jest iloczynem tych macierzy w odwrotnej kolejności.

Pozdrawiam.
navas
Użytkownik
Użytkownik
Posty: 16
Rejestracja: 23 paź 2009, o 19:29
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 2 razy

Składanie transformacji

Post autor: navas »

Czyli przykładowo jeżeli mam do wykonania następujące transformacje:
- przesunięcie_1
- obrot_1
- skalowanie
- obrot_2
- przesuniecie_2

To zlozenie tych transformacji to wymnozenie tych macierzy w odwrotnej kolejnosci ? czyli
przesuniecie_2 * obrot_2 * skalowanie * obrot_1 * przesuniecie_1 ?
BettyBoo
Użytkownik
Użytkownik
Posty: 5356
Rejestracja: 10 kwie 2009, o 10:22
Płeć: Kobieta
Lokalizacja: Gliwice
Pomógł: 1381 razy

Składanie transformacji

Post autor: BettyBoo »

Tak - to wynika z definicji macierzy przekształcenia liniowego.

Pozdrawiam.
ODPOWIEDZ