W07 Przekształcenia 2D


Przekształcenia 2D
Przekształcenia 2D
Przesunięcia
Przesunięcia

Przesunięcia  punkt na płaszczyznie P(x, y)
można przesunąć dodając do jego
współrzędnych wielkości przesunięcia dx i dy
odpowiednio w kierunku osi X i osi Y.
x = x + dx, y = y + dy
Dla wektorów kolumnowych:
dx
x x' îÅ‚ Å‚Å‚
îÅ‚ Å‚Å‚ îÅ‚ Å‚Å‚
T
PïÅ‚ śł, P'ïÅ‚ śł, T 'ïÅ‚ śł
ðÅ‚yûÅ‚ ðÅ‚y'ûÅ‚
ðÅ‚dy ûÅ‚
P = P + T
Czy wszystkie punkty obiektu należy przesunąć?
Przekształcenia 2D
Przekształcenia 2D
Skalowanie
Skalowanie

Skalowanie  punkty mogą być
skalowane wzdłuż osi X
współczynnikiem sx, wzdłuż osi Y
współczynnikiem sy przez mnożenie:
x = sx·x, y = sy·y
W postaci macierzowej skalowanie
wyraża się:
sx 0
x' îÅ‚ Å‚Å‚ x
îÅ‚ Å‚Å‚ îÅ‚ Å‚Å‚
= Å"
ïÅ‚
ïÅ‚y'śł
0 sy śł ïÅ‚yśł
ðÅ‚ ûÅ‚ ðÅ‚ ûÅ‚
ðÅ‚ ûÅ‚
P = S · P
Przekształcenia 2D
Przekształcenia 2D
Obroty
Obroty

Obroty  punkty mogą być obracane o kąt
¸ wokół poczÄ…tku ukÅ‚adu współrzÄ™dnych:
x = x ·cos¸ - y·sin ¸,
y = x ·sin¸ + y·cos¸
W postaci macierzowej:
x' cos¸ - sin¸ x
îÅ‚ Å‚Å‚ îÅ‚ Å‚Å‚ îÅ‚ Å‚Å‚
= Å"
ïÅ‚y'śł ïÅ‚sin¸ cos¸ śł ïÅ‚yśł
ðÅ‚ ûÅ‚ ðÅ‚ ûÅ‚ ðÅ‚ ûÅ‚
P = R ·P
Współrzędne jednorodne
Współrzędne jednorodne

Współrzędne jednorodne  punkt reprezentują 3
współrzędne (dodatkowa współrzędna W):
- każdy punkt ma wiele różnych reprezentacji we
współrzędnych jednorodnych.
dwa punkty (x1, y1, W1) i (x2, y2, W2) są równe
-
jeżeli współrzędne jednego punktu są
wielokrotnością drugiego,
- jedna ze współrzędnych jednorodnych musi być
różna od 0 (niedopuszczalny jest punkt (0, 0, 0)),
- gdy W = 0 to punkt leży w nieskończoności.
Reprezentacja macierzowa
Reprezentacja macierzowa
przekształceń 2D
przekształceń 2D
Zastosowanie współrzędnych
jednorodnych umożliwia wykonanie
przekształceń 2D w postaci mnożenia
macierzy:
1 0 dx îÅ‚xÅ‚Å‚
îÅ‚ Å‚Å‚
x'
îÅ‚ Å‚Å‚
ïÅ‚0 1 dy śł
y' y
ïÅ‚ śł ïÅ‚ śł

= Å"
Przesunięcie:
ïÅ‚ śł
ïÅ‚1 śł ïÅ‚1 śł
ïÅ‚
ðÅ‚ ûÅ‚
ðÅ‚0 0 1 śł ðÅ‚ ûÅ‚
ûÅ‚
Złożenie przesunięć (addytywność):
1 0 dx1 1 0 dx2 1 0 dx1 + dx2
îÅ‚ Å‚Å‚ îÅ‚ Å‚Å‚ îÅ‚ Å‚Å‚
ïÅ‚0 1 dy1śł Å" ïÅ‚0 1 dy2 śł ïÅ‚0 1 dy1 + dy2 śł
=
ïÅ‚ śł ïÅ‚ śł ïÅ‚ śł
ïÅ‚ ïÅ‚ śł
1
ðÅ‚0 0 1 śł ïÅ‚ 0 1 śł ûÅ‚
ûÅ‚ ðÅ‚0 ûÅ‚ ðÅ‚0 0
Reprezentacja macierzowa
Reprezentacja macierzowa
przekształceń 2D
przekształceń 2D
Skalowania i obroty
Skalowania i obroty

Skalowanie:
sx 0 0
îÅ‚ Å‚Å‚
x' x
îÅ‚ Å‚Å‚ îÅ‚ Å‚Å‚
ïÅ‚
y' y
ïÅ‚ śł ïÅ‚ śł
= 0 sy 0śł Å"
ïÅ‚ śł
ïÅ‚1 śł ïÅ‚1 śł
ïÅ‚ śł
ðÅ‚ ûÅ‚ ðÅ‚ ûÅ‚
0 0 1ûÅ‚
ðÅ‚
Złożenie skalowań (multiplikatywność):
sx1 0 0 sx2 0 0 sx1sx2 0 0
îÅ‚ Å‚Å‚ îÅ‚ Å‚Å‚ îÅ‚ Å‚Å‚
ïÅ‚ ïÅ‚ ïÅ‚
0 sy1 0śł Å" 0 sy2 0śł = 0 sy1sy2 0śł
ïÅ‚ śł ïÅ‚ śł ïÅ‚ śł
ïÅ‚ śł ïÅ‚ śł ïÅ‚ śł
0 0 1ûÅ‚ ðÅ‚ 0 0 1ûÅ‚ 0 0 1ûÅ‚
ðÅ‚ ðÅ‚
cos¸ - sin¸ 0 x
îÅ‚ Å‚Å‚ îÅ‚ Å‚Å‚
x'
îÅ‚ Å‚Å‚
ïÅ‚- ïÅ‚yśł
y'
ïÅ‚ śł

= sin¸ cos¸ 0śł Å"
Obroty:
ïÅ‚ śł ïÅ‚ śł
ïÅ‚1 śł
ïÅ‚ śł
ðÅ‚ ûÅ‚ ïÅ‚ śł
0 0 1ûÅ‚ ðÅ‚1 ûÅ‚
ðÅ‚
Przekształcenia afiniczne
Przekształcenia afiniczne

Przekształcenia afiniczne  mają właściwość
zachowania równoległości linii (nie zachowują
kątów i długości linii).

Złożenia wcześniej wymienionych przekształceń
są przekształceniami afinicznymi.

Przekształcenie pochylające (wzdłuż osi X i Y):
1 a 0 1 0 0
îÅ‚ Å‚Å‚ îÅ‚ Å‚Å‚
ïÅ‚0 1 0śł, SH = ïÅ‚b 1 0śł
SHx =
y
ïÅ‚ śł ïÅ‚ śł
ïÅ‚ śł ïÅ‚ śł
ðÅ‚0 0 1ûÅ‚ ðÅ‚0 0 1ûÅ‚
gdzie a i b są współczynnikami proporcjonalności.
Składanie przekształceń 2D
Składanie przekształceń 2D
" Zamiast wykonywać ciąg przekształceń
jedno po drugim, można stosować jedną
macierz opisujÄ…cÄ… te wszystkie
przekształcenia (zwiększa efektywność).
" Przykład. Obrót obiektu wokół dowolnego
punktu P1:
1. przesunięcie współrzędnych
wszystkich punktów tak,
P
1
aby P1 znalazło się w środku
układu współrzędnych.
cd. przykładu
cd. przykładu
2. Wykonanie obrotu.
¸
3. Przesunięcie wszystkich
punktów tak, aby środek
układu współrzędnych znalazł
się w pierwotnym położeniu
punktu P1
Pole wizualizacji
Pole wizualizacji

Określenie współrzędnych
wyjściowych.
 współrzędne świata (rzeczywiste),
 współrzędne ekranu.

Przekształcenie okna we
współrzędnych świata w prostokątny
obszar określany jako pole wizualizacji.
Przekształcenie okna na
Przekształcenie okna na
pole wizualizacji
pole wizualizacji
A. Przesunąć okno do początku układu
współrzędnych.
B. Wyskalować okno tak, aby dopasować jego
wymiary do pola wizualizacji.
C. Zastosować przesunięcie aby umieścić pole
wizualizacji we właściwym położeniu.
Okno we współrzędnych Pole
świata wizualizacji
(umax, vmaz)
(xmax, ymaz)
A B C.
(umin, vmin)
(xmin, ymin)
Macierz przekształcenia
Macierz przekształcenia
ëÅ‚ öÅ‚
umax - umin vmax - vmin ÷Å‚
ìÅ‚
MWV = T (umin,vmin ) Å" SìÅ‚ , (-xmin,-ymin ) =
xmax - xmin ymax - ymin ÷Å‚Å"T
íÅ‚ Å‚Å‚
umax - umin umax - umin
îÅ‚
0 - xmin Å" + umin Å‚Å‚
ïÅ‚ śł
xmax - xmin xmax - xmin
ïÅ‚ śł
vmax - vmin vmax - umin
ïÅ‚
= 0 - ymin Å" + vmin śł
ïÅ‚ śł
ymax - ymin ymax - ymin
ïÅ‚ śł
0 0 1
ïÅ‚ śł
ðÅ‚ ûÅ‚
Zwiększenie efektywności
Zwiększenie efektywności

Złożenie operacji translacji, skalowania
i obrotu daje macierz postaci:
m11 m12 tx
îÅ‚ Å‚Å‚
ïÅ‚m
M = m22 ty śł
21
ïÅ‚ śł
ïÅ‚ śł
0 0 1
ðÅ‚ ûÅ‚

Obliczenie M·P wymaga wykonania 9
mnożeń i 6 dodawań.

Stała struktura ostatniego wiersza upraszcza
wykonanie operacji do:
x = x · m11 + y · m12 + tx
y = x · m21 + y · m22 + ty
Przekształcenia macierzowe
Przekształcenia macierzowe
3D
3D

Współrzędne jednorodne wymagają 4
współrzędnych:
P[x, y, z, W]

Przekształcenia 3D są reprezentowane
przez macierze 4 x 4
Przekształcenia macierzowe
Przekształcenia macierzowe
3D
3D


Pochylenie w 3D
Translacja w 3D
1 0 0 dx
îÅ‚ Å‚Å‚
1 0 shx 0
îÅ‚ Å‚Å‚
ïÅ‚0 1 0 dy śł
ïÅ‚0 1 shy 0śł
ïÅ‚ śł
T (dx, dy ,dz ) =
ïÅ‚ śł
SH (shx, shy ) =
ïÅ‚ śł
0 0 1 dz
ïÅ‚ śł
0 0 1 0
ïÅ‚0 0 0 1 śł
ïÅ‚0 0 0 1śł
ðÅ‚ ûÅ‚
ðÅ‚ ûÅ‚

Skalowanie w 3D
sx 0 0 0
îÅ‚ Å‚Å‚
ïÅ‚
0 sy 0 0śł
ïÅ‚ śł
S(sx, sy , sz ) =
ïÅ‚ śł
0 0 sz 0
ïÅ‚
0 0 0 1śł
ðÅ‚ ûÅ‚
Obroty w przestrzeni 3D
Obroty w przestrzeni 3D


Wokół osi Z
Wokół osi X
1 0 0 0
îÅ‚ Å‚Å‚
cos¸ - sin¸ 0 0
îÅ‚ Å‚Å‚
ïÅ‚0 cos¸ - sin¸ 0śł
ïÅ‚sin¸ cos¸ 0 0śł
ïÅ‚ śł
ïÅ‚ śł
Rx (¸ ) =
Rz (¸ ) =
ïÅ‚ śł
0 sin¸ cos¸ 0
ïÅ‚ śł
0 0 1 0
ïÅ‚0
ïÅ‚
0 0 1śł
0 0 0 1śł
ðÅ‚ ûÅ‚
ðÅ‚ ûÅ‚

Wokół osi Y
cos¸ 0 sin¸ 0
îÅ‚ Å‚Å‚
ïÅ‚
0 1 0 0śł
ïÅ‚ śł
Ry (¸ ) =
ïÅ‚- sin¸ 0 cos¸ 0
śł
ïÅ‚
0 0 0 1śł
ðÅ‚ ûÅ‚


Wyszukiwarka

Podobne podstrony:
07 GIMP od podstaw, cz 4 Przekształcenia
W07 W08 SCR
3 4 BK Przeksztalcenia gramatyk
Przekształcenia liniowe zadania i przykłady
W07 08 WYKLADY TIORB 2007 MECHANIZACJA CALOSC z rysunkami
Przekształcenia ciągłe zmiennej losowej
05 Ansys BELKA 2D
opengl przeksztalcenia geometryczne
0708z sk zlm w07
Fund w07
Gazownictwo w07

więcej podobnych podstron