Modelowanie i Wizualizowanie 3W grafiki. Geometria 3W
Aleksander Denisiuk
Uniwersytet Warmi ´nsko-Mazurski
Olsztyn, ul. Słoneczna 54
denisjuk@matman.uwm.edu.pl
Geometria 3W
Przestrze ´n liniowaR3 Przestrze ´n
afinicznaR3 Przestrze ´n rzutowaRP3*
2 / 66
Najnowsza wersja tego dokumentu dost ˛epna jest pod adresem
http://wmii.uwm.edu.pl/~denisjuk/uwm
Przestrze ´n liniowa R 3
Przestrze ´n liniowaR3
•
Wektory•
Iloczyn skalarny•
Iloczyn wektorowy•
Baza•
Przekształcenia liniowe•
K ˛aty Eulera:odchylenie, pochylenie, przechylenie
•
Macierze obrotów Eulera•
Zmiana bazy a przekształcenia Przestrze ´n afinicznaR3 Przestrze ´n rzutowaRP3*Definicja wektora
Przestrze ´n liniowaR3
•Wektory
•
Iloczyn skalarny•
Iloczyn wektorowy•
Baza•
Przekształcenia liniowe•
K ˛aty Eulera:odchylenie, pochylenie, przechylenie
•
Macierze obrotów Eulera•
Zmiana bazy a przekształcenia Przestrze ´n afinicznaR3 Przestrze ´n rzutowaRP3*4 / 66
• Wektorem nazywa si ˛e skierowany odcinek.
A
B
• Kierunek wektora pokazuje strzałka.
• Punkt A jest pocz ˛ atkiem wektora
• Punkt B jest ko ´ncem wektora
• Oznaczenie: a = −− →
AB
Równo ´s ´c wektorów
Przestrze ´n liniowaR3
•Wektory
•
Iloczyn skalarny•
Iloczyn wektorowy•
Baza•
Przekształcenia liniowe•
K ˛aty Eulera:odchylenie, pochylenie, przechylenie
•
Macierze obrotów Eulera•
Zmiana bazy a przekształcenia Przestrze ´n afinicznaR3 Przestrze ´n rzutowaRP3*• Dwa wektory s ˛ a równe, je˙zeli jeden z nich mo˙ze zosta´c otrzymany z drugiego poprzez przesuni ˛ecie równoległe.
• Relcja równo´sci wektorów jest relacj ˛ a równowa˙zno´sci:
◦ a = a (symetryczna)
◦ a = b ⇒ b = a (zwrotna)
◦ a = b, b = c ⇒ a = c (przechodnia)
Wektory, cd
Przestrze ´n liniowaR3
•Wektory
•
Iloczyn skalarny•
Iloczyn wektorowy•
Baza•
Przekształcenia liniowe•
K ˛aty Eulera:odchylenie, pochylenie, przechylenie
•
Macierze obrotów Eulera•
Zmiana bazy a przekształcenia Przestrze ´n afinicznaR3 Przestrze ´n rzutowaRP3*6 / 66
• Dwa wektory s ˛ a zgodnie kolinearne, je˙zeli s ˛ a równoległe i maj ˛ a ten sam zwrot.
• Dwa wektory s ˛ a niezgodnie kolinearne, je˙zeli s ˛ a równoległe i maj ˛ a przeciwne zwroty.
• Długo´s´c odcinka AB , przedstawiaj ˛ acego wektor a , nazywa si ˛e jego długo´sci ˛ a |AB| = |a| = kak
• wektor nazywa si ˛e zerowym, je´sli jego pocz ˛ atek i koniec si ˛e pokrywaj ˛ a: −→
AA = 0
Dodawanie wektorów
Przestrze ´n liniowaR3
•Wektory
•
Iloczyn skalarny•
Iloczyn wektorowy•
Baza•
Przekształcenia liniowe•
K ˛aty Eulera:odchylenie, pochylenie, przechylenie
•
Macierze obrotów Eulera•
Zmiana bazy a przekształcenia Przestrze ´n afinicznaR3 Przestrze ´n rzutowaRP3*• Sum ˛ a wektorów a i b nazywa si ˛e wektor a + b , otrymany z tych wektorów b ˛ ad´z równych im wektorów jak na poni˙zszym rysunku
a + b
a
b
Dodawanie wektorów przemienne i ł ˛ aczne
Przestrze ´n liniowaR3
•Wektory
•
Iloczyn skalarny•
Iloczyn wektorowy•
Baza•
Przekształcenia liniowe•
K ˛aty Eulera:odchylenie, pochylenie, przechylenie
•
Macierze obrotów Eulera•
Zmiana bazy a przekształcenia Przestrze ´n afinicznaR3 Przestrze ´n rzutowaRP3*8 / 66
• a + b = b + a
b + a a + b
a b
a
b
• (a + b) + c = a + (b + c)
a b
c
a + b
b + c
Odejmowanie wektorów
Przestrze ´n liniowaR3
•Wektory
•
Iloczyn skalarny•
Iloczyn wektorowy•
Baza•
Przekształcenia liniowe•
K ˛aty Eulera:odchylenie, pochylenie, przechylenie
•
Macierze obrotów Eulera•
Zmiana bazy a przekształcenia Przestrze ´n afinicznaR3 Przestrze ´n rzutowaRP3*• Wektor a − b — jest wektorem, suma którego z b
a
a − b
b
Nierówno ´s ´c trójk ˛ ata
Przestrze ´n liniowaR3
•Wektory
•
Iloczyn skalarny•
Iloczyn wektorowy•
Baza•
Przekształcenia liniowe•
K ˛aty Eulera:odchylenie, pochylenie, przechylenie
•
Macierze obrotów Eulera•
Zmiana bazy a przekształcenia Przestrze ´n afinicznaR3 Przestrze ´n rzutowaRP3*10 / 66
• |a + b| 6 |a| + |b|
• |a + b + · · · + c| 6 |a| + |b| + · · · + |c|
Mno˙zenie wektora przez liczb ˛e
Przestrze ´n liniowaR3
•Wektory
•
Iloczyn skalarny•
Iloczyn wektorowy•
Baza•
Przekształcenia liniowe•
K ˛aty Eulera:odchylenie, pochylenie, przechylenie
•
Macierze obrotów Eulera•
Zmiana bazy a przekształcenia Przestrze ´n afinicznaR3 Przestrze ´n rzutowaRP3*• Iloczynem wektora a i liczby λ ∈ R jest wektor λa
◦ |λa| = |λ| · |a|
◦ λa i a s ˛ a zgodnie kolinearne, je˙zeli λ > 0 oraz niezgodnie kolinearne, gdy λ < 0
◦ 0 · a = 0
• λ(µa) = (λµ)a
• (λ + µ)a = λa + µa
• λ(a + b) = λa + λb
Kombinacje liniowe wektorów
Przestrze ´n liniowaR3
•Wektory
•
Iloczyn skalarny•
Iloczyn wektorowy•
Baza•
Przekształcenia liniowe•
K ˛aty Eulera:odchylenie, pochylenie, przechylenie
•
Macierze obrotów Eulera•
Zmiana bazy a przekształcenia Przestrze ´n afinicznaR3 Przestrze ´n rzutowaRP3*12 / 66
• Niech dany b ˛edzie układ wektorów { a 1 , . . . , a k } oraz wagi
(liczby rzeczywiste) α 1 , . . . , α k
• Wektor
a = α 1 a 1 + · · · + α k a k
nazywa si ˛e kombinacj ˛ a liniow ˛ a wektorów a 1 , . . . , a k .
Iloczyn skalarny wektorów
Przestrze ´n liniowaR3
•
Wektory•Iloczyn skalarny
•
Iloczyn wektorowy•
Baza•
Przekształcenia liniowe•
K ˛aty Eulera:odchylenie, pochylenie, przechylenie
•
Macierze obrotów Eulera•
Zmiana bazy a przekształcenia Przestrze ´n afinicznaR3 Przestrze ´n rzutowaRP3*• K ˛ atem mi ˛edzy wektorami a i b nawyzamy k ˛ at mi ˛edzy wektorami
a i b , które maj ˛ a wspólny pocz ˛ atek
• Iloczynem skalarnym wektorów a i b jest liczba a · b ( ab ):
◦ ab = |a||b| cos ϕ ( ϕ jest k ˛ atem mi ˛edy a i b )
• ab = ba
• a 2 = aa = |a| 2
• (λa)b = λ(ab)
• je˙zeli |e| = 1 , to (λe)(λe) = λµ
• ab = 0 ⇐⇒ a ⊥ b albo jeden z wektorów jest zerowy
Projekcja wektora na prost ˛ a
Przestrze ´n liniowaR3
•
Wektory•Iloczyn skalarny
•
Iloczyn wektorowy•
Baza•
Przekształcenia liniowe•
K ˛aty Eulera:odchylenie, pochylenie, przechylenie
•
Macierze obrotów Eulera•
Zmiana bazy a przekształcenia Przestrze ´n afinicznaR3 Przestrze ´n rzutowaRP3*14 / 66
• Rzut (projekcja) wektora a na prost ˛ a jest wektor ¯ a , którego
pocz ˛ atkiem jest rzut pocz ˛ atka wektora a na prost ˛ a, a ko ´ncem — rzut ko ´nca wektora a na t ˛e prost ˛ a.
• ab = ¯ ab , gdzie a ¯ jest rzutem a na prost ˛ a, zawieraj ˛ ac ˛ a b
• (a + b)c = ac + bc
• Je˙zeli a , b , c s ˛ a trzema niezerowymi wektorami, nie równoległymi jednocze´snie jednej płaszczy´znie, to
ar = 0, br = 0, cr = 0 ⇒ r = 0
Iloczyn wektorowy
Przestrze ´n liniowaR3
•
Wektory•
Iloczyn skalarny•Iloczyn wektorowy
•
Baza•
Przekształcenia liniowe•
K ˛aty Eulera:odchylenie, pochylenie, przechylenie
•
Macierze obrotów Eulera•
Zmiana bazy a przekształcenia Przestrze ´n afinicznaR3 Przestrze ´n rzutowaRP3*• Iloczynem wektorowym wektorów a i b jest wektor a × b :
◦ 0 , je˙zeli jeden z wektorów jest zerowy lub wektory s ˛ a równoległe
◦ Wpozostałych przypadkach
• a × b jest prostopadły do płaszczyzny a , b
• długo´s´c wektora a × b jest równa polu powierzchni równoległoboku wyznaczonego przez wektory a , b
• układ wektorów a , b, a × b jest zorientowany dodatnio
• a × b = −b × a
• |a × b| = |a||b| sin θ , gdzie θ jest k ˛ atem mi ˛edzy a i b
• (λa) × b = λ(a × b)
Projekcja wektora na płaszczyzn ˛e
Przestrze ´n liniowaR3
•
Wektory•
Iloczyn skalarny•Iloczyn wektorowy
•
Baza•
Przekształcenia liniowe•
K ˛aty Eulera:odchylenie, pochylenie, przechylenie
•
Macierze obrotów Eulera•
Zmiana bazy a przekształcenia Przestrze ´n afinicznaR3 Przestrze ´n rzutowaRP3*16 / 66
• Rzutem (projekcj ˛ a) wektora a na płaszczyzn ˛e jest wektor a ′ , którego pocz ˛ atek jest rzutem pocz ˛ atka a na płaszczyzn ˛e, a ko ´ncem — rzut ko ´nca a .
◦ Rzutu równych wektorów s ˛ a równe
◦ Rzut sumy wektorów jest sum ˛ a rzutów
• Je˙zeli wektor a ′ jest rzutem a na płaszczyzn ˛e, prostopadł ˛ a do b , to a × b = a ′ × b
• (a + b) × c = a × c + b × c
1. c = 0
2. |c| = 1
◦ Niech a ′ oraz b ′ b ˛ed ˛ a rzutami odpowiednio a oraz b na płaszczyzn ˛e, prostopadł ˛ a do c . Wtedy mno˙zenie
wektorowe przez c b ˛edzie obrotem o π 2
• (a × b) 2 = |a| 2 |b| 2 − (|a||b| cos θ) 2 , gdzie θ jest k ˛ atem mi ˛edzy
wektorami
Współrz ˛edne wektora wzgl ˛edem bazy
Przestrze ´n liniowaR3
•
Wektory•
Iloczyn skalarny•
Iloczyn wektorowy•Baza
•
Przekształcenia liniowe•
K ˛aty Eulera:odchylenie, pochylenie, przechylenie
•
Macierze obrotów Eulera•
Zmiana bazy a przekształcenia Przestrze ´n afinicznaR3 Przestrze ´n rzutowaRP3*• Niech dane b ˛ed ˛ a trzy niezerowe, niekomplanarne wektory e 1 ,
e 2 , e 3 . Wtedy ka˙zdy wektor r mo˙ze zosta´c jednoznacznie przedstawiony jako suma r = r 1 e 1 + r 2 e 2 + r 3 e 3
◦ Niech r = r 1 ′ e 1 + r 2 ′ e 2 + r 3 ′ e 3 b ˛edzie inn ˛ a reprezentacj ˛ a 1. r jest równoległy do jednego z wektorów e
2. r jest równoległy do płaszczyzny jednej z pary wektorów e
3. r nie jest równoległy do ˙zadnej z par wektorów e
• Wektory e 1 , e 2 , e 3 nazywane s ˛ a baz ˛ a przestrzeni wektorów.
• Liczby r 1 , r 2 , r 3 nazywane s ˛ a współrz ˛ednymi wektora r
w bazie e 1 , e 2 , e 3 .
Działania liniowe na wektorach
Przestrze ´n liniowaR3
•
Wektory•
Iloczyn skalarny•
Iloczyn wektorowy•Baza
•
Przekształcenia liniowe•
K ˛aty Eulera:odchylenie, pochylenie, przechylenie
•
Macierze obrotów Eulera•
Zmiana bazy a przekształcenia Przestrze ´n afinicznaR3 Przestrze ´n rzutowaRP3*18 / 66
• Niech dana b ˛edzie baza e 1 , e 2 , e 3 .
◦ Niech dane b ˛ed ˛ a dwa wektory: r o współrz ˛ednych (r 1 , r 2 , r 3 )
oraz r ′ o współrz ˛ednych (r 1 ′ , r 2 ′ , r 3 ′ ) .
• Wtedy wektor r ± r ′ b ˛edzie miał współrz ˛edne
(r 1 ± r 1 ′ , r 2 ± r 2 ′ , r 3 ± r 3 ′ ) .
◦ Niech dane b ˛ed ˛ a wektor r o współrz ˛ednych (r 1 , r 2 , r 3 ) oraz
liczba λ ∈ R .
• Wtedy wektor λr b ˛edzie miał współrz ˛edne
(λr 1 , λr 2 , λr 3 ) .
Baza kartezja ´nska
Przestrze ´n liniowaR3
•
Wektory•
Iloczyn skalarny•
Iloczyn wektorowy•Baza
•
Przekształcenia liniowe•
K ˛aty Eulera:odchylenie, pochylenie, przechylenie
•
Macierze obrotów Eulera•
Zmiana bazy a przekształcenia Przestrze ´n afinicznaR3 Przestrze ´n rzutowaRP3*• Niech dana b ˛edzie baza i , j , k — składaj ˛ aca si ˛e z wektorów jednosktowych, wzajemnie prostopadłych i zorientowanych dodatnio.
◦ Baza i , j, k nazywa si ˛e baz ˛ a kartezja ´nska
◦ a = x a i + y a j + z a k = (ai)i + (aj)j + (ak)k
◦ Liczby cos α = |a| ai , cos β = |a| aj , cos γ = ak |a| nazywane
s ˛ a cosinusy kierunkowe
Działania metryczne w bazie kartezja ´nskiej
Przestrze ´n liniowaR3
•
Wektory•
Iloczyn skalarny•
Iloczyn wektorowy•Baza
•
Przekształcenia liniowe•
K ˛aty Eulera:odchylenie, pochylenie, przechylenie
•
Macierze obrotów Eulera•
Zmiana bazy a przekształcenia Przestrze ´n afinicznaR3 Przestrze ´n rzutowaRP3*20 / 66
• Niech dana b ˛edzie kartezja ´nska baza i , j , k . Wtedy
◦ ab = x a x b + y a y b + z a z b
◦ a × b ma współrz ˛edne
y a z a
y b z b
, −
x a z a
x b z b
,
x a y a
x b y b
◦ a × b =
i j k
x a y a z a x b y a z b
Zmiana bazy
Przestrze ´n liniowaR3
•
Wektory•
Iloczyn skalarny•
Iloczyn wektorowy•Baza
•
Przekształcenia liniowe•
K ˛aty Eulera:odchylenie, pochylenie, przechylenie
•
Macierze obrotów Eulera•
Zmiana bazy a przekształcenia Przestrze ´n afinicznaR3 Przestrze ´n rzutowaRP3*• Niech dane b ˛ed ˛ a dwie bazy: E = { e 1 , e 2 , e 3 }
oraz F = { f 1 , f 2 , f 3 } . Wtedy
◦ Wektory (e 1 , e 2 , e 3 ) maj ˛ a jednoznaczne rozło˙zenie po
bazie (f 1 , f 2 , f 3 ) :
e 1 = a 11 f 1 + a 21 f 2 + a 31 f 3 , e 2 = a 12 f 1 + a 22 f 2 + a 32 f 3 , e 2 = a 13 f 1 + a 23 f 2 + a 33 f 3 .
◦
e 1 e 2 e 3 = f 1 f 2 f 3 A , gdzie A jest macierz ˛ a kolumn współrz ˛ednych wektorów E w bazie F
◦ wektor a w bazie F b ˛edzie miał współrz ˛edne A
x a
y a z a
, gdzie
x a y a
z a
— jego współrz ˛edne w E .
◦ A nazywa si ˛e macierz ˛ a przej´scia od E do F (zmiany bazy)
Zmiana bazy. Uwagi
Przestrze ´n liniowaR3
•
Wektory•
Iloczyn skalarny•
Iloczyn wektorowy•Baza
•
Przekształcenia liniowe•
K ˛aty Eulera:odchylenie, pochylenie, przechylenie
•
Macierze obrotów Eulera•
Zmiana bazy a przekształcenia Przestrze ´n afinicznaR3 Przestrze ´n rzutowaRP3*22 / 66
•
e 1 e 2 e 3 = f 1 f 2 f 3 A ⇐⇒ f 1 f 2 f 3 =
e 1 e 2 e 3 A −1 , gdzie A −1 jest macierz ˛ a odwrotn ˛ a.
• Je˙zeli obie bazy s ˛ a kartezja ´nskie, to macierz przej´scia jest ortogonalna
◦ wektory-kolumny s ˛ a jednostkowe i wzajemnie prostopadłe
• to samo dotyczy wierszy
◦ dla macierzy ortogonalnych A −1 = A t
Przekształcenia liniowe
Przestrze ´n liniowaR3
•
Wektory•
Iloczyn skalarny•
Iloczyn wektorowy•
Baza•Przekształcenia liniowe
•
K ˛aty Eulera:odchylenie, pochylenie, przechylenie
•
Macierze obrotów Eulera•
Zmiana bazy a przekształcenia Przestrze ´n afinicznaR3 Przestrze ´n rzutowaRP3*• Niech dane b ˛ed ˛ a: układ wektorów E = { e 1 , e 2 , e 3 } oraz
baza F = { f 1 , f 2 , f 3 } , e 1 e 2 e 3 = f 1 f 2 f 3 A .
◦ przekształceniem liniowym nawyza si ˛e odwzorowanie
a =
x a
y a z a
7→ x a e 1 + y a e 2 + z a e 3
◦ współrz ˛edne wektora a po przekształceniu b ˛ed ˛ a równe
A
x a y a
z a
◦ A nazywa si ˛e macierz ˛ a przekształcenia
◦ wynik przekształcenia zapisuje si ˛e Aa
Przekształcenia liniowe. Uwagi
Przestrze ´n liniowaR3
•
Wektory•
Iloczyn skalarny•
Iloczyn wektorowy•
Baza•Przekształcenia liniowe
•
K ˛aty Eulera:odchylenie, pochylenie, przechylenie
•
Macierze obrotów Eulera•
Zmiana bazy a przekształcenia Przestrze ´n afinicznaR3 Przestrze ´n rzutowaRP3*24 / 66
• macierz A składa si ˛e z kolumn — współrz ˛ednych układu E
w bazie F
• macierz A składa si ˛e z kolumn — współrz ˛ednych wektorów bazy F po przekształceniu
• je˙zeli macierz A jest odrwacaln ˛ a, to E te˙z jest baz ˛ a oraz przekształcenie liniowe zgada si ˛e z zamian ˛ a bazy E → F
• przekształcenie φ : R n → R n jest liniowym wtedy i tylko wtedy, gdy
1. dla dowolnych dwóch wektorów a , b spełniono φ(a + b) = φ(a) + φ(b)
2. dla dowolnego wektoru a oraz dowolnej liczby rzeczywistej λ
spełniono φ(λa) = λφ(a)
Przekształcenia sztywne
Przestrze ´n liniowaR3
•
Wektory•
Iloczyn skalarny•
Iloczyn wektorowy•
Baza•Przekształcenia liniowe
•
K ˛aty Eulera:odchylenie, pochylenie, przechylenie
•
Macierze obrotów Eulera•
Zmiana bazy a przekształcenia Przestrze ´n afinicznaR3 Przestrze ´n rzutowaRP3*• przekształcenie nazywa si ˛e sztywnym, je˙zeli nie zmienia ono odległo´sci mi ˛edzy punktami
◦ a wi ˛ec i k ˛ atów mi ˛edzy liniami i, na ogół, kształtów obiektów
• macierz przekształcenia sztywnego jest ortogonalna
Obrót
Przestrze ´n liniowaR3
•
Wektory•
Iloczyn skalarny•
Iloczyn wektorowy•
Baza•Przekształcenia liniowe
•
K ˛aty Eulera:odchylenie, pochylenie, przechylenie
•
Macierze obrotów Eulera•
Zmiana bazy a przekształcenia Przestrze ´n afinicznaR3 Przestrze ´n rzutowaRP3*26 / 66
0
h1;0i h0;1i
h0;0i
h os;sini h sin; osi
Figure II.5: Ee t of a rotation through angle . The origin 0 is heldxed by
the rotation.
R θ = cos θ − sin θ sin θ cos θ
!
Skalowanie
Przestrze ´n liniowaR3
•
Wektory•
Iloczyn skalarny•
Iloczyn wektorowy•
Baza•Przekształcenia liniowe
•
K ˛aty Eulera:odchylenie, pochylenie, przechylenie
•
Macierze obrotów Eulera•
Zmiana bazy a przekształcenia Przestrze ´n afinicznaR3 Przestrze ´n rzutowaRP3*S λ
1,λ
2= λ 1 0 0 λ 2
!
Mno˙zenie przekształce ´n
Przestrze ´n liniowaR3
•
Wektory•
Iloczyn skalarny•
Iloczyn wektorowy•
Baza•Przekształcenia liniowe
•
K ˛aty Eulera:odchylenie, pochylenie, przechylenie
•
Macierze obrotów Eulera•
Zmiana bazy a przekształcenia Przestrze ´n afinicznaR3 Przestrze ´n rzutowaRP3*28 / 66
• Niech dane b ˛ed ˛ a dwa przekształcenia liniowe: A oraz B
• Iloczynem (superpozycj ˛ a) przekształce ´n A ◦ B jest
przekształcenie liniowe AB(a) = A(Ba)
◦ Macierz ˛ a A ◦ B jest macierz AB
• Dlatego zamiast A ◦ B b ˛edziemy pisa´c AB
• Macierz ˛ a przekształcenia odwrotnego do A jest macierz A −1
Twierdzenie 1. Ka˙zde przekształcenie liniowe mo˙zna rozło˙zy´c
w iloczyn obrotu oraz skalowania (o ró˙znych współczynnikach)
Twierdzenie 2. Ka˙zde przekształcenie liniowe sztywne, które nie
zmienia orientacji, jest obrotem
Obrót 3D
Przestrze ´n liniowaR3
•
Wektory•
Iloczyn skalarny•
Iloczyn wektorowy•
Baza•Przekształcenia liniowe
•
K ˛aty Eulera:odchylenie, pochylenie, przechylenie
•
Macierze obrotów Eulera•
Zmiana bazy a przekształcenia Przestrze ´n afinicznaR3 Przestrze ´n rzutowaRP3*0 u
v v
1
v
2 v
3
R
;u (v )
Figure II.14: The ve tor v being rotated around u. The ve tor v
1 is v's
proje tiononto u.Theve torv
2
isthe omponentofv orthogonaltou. The
ve torv
3 is v
2
rotated 90 Æ
aroundu. Thedashedlinesegmentsinthegure
allmeetatrightangles.
Macierz obrotu 3D
Przestrze ´n liniowaR3
•
Wektory•
Iloczyn skalarny•
Iloczyn wektorowy•
Baza•Przekształcenia liniowe
•
K ˛aty Eulera:odchylenie, pochylenie, przechylenie
•
Macierze obrotów Eulera•
Zmiana bazy a przekształcenia Przestrze ´n afinicznaR3 Przestrze ´n rzutowaRP3*30 / 66
• Obrót dookoła osi wychodz ˛ acej z pocz ˛ atku układu
współrz ˛ednych w kierunku u = (u 1 , u 2 , u 3 ) o k ˛ at θ stopni.
(1 − c)u 2 1 + c (1 − c)u 1 u 2 − su 3 (1 − c)u 1 u 3 + su 2 (1 − c)u 1 u 2 + su 3 (1 − c)u 2 2 + c (1 − c)u 2 u 3 − su 1 (1 − c)u 1 u 3 − su 2 (1 − c)u 2 u 3 + su 1 (1 − c)u 2 3 + c
,
gdzie c = cos θ , s = sin θ .
K ˛ aty Eulera: odchylenie, pochylenie, przechylenie
Przestrze ´n liniowaR3
•
Wektory•
Iloczyn skalarny•
Iloczyn wektorowy•
Baza•
Przekształcenia liniowe•K ˛aty Eulera:
odchylenie, pochylenie, przechylenie
•
Macierze obrotów Eulera•
Zmiana bazy a przekształcenia Przestrze ´n afinicznaR3 Przestrze ´n rzutowaRP3*Roll
z Pit h x
Yaw
y
Figure XII.1: Yaw, pit h, and roll represent rotations around the y-axis, the
x-axis and the z-axis. If the axes move with the obje t, then the rotations
are performed in the order yaw, then pit h, and nally roll. If the axes are
taken as xed, then the rotations are performed in the opposite order: roll,
then pit h, then yaw. Rotation dire tions are determined by the righthand
rule. The reader is warned that the rotation dire tions for pit h and yaw that
are shown in the gure are opposite to ustomary usage in aviation. For us, a
positive pit h means the nose dips down and a positive yaw steers to the left.
However, aviation onventions are that a positive pit h means the nose moves
up, and a positive yaw means turning to the right. It is ustomary for positive
• R = R θ y ,j R θ p ,i R θ r ,k
Macierze obrotów Eulera
Przestrze ´n liniowaR3
•
Wektory•
Iloczyn skalarny•
Iloczyn wektorowy•
Baza•
Przekształcenia liniowe•
K ˛aty Eulera:odchylenie, pochylenie, przechylenie
•Macierze obrotów Eulera
•
Zmiana bazy a przekształcenia Przestrze ´n afinicznaR3 Przestrze ´n rzutowaRP3*32 / 66
• R θ p ,i
• R θ y ,j
• R θ r ,k
Skalowanie 3D
Przestrze ´n liniowaR3
•
Wektory•
Iloczyn skalarny•
Iloczyn wektorowy•
Baza•
Przekształcenia liniowe•
K ˛aty Eulera:odchylenie, pochylenie, przechylenie
•Macierze obrotów Eulera
•
Zmiana bazy a przekształcenia Przestrze ´n afinicznaR3 Przestrze ´n rzutowaRP3*S λ
1,λ
2,λ
3=
λ 1 0 0 0 λ 2 0 0 0 λ 3
Przekształcenia liniowe. Zmiana bazy
Przestrze ´n liniowaR3
•
Wektory•
Iloczyn skalarny•
Iloczyn wektorowy•
Baza•
Przekształcenia liniowe•
K ˛aty Eulera:odchylenie, pochylenie, przechylenie
•
Macierze obrotów Eulera•Zmiana bazy a przekształcenia Przestrze ´n afinicznaR3 Przestrze ´n rzutowaRP3*
34 / 66
• Niech dane b ˛ed ˛ a dwie bazy: E = { e 1 , e 2 , e 3 }
oraz F = { f 1 , f 2 , f 3 } , e 1 e 2 e 3 = f 1 f 2 f 3 T
• Niech przekształcenie liniowe b ˛edzie dane w bazie E macierz ˛ a A
• Wtedy w bazie F to przekształcenie dane b ˛edzie macierz ˛ a
T AT −1
Przykład. Skalowanie wzdłu˙z przek ˛ atnej
Przestrze ´n liniowaR3
•
Wektory•
Iloczyn skalarny•
Iloczyn wektorowy•
Baza•
Przekształcenia liniowe•
K ˛aty Eulera:odchylenie, pochylenie, przechylenie
•
Macierze obrotów Eulera•Zmiana bazy a przekształcenia Przestrze ´n afinicznaR3 Przestrze ´n rzutowaRP3*
• Macierz skalowania na płaszczy´znie ze współczynnikiem 2
wzdłu˙z przek ˛ atnej
Przykład. Skalowanie wzdłu˙z przek ˛ atnej
Przestrze ´n liniowaR3
•
Wektory•
Iloczyn skalarny•
Iloczyn wektorowy•
Baza•
Przekształcenia liniowe•
K ˛aty Eulera:odchylenie, pochylenie, przechylenie
•
Macierze obrotów Eulera•Zmiana bazy a przekształcenia Przestrze ´n afinicznaR3 Przestrze ´n rzutowaRP3*
35 / 66
• Macierz skalowania na płaszczy´znie ze współczynnikiem 2 wzdłu˙z przek ˛ atnej
•
3 2 1 1 2 2
3 2
!
Przestrze ´n afiniczna R 3
Przestrze ´n liniowaR3 Przestrze ´n
afinicznaR3
•
Działania na punktach•
Układ współrz ˛ednych•
Przekształcenia afiniczne•
Współrz ˛edne jednorodne•
Obrót•
Skalowanie•
Macierz zmiany układu współrz ˛ednych•
Teoria transponowana Przestrze ´nrzutowaRP3*
Odejmowanie punktów
Przestrze ´n liniowaR3 Przestrze ´n
afinicznaR3
•Działania na punktach
•
Układ współrz ˛ednych•
Przekształcenia afiniczne•
Współrz ˛edne jednorodne•
Obrót•
Skalowanie•
Macierz zmiany układu współrz ˛ednych•
Teoria transponowana Przestrze ´nrzutowaRP3*
37 / 66
• Ró˙znic ˛ a punktów B i A jest wektor −− → AB .
A
B
• B − A = −−→
AB
• A = B ⇐⇒ B − A = 0
• (B − A) + (C − B) = (C − A) = −→
AC
Dodanie do punktu wektora
Przestrze ´n liniowaR3 Przestrze ´n
afinicznaR3
•Działania na punktach
•
Układ współrz ˛ednych•
Przekształcenia afiniczne•
Współrz ˛edne jednorodne•
Obrót•
Skalowanie•
Macierz zmiany układu współrz ˛ednych•
Teoria transponowana Przestrze ´nrzutowaRP3*
• Sum ˛ a punktu A oraz wektora a jest punkt B , który zgadza si ˛e z ko ´ncem wektora a , je˙zeli pocz ˛ atek tego wektora umie´sci´c w A .
A
B a
• B = A + −−→
AB
• (A + a 1 ) + a 2 = A + (a 1 + a 2 )
• Dodanie wektora nazywa si ˛e przesuni ˛eciem róznoległym
Kombinacja afiniczna punktów
Przestrze ´n liniowaR3 Przestrze ´n
afinicznaR3
•Działania na punktach
•
Układ współrz ˛ednych•
Przekształcenia afiniczne•
Współrz ˛edne jednorodne•
Obrót•
Skalowanie•
Macierz zmiany układu współrz ˛ednych•
Teoria transponowana Przestrze ´nrzutowaRP3*
39 / 66
• Niech dany b ˛edzie układ punktów { A 1 , . . . , A k } oraz wagi
(liczby rzeczywiste) α 1 , . . . , α k , takie ˙ze α 1 + · · · + α k = 1
• Ustalmy dowolny punkt O
• Kombinacj ˛ a afiniczn ˛ a punkitów α 1 A 1 + · · · + α k A k jest punkt O + α 1 −−→
OA 1 + · · · + α k −−→
OA k
Twierdzenie 3. Kombinacja afiniczna punktów nie zale˙zy od wyboru
punktu O
Układ współrz ˛ednych
Przestrze ´n liniowaR3 Przestrze ´n
afinicznaR3
•
Działania na punktach•Układ współrz ˛ednych
•
Przekształcenia afiniczne•
Współrz ˛edne jednorodne•
Obrót•
Skalowanie•
Macierz zmiany układu współrz ˛ednych•
Teoria transponowana Przestrze ´nrzutowaRP3*
• Wybierzmy dowolny punkt O , pocz ˛ atek układu
• Przez ten punkt poprowad´zmy trzy niekomplanarne proste: Ox , Oy , Oz , osie współrz ˛ednych
• Płaszczyzny współrz ˛ednych Oxy , Oxz , Oyz
• Na osiach wyznaczymy niezerowe wektory: odpowiednio e 1 , e 2 ,
e 3 —baz ˛e.
• Dla ka˙zdego punktu A wektor −→
OA ma jednoznaczne przedstawienie −−→
OX = xe 1 + ye 2 + ze 3
◦ liczby x , y , z — współrz ˛edne punktu A
• układ jest prawym (dodatnim), je˙zeli { e 1 , e 2 , e 3 } jest
zorientoany dodatnio
• układ jest lewym (ujemnym), je˙zeli { e 1 , e 2 , e 3 } jest
zorientowany ujemnie
• kierunki na osiach, zorientowane zgodnie z wektorami bazy,
nazywaj ˛ a si ˛e dodatnimi. Kierunki przeciwne — ujemnymi
Układ współrz ˛ednych kartezja ´nskich
Przestrze ´n liniowaR3 Przestrze ´n
afinicznaR3
•
Działania na punktach•Układ współrz ˛ednych
•
Przekształcenia afiniczne•
Współrz ˛edne jednorodne•
Obrót•
Skalowanie•
Macierz zmiany układu współrz ˛ednych•
Teoria transponowana Przestrze ´nrzutowaRP3*
41 / 66
• Układ współrz ˛ednych nazywa si ˛e kartezja ´nskim, je˙zeli
◦ osie s ˛ a wzajemnie prostopadłe
◦ wektory e 1 , e 2 , e 3 s ˛ a jednostkowe (maj ˛ a jednostkow ˛ a długo´s´c).
• Dalej w prezentacji prawie zawsze układ b ˛edzie prawym kartezja ´nskim układem
• Dla wektorów bazy układu kartezja ´nskiego czasami stosuje si ˛e
oznaczenia i , j , k
Działania na punktach w układzie współrz ˛ednych
Przestrze ´n liniowaR3 Przestrze ´n
afinicznaR3
•
Działania na punktach•Układ współrz ˛ednych
•
Przekształcenia afiniczne•
Współrz ˛edne jednorodne•
Obrót•
Skalowanie•
Macierz zmiany układu współrz ˛ednych•
Teoria transponowana Przestrze ´nrzutowaRP3*
• Odejmowanie punktów:
◦ A 2 − A 1 = −−−→
A 1 A 2 =
x 2 − x 1 y 2 − y 1 z 2 − z 1
• Dodanie wektora:
◦ A 1 + a =
x 1 + x a y 1 + y a z 1 + z a
• Kombinacja afiniczna:
◦ α 1 A 1 + · · · + α k A k =
α 1 x 1 + · · · + α k x k α 1 y 1 + · · · + α k y k α 1 z 1 + · · · + α k z k
• wzory s ˛ a prawidłowe w ka˙zdym układzie
Podział odcinka w danym stosunku
Przestrze ´n liniowaR3 Przestrze ´n
afinicznaR3
•
Działania na punktach•Układ współrz ˛ednych
•
Przekształcenia afiniczne•
Współrz ˛edne jednorodne•
Obrót•
Skalowanie•
Macierz zmiany układu współrz ˛ednych•
Teoria transponowana Przestrze ´nrzutowaRP3*
43 / 66
• Dane s ˛ a dwa punkty A 1 (x 1 , y 1 , z 1 ) oraz A 2 (x 2 , y 2 , z 2 )
• Znale´z´c punkt A(x, y, z) , który dzieli odcinek A 1 A 2
w stosunku λ 1 : λ 2
◦ λ 2 −−→
A 1 A − λ 1 −−→
AA 2 = 0
◦ −→
OA = λ
2−−→ OA λ
11+λ +λ
12−−→ OA
2◦ x = λ
2λ x
11+λ +λ
12x
2, y = λ
2λ y
11+λ +λ
21y
2, z = λ
2λ z
11+λ +λ
12z
2.
• wzory s ˛ a prawidłowe w ka˙zdym układzie
Odległo ´s ´c mi ˛edzy punktami
Przestrze ´n liniowaR3 Przestrze ´n
afinicznaR3
•
Działania na punktach•Układ współrz ˛ednych
•
Przekształcenia afiniczne•
Współrz ˛edne jednorodne•
Obrót•
Skalowanie•
Macierz zmiany układu współrz ˛ednych•
Teoria transponowana Przestrze ´nrzutowaRP3*
• Dane s ˛ a dwa punkty A 1 (x 1 , y 1 , z 1 ) oraz A 2 (x 2 , y 2 , z 2 )
◦ |A 1 A 2 | 2 = −−−→
A 1 A 2 2 = (x 1 − x 2 ) 2 + (y 1 − y 2 ) 2 + (z 1 − z 2 ) 2
• wzory s ˛ a prawidłowe tylko w układzie kartezja ´nskim
Zmiana układu współrz ˛ednych
Przestrze ´n liniowaR3 Przestrze ´n
afinicznaR3
•
Działania na punktach•Układ współrz ˛ednych
•
Przekształcenia afiniczne•
Współrz ˛edne jednorodne•
Obrót•
Skalowanie•
Macierz zmiany układu współrz ˛ednych•
Teoria transponowana Przestrze ´nrzutowaRP3*
45 / 66
• Niech dane b ˛ed ˛ a dwa ogólne układy współrz ˛ednych:
(O, e 1 , e 2 , e 3 ) oraz (O ′ , f 1 , f 2 , f 3 )
• Punkt P ma współrz ˛edne (x, y, z) wzgl ˛edem jednego układu oraz (z ′ , y ′ , z ′ ) wzgl ˛edem drugiego.
• Wektory (e 1 , e 2 , e 3 ) maj ˛ a jednoznaczne rozło˙zenie po
bazie (f 1 , f 2 , f 3 ) :
e 1 = a 11 f 1 + a 21 f 2 + a 31 f 3 , e 2 = a 12 f 1 + a 22 f 2 + a 32 f 3 , e 2 = a 13 f 1 + a 23 f 2 + a 33 f 3 .
◦
e 1 e 2 e 3 = f 1 f 2 f 3 A
• Punkt O w nowym układzie ma współrz ˛edne (x 0 , y 0 , z 0 ) .
• Wówczas
x ′ = a 11 x + a 12 y + a 13 z + x 0 , y ′ = a 21 x + a 22 y + a 23 z + y 0 , z ′ = a 31 x + a 32 y + a 33 z + z 0 .
•
x ′ y ′ z ′
= A
x y z
+
x 0 y 0 z 0
.
Przekształcenia afiniczne
Przestrze ´n liniowaR3 Przestrze ´n
afinicznaR3
•
Działania na punktach•
Układ współrz ˛ednych•Przekształcenia afiniczne
•
Współrz ˛edne jednorodne•
Obrót•
Skalowanie•
Macierz zmiany układu współrz ˛ednych•
Teoria transponowana Przestrze ´nrzutowaRP3*
• Niech dany b ˛edzie układ współrz ˛ednych O, f 1 , f 2 , f 3 oraz punkt
O ′ i układ wektorów e 1 , e 2 , e 3
◦ przekwształceniem afinicznym nawyza si ˛e odwzorowanie
P =
x y z
7→ O ′ + xe 1 + ye 2 + ze 3
◦ współrz ˛edne punktu A po przekształceniu b ˛ed ˛ a równe
A
x y z
+
x 0 y 0 z 0
, gdzie
•
e 1 e 2 e 3 = f 1 f 2 f 3 A
• (x 0 , y 0 , z 0 ) — współrz ˛edne wektora −−→
OO ′
Uwagi
Przestrze ´n liniowaR3 Przestrze ´n
afinicznaR3
•
Działania na punktach•
Układ współrz ˛ednych•Przekształcenia afiniczne
•
Współrz ˛edne jednorodne•
Obrót•
Skalowanie•
Macierz zmiany układu współrz ˛ednych•
Teoria transponowana Przestrze ´nrzutowaRP3*
47 / 66
• Je˙zeli układ wektorów e 1 , e 2 , e 3 jest baz ˛ a, to przekształcenie afiniczne zgadza si ˛e z zamian ˛ a układu współrz ˛ednych
• Przekwształcenie afiniczne B składa si ˛e z przekształcenia linowego A i przesuni ˛ecia równoległego T u , B = T u ◦ A
◦ Wówczas przesuni ˛ecie T u oraz przekształcenie liniowe A
okre´slone s ˛ a jednoznacznie.
Twierdzenie 4. Ka˙zde przekształcenie afiniczne mo˙zna rozło˙zy´c w iloczyn obrotu, skalowania (o ró˙znych współczynnikach) oraz przesuni ˛ecia równoległego
Twierdzenie 5. Ka˙zde przekształcenie afiniczne sztywne, które nie zmienia orientacji, jest obrotem (afnicznym) lub przesuni ˛eciem
równoległym
Współrz ˛edne jednorodne w R 2
Przestrze ´n liniowaR3 Przestrze ´n
afinicznaR3
•
Działania na punktach•
Układ współrz ˛ednych•
Przekształcenia afiniczne•Współrz ˛edne jednorodne
•
Obrót•
Skalowanie•
Macierz zmiany układu współrz ˛ednych•
Teoria transponowana Przestrze ´nrzutowaRP3*
• Trójka liczb x, y, w ∈ R ( w 6= 0 ) reprezentuje punkt o współrz ˛ednych (x/w, y/w) ∈ R 2 .
• (2, 1) ∼ (2 : 1 : 1) ∼ (6 : 3 : 3) ∼ (−2 : −1 : −1)
Współrz ˛edne jednorodne w R 3
Przestrze ´n liniowaR3 Przestrze ´n
afinicznaR3
•
Działania na punktach•
Układ współrz ˛ednych•
Przekształcenia afiniczne•Współrz ˛edne jednorodne
•
Obrót•
Skalowanie•
Macierz zmiany układu współrz ˛ednych•
Teoria transponowana Przestrze ´nrzutowaRP3*