Przekształcenia jednorodne.pdf

(317 KB) Pobierz
4.5. Przekształcenia jednorodne
RozwaŜmy teraz układ współrzędnych
Ox
1
y
1
z
1
otrzymany z układu
Ox
0
y
0
z
0
przez
przesunięcie równoległe o odległość |d|, jak to pokazano na rys. 37. Wówczas wektory
jednostkowe
i
0
,
j
0
,
k
0
są równoległe odpowiednio do wektorów
i
1
,
j
1
,
k
1
.
Wektor
d
jest
wektorem o początku w punkcie
O
0
, a końcu w punkcie
O
1
wyraŜonym w układzie
współrzędnych
Ox
0
y
0
z
0
.
Rys. 37. Układ przesunięty
Dowolny punkt
P
ma reprezentacje
p
0
i
p
1
jak poprzednio. PoniewaŜ odpowiednie osie
współrzędnych w tych dwóch układach są równoległe, więc wektory
p
0
i
p
1
są powiązane
zaleŜnością
p
0
=
p
1
+
d
01
(85)
lub
p
0x
=
p
1x
+
d
0x1
(86)
1
p
0y
=
p
1y
+
d
0y
(87)
1
p
0z
=
p
1z
+
d
0z
(88)
Najbardziej ogólnie związek między rozwaŜanymi układami współrzędnych
Ox
0
y
0
z
0
i
Ox
1
y
1
z
1
moŜe być wyraŜony przez kombinację czystego obrotu i czystego przesunięcia, co
jest określane jako
ruch sztywny.
Definicja 1.
Przekształcenie
p
0
=
Rp
1
+
d
(89)
definiuje
ruch sztywny,
jeŜeli macierz
R
jest ortogonalna. ZauwaŜmy,
Ŝe
ta definicja obejmuje
równieŜ
odbicia,
gdy det
R
= -l. W naszym przypadku nie będziemy potrzebować najbardziej
ogólnego ruchu sztywnego, przyjmujemy więc zawsze,
Ŝe
R
SO(3).
JeŜeli zatem mamy dwa ruchy sztywne
p
0
=
R
01
p
1
+
d
01
(90)
p
1
=
R
12
p
2
+
d
12
(91)
to ich połączenie określa trzeci ruch sztywny, który moŜemy opisać przez podstawienie
wyraŜenia dla
p
1
z wzoru (91) do zaleŜności (90). Otrzymujemy wtedy
p
0
=
R
01
R
12
p
2
+
R
01
d
12
+
d
01
(92)
PoniewaŜ jednak związek między wektorami
p
0
i
p
1
jest takŜe ruchem sztywnym, moŜemy go
opisać jako
(93)
p
0
=
R
02
p
2
+
d
02
Z porównania równań (92) i (93) otrzymujemy równości
R
02
=
R
01
R
12
(94)
2
1
1
2
d
0
=
d
0
+
R
0
d
1
(95)
Równość (94) pokazuje,
Ŝe
przekształcenia orientacji mogą być po prostu mnoŜone, a
równanie (95) pokazuje,
Ŝe
wektor od początku
O
0
do początku
O
2
jest sumą wektorową
wektora
d
01
od
O
0
do
O
1
i wektora
R
01
d
12
od
O
1
do
O
2
wyraŜonych w orientacji układu
współrzędnych
Ox
0
y
0
z
0
.
Porównanie tego z równością macierzową
2
2
2
2
R
1
d
1
 
R
1
d
1
 
R
1
R
1
R
1
d
1
+
d
1
0
0
0
0
0
(96)
=
1
 
0
1
 
0
1
0
gdzie
0
oznacza (000), pokazuje,
Ŝ
e ruchy sztywne mog
ą
by
ć
reprezentowane przez zbiór
macierzy o postaci
R d
H
=
; R
SO
(3)
(97)
0 1
Korzystaj
ą
c z faktu,
Ŝ
e macierz
R
jest ortogonalna, łatwo jest pokaza
ć
,
Ŝ
e przekształcenie
odwrotne
H
-1
jest okre
ś
lone nast
ę
puj
ą
co
R
T
- R
T
d
H
=
(98)
1
0
Macierze przekształce
ń
postaci (97) s
ą
nazywane przekształceniami jednorodnymi.
Aby przedstawi
ć
przekształcenie (89) jako mno
Ŝ
enie macierzy, trzeba rozszerzy
ć
wektory
p
0
i
p
1
przez dodanie czwartego składnika równego jedno
ś
ci nast
ę
puj
ą
co:
Przyjmijmy,
Ŝ
e
p
P
0
=
0
(99)
1
-1
p
P
1
=
1
(100)
1
Wektory
P
0
i
P
1
s
ą
znane jako
reprezentacje jednorodne
odpowiednio wektorów
p
0
i
p
1
. Mo
Ŝ
na teraz bezpo
ś
rednio zobaczy
ć
,
Ŝ
e przekształcenie (89) jest równowa
Ŝ
ne
(jednorodnemu) równaniu macierzowemu
P
0
=
H
P
1
+
H
01
P
1
(101)
Zbiór wszystkich 4x4-macierzy
H
postaci (97) jest oznaczany jako
E
(3)
. Zbiór
podstawowych przekształceń jednorodnych
generuj
ą
cych grup
ę
E
(3) jest okre
ś
lony
zwi
ą
zkami
1 0 0
a
0 1 0 0
Trans
x
,
a
=
(102)
0 0 1 0
0 0 0 1
1 0 0 0
0 1 0
b
Trans
y
,
b
=
(103)
0 0 1 0
0 0 0 1
1 0 0 0
0 1 0 0
Trans
z
,
c
=
(104)
0 0 1
c
0 0 0 1
dla przesuni
ę
cia oraz zwi
ą
zkami
0
1 0
0
c
s
α
α
Rot
x
,
α
=
0
s
α
c
α
0
0 0
c
φ
0
s
φ
0 1 0
Rot
y
,
φ
=
s
φ
0
c
φ
0 0 0
c
θ
s
θ
0
s
c
θ
0
Rot
z
,
θ
=
θ
0
0 1
0 0
0
0
0
0
1
0
0
0
1
0
0
0
1
(105)
(106)
(107)
dla obrotu wokół osi
x, y, z.
Najbardziej ogólne przekształcenie jednorodne, które będziemy rozwaŜać, moŜe zatem
być zapisane jako
n
x
s
x
a
x
d
x
n s a d
n s a d
y
y
y
T
=
y
=
(108)
n
z
s
z
a
z
d
z
 
0 0 0 1
0 0 0 1
W powyŜszym równaniu
n
=
(n
x
,
n
y
,
n
z
)
T
jest wektorem reprezentującym kierunek osi
O
1
x
1
, w układzie
Ox
0
y
0
z
0
,
s
= (s
x
,
s
y
,
s
z
)
T
reprezentuje kierunek osi
O
1
y
1
,
zaś
a
=
(a
x
,
a
y
,
a
z
)
T
reprezentuje kierunek osi
O
1
z
1
.
Wektor
d
=
(d
x
,
d
y
,
d
z
)
T
reprezentuje wektor od początku
O
0
do
początku
O
1
wyraŜony w układzie
Ox
0
y
0
z
0
.
Powód wybrania liter
n, s
oraz
a
zostanie
wyjaśniony w rozdz. 3.
Uwaga: Dla przekształceń jednorodnych o wymiarach 4x4 obowiązuje taka sama
interpretacja dotycząca składania przekształceń oraz ich kolejności, jak dla obrotów o
wymiarach 3x3.
Przykład 8.
Macierz przekształcenia jednorodnego
H,
która reprezentuje obrót o kąt
α
wokół osi bieŜącej
x;
z następującymi potem: przesunięciem o
b
jednostek wzdłuŜ bieŜącej osi
x,
przesunięciem
o
d
jednostek wzdłuŜ bieŜącej osi
z,
obrotem o kąt
θ
wokół bieŜącej osi
z,
jest określona
następująco
H
=
Rot
x
,
α
Trans
x
,
b
Trans
z
,
d
Rot
z
,
ϕ
=
0
0
0
 
1 0 0
b
 
1 0 0 0
1
0 cos
α
sin
α
0
 
0 1 0 0
 
0 1 0 0
(109)
=
0 sin
α
cos
α
0
 
0 0 1 0
 
0 0 1
d
 
 
0
0
1
 
0 0 0 1
 
0 0 0 1
0
sin
ϕ
0
b
cos
ϕ
sin
ϕ
0 0
 
cos
ϕ
sin
ϕ
cos
ϕ
0 0
 
cos
α
sin
ϕ
cos
α
cos
ϕ
sin
α
d
sin
α
=
0
0
1 0
 
sin
α
sin
ϕ
sin
α
cos
ϕ
cos
α
d
cos
α
 
0
0
0 1
 
0
0
0
1
Reprezentacja jednorodna (97) jest specjalnym przypadkiem współrz
ę
dnych
jednorodnych, które s
ą
szeroko stosowane w dziedzinie grafiki komputerowej . Dodatkowo
interesuj
ą
ce s
ą
tam przekształcenia skalowania i/lub perspektywy. Najbardziej ogólne
przekształcenie jednorodne przybiera posta
ć
| przesunięr ie
R
3
×
3
| d
3
×
1
 
obrót
H
=
− − −
|
− − −
=
−−−
|
−−−
(110)
 
f
1
×
3
| s
1
×
1
 
perspektywa | skalowanie
 
Dla naszych celów zawsze przyjmujemy wektor w ostatnim wierszu macierzy
H
równy (0, 0, 0, l), chocia
Ŝ
ogólniejsza posta
ć
dana równaniem (110) mo
Ŝ
e by
ć
u
Ŝ
yteczna do
ą
czenia systemu wizyjnego w szerszy system zrobotyzowany lub do symulacji graficznej.
4.6. Macierze skośniesymetryczne
W tej cz
ęś
ci wykładów wyprowadzimy niektóre dalsze własno
ś
ci macierzy obrotów,
u
Ŝ
yteczne do obliczania wzgl
ę
dnych przekształce
ń
pr
ę
dko
ś
ci i przy
ś
piesze
ń
mi
ę
dzy układami
współrz
ę
dnych. Takie przekształcenia s
ą
zwi
ą
zane z obliczaniem pochodnych macierzy
obrotów. Dzi
ę
ki wprowadzeniu zapisu macierzy sko
ś
niesymetrycznych mo
Ŝ
liwe jest
uproszczenie wielu oblicze
ń
.
Definicja 2.
Macierz S jest nazywana
macierzą skośniesymetryczną
wtedy i tylko wtedy, gdy
S
T
+
S
= 0
(111)
Zbiór wszystkich macierzy sko
ś
niesymetrycznych o wymiarze 3x3 oznaczamy przez
SS
(3).
Je
Ŝ
eli
S
SS
(3) ma elementy
s
ij
,
i
,
j =
l, 2, 3, wtedy równanie (111) jest równowa
Ŝ
ne
dziewi
ę
ciu równaniom postaci
s
ij
+
s
ji
= 0, oraz
i
,
j
= 1, 2, 3
(112)
Z zale
Ŝ
no
ś
ci (112) widzimy,
Ŝ
e
s
ii
= 0, tzn. elementy na przek
ą
tnej macierzy
S
s
ą
równe zeru, a elementy poza przek
ą
tn
ą
s
ij
dla
i
j
spełniaj
ą
równo
ść
s
ij
= -s
ji
.
St
ą
d macierz
S
ma tylko trzy niezale
Ŝ
ne wiersze lub kolumny i ka
Ŝ
da sko
ś
niesymetryczna macierz 3x3 jest
postaci
0
s
1
s
2
S
=
s
1
0
s
3
(113)
s
2
s
3
0
Je
Ŝ
eli natomiast
a
=
(
a
x
,
a
y
,
a
z
)
T
, jest 3-wymiarowym wektorem, to macierz
sko
ś
niesymetryczn
ą
S
(
a
) definiujemy nast
ę
puj
ą
co
0
S(a)
=
a
z
a
y
a
z
0
a
x
a
y
a
x
0
(114)
Przykład 9.
Macierze skośniesymetryczne
S(i), S(j)
i
S(k)
otrzymane dla wektora
a
równego
odpowiednio jednostkowym wektorom normalnym
i, j
i
k,
są dane równościami
0 0 0
S(i)
=
0 0
1
(115)
0 1 0
0 0 1
S(j)
=
0 0 0
(116)
1 0 0
0
1 0
S(k)
=
1 0 0
(117)
0 0 0
WaŜną własnością macierzy
S(a)
jest
liniowość.
Oznacza to,
Ŝe
dla dowolnych
wektorów
a
i
b
naleŜących do przestrzeni
R
3
oraz skalarów
α
i
β
jest spełniona równość
S(
α
a
+
β
b)
=
α
S(a)
+
β
S(b)
(118)
Inną waŜną własnością macierzy
S(a)
jest to,
Ŝe
dla dowolnego wektora
p
= (p
x
,
p
y
,
p
z
)
T
moŜna napisać zaleŜność
S(a)
p
=
a
×
p
(119)
gdzie
a
×
p
określa iloczyn wektorowy. Równanie (119) moŜe być sprawdzone przez
bezpośrednie obliczenie.
JeŜeli
R
SO(3)
i
a, b
są wektorami w przestrzeni
średnio
przeliczając moŜna
pokazać,
Ŝe
R(a
×
b)
=
Ra
×
Rb
(120)
Równanie (120) nie jest prawdziwe w ogólności, jeŜeli
R
nie jest macierzą ortogonalną.
Oznacza ono,
Ŝe
jeŜeli najpierw obrócimy wektory
a
i
b,
uŜywając obrotu
R,
a potem
utworzymy iloczyn wektorowy obróconych wektorów
R(a)
i
R(b),
to rezultat będzie taki sam,
jak otrzymany przez utworzenie najpierw iloczynu wektorowego
a
×
b,
a potem obrócenie do
wektora
R(a
×
b).
Dla dowolnych przekształceń
R, S
SO(3)
i dowolnych wektorów
a, b
R
3
z równań
(119) i (120) wynika,
Ŝe
RS(a) R
T
b
=
R(a
×
R
T
b)
= (R
a)
×
(R
R
T
b)
= (R
a)
×
b =
S(R
a) b
(121)
W ten sposób pokazaliśmy uŜyteczny fakt,
Ŝe
RS(a) R
T
=
S(R
a)
(122)
Równanie (122) jest jednym z uŜyteczniej wyraŜeń. Lewa strona tego równania reprezentuje
przekształcenie macierzy
S(a)
przez podobieństwo. Równanie (122) stwierdza,
Ŝe
reprezentacja macierzy
S(a)
w układzie współrzędnych obróconym przez
R
jest taka sama jak
macierz skośniesymetryczna
S(R
a)
odpowiadająca wektorowi
a
obróconemu przez
R.
Zgłoś jeśli naruszono regulamin