Rotace ve 3D a kvaterniony. Eva Blažková a Zbyněk Šír (MÚ UK) - Rotace ve 3D a kvaterniony 1 / 16

Podobné dokumenty
Algoritmus pro hledání vlastních čísel kvaternionových matic

Rovinné přetvoření. Posunutí (translace) TEORIE K M2A+ULA

Lineární algebra : Metrická geometrie

Mechanika

Geometrické transformace pomocí matic

Kvaterniony, duální kvaterniony a jejich aplikace

13. cvičení z Matematické analýzy 2

Geometrie pro počítačovou grafiku - PGR020

Afinní transformace Stručnější verze

1 Báze a dimenze vektorového prostoru 1

transformace je posunutí plus lineární transformace má svou matici vzhledem k homogenním souřadnicím [1]

A[a 1 ; a 2 ; a 3 ] souřadnice bodu A v kartézské soustavě souřadnic O xyz

Matice. Je dána matice A R m,n, pak máme zobrazení A : R n R m.

Algoritmus pro hledání vlastních čísel kvaternionových matic

7 Analytické vyjádření shodnosti

Hisab al-džebr val-muqabala ( Věda o redukci a vzájemném rušení ) Muhammada ibn Músá al-chvárizmího (790? - 850?, Chiva, Bagdád),

ALGEBRY ROTACÍ A JEJICH APLIKACE. 1. Úvod

Necht tedy máme přirozená čísla n, k pod pojmem systém lineárních rovnic rozumíme rovnice ve tvaru

Zimní semestr akademického roku 2014/ prosince 2014

Matematika I 12a Euklidovská geometrie

KVATERNIONY A GEOMETRIE V R 3

Těleso racionálních funkcí

Lineární algebra : Změna báze

Circular Harmonics. Tomáš Zámečník

Předmět BROB - Robotika. 4 Kvaternionová matematika

6. Vektorový počet Studijní text. 6. Vektorový počet

Vlastní čísla a vlastní vektory

Mechanika. Použité pojmy a zákony mohou být použity na jakékoliv mechanické stroje.

6 Skalární součin. u v = (u 1 v 1 ) 2 +(u 2 v 2 ) 2 +(u 3 v 3 ) 2

9. přednáška 26. listopadu f(a)h < 0 a pro h (0, δ) máme f(a 1 + h, a 2,..., a m ) f(a) > 1 2 x 1

příkladů do cvičení. V textu se objeví i pár detailů, které jsem nestihl (na které jsem zapomněl) a(b u) = (ab) u, u + ( u) = 0 = ( u) + u.

označme j = (0, 1) a nazvěme tuto dvojici imaginární jednotkou. Potom libovolnou (x, y) = (x, 0) + (0, y) = (x, 0) + (0, 1)(y, 0) = x + jy,

DERIVACE. ln 7. Urči, kdy funkce roste a klesá a dále kdy je konkávní a

= cos sin = sin + cos = 1, = 6 = 9. 6 sin 9. = 1 cos 9. = 1 sin cos 9 = 1 0, ( 0, ) = 1 ( 0, ) + 6 0,

VIDEOSBÍRKA DERIVACE

Otázku, kterými body prochází větev implicitní funkce řeší následující věta.

KLASICKÁ MECHANIKA. Předmětem mechaniky matematický popis mechanického pohybu v prostoru a v čase a jeho příčiny.

Gymnázium Česká a Olympijských nadějí, České Budějovice, Česká 64, 37021

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:

y ds, z T = 1 z ds, kde S = S

VIDEOSBÍRKA DERIVACE

Transformujte diferenciální výraz x f x + y f do polárních souřadnic r a ϕ, které jsou definovány vztahy x = r cos ϕ a y = r sin ϕ.

Učební texty k státní bakalářské zkoušce Matematika Skalární součin. študenti MFF 15. augusta 2008

VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY

Základy matematiky pro FEK

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

0.1 Úvod do lineární algebry

[1] x (y z) = (x y) z... (asociativní zákon), x y = y x... (komutativní zákon).

grupa těleso podgrupa konečné těleso polynomy komutativní generovaná prvkem, cyklická, řád prvku charakteristika tělesa

Kinematika. Kinematika studuje geometrii pohybu robotu a trajektorie, po kterých se pohybují jednotlivé body. Klíčový pojem je poloha.

Pro jakou hodnotu parametru α jsou zadané vektory kolmé? (Návod: Vektory jsou kolmé, je-li jejich skalární součin roven nule.)

14. cvičení z Matematické analýzy 2

Duální kvaterniony a jejich aplikace

1 Připomenutí vybraných pojmů

6. ANALYTICKÁ GEOMETRIE

Popis polohy tělesa. Robotika. Vladimír Smutný. Centrum strojového vnímání. České vysoké učení technické v Praze

5. cvičení z Matematiky 2

Vybrané kapitoly z matematiky

(Cramerovo pravidlo, determinanty, inverzní matice)

1 Analytická geometrie

Syntetická geometrie I

Přímá a inverzní kinematika manipulátoru pro NDT (implementační poznámky) (varianta 2: RRPR manipulátor)

Metropolis Hastings MC: Nesymetrická matice α + 1/21

Z teorie je nutné znát pojmy: lineární funkcionál, jádro, hodnost a defekt lineárního funkcionálu. Také využijeme 2. větu o dimenzi.

Lineární algebra : Lineární prostor

Syntetická geometrie I

2.5 Rovnováha rovinné soustavy sil

Úvod do simulace dynamiky sypkých hmot

Lineární zobrazení. 1. A(x y) = A(x) A(y) (vlastnost aditivity) 2. A(α x) = α A(x) (vlastnost homogenity)

Veličiny charakterizující geometrii ploch

Goniometrie a trigonometrie

2. prosince velikosti symboly a, b, je b ω a b = a b cosω (1) a. ω pro ω π/2, π platí a b = b a a (3) a b = a 1 b 1 + a 2 b 2 + a 3 b 3 (5)

Matematika 1. 1 Derivace. 2 Vlastnosti a použití. 3. přednáška ( ) Matematika 1 1 / 16

Program SMP pro kombinované studium

OBECNOSTI KONVERGENCE V R N

V: Pro nulový prvek o lineárního prostoru L platí vlastnosti:

Kapitola 12: Soustavy diferenciálních rovnic 1. řádu

Matice. Předpokládejme, že A = (a ij ) je matice typu m n: diagonálou jsou rovny nule.

Kapitola 11: Vektory a matice 1/19

1 Projekce a projektory

19 Eukleidovský bodový prostor

Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra matematiky. DIPLOMOVÁ PRÁCE Kvaterniony, duální kvaterniony a jejich aplikace

Afinita je stručný název pro afinní transformaci prostoru, tj.vzájemně jednoznačné afinní zobrazení bodového prostoru A n na sebe.

Přijímací zkoušky z matematiky pro akademický rok 2018/19 NMgr. studium Učitelství matematiky ZŠ, SŠ

METRICKÉ A NORMOVANÉ PROSTORY

Kapitola 11: Vektory a matice:

Drsná matematika III 2. přednáška Funkce více proměnných: Aproximace vyšších rádů, Taylorova věta, inverzní zobrazení

15. listopadu Matematický ústav UK Matematicko-fyzikální fakulta. Hermitovská interpolace

Texty k přednáškám z MMAN3: 4. Funkce a zobrazení v euklidovských prostorech

FUNKCE A JEJICH VLASTNOSTI

Předmluva k šestému číslu časopisu Kvaternion

Michal Zamboj. December 23, 2016

terminologie předchozí kapitoly: (ϕ, Ω) - plocha, S - geometrický obraz plochy

MATURITNÍ TÉMATA Z MATEMATIKY

Kristýna Kuncová. Matematika B3

Matematika vzorce. Ing. Petr Šídlo. verze

Věta 12.3 : Věta 12.4 (princip superpozice) : [MA1-18:P12.7] rovnice typu y (n) + p n 1 (x)y (n 1) p 1 (x)y + p 0 (x)y = q(x) (6)

11. cvičení z Matematické analýzy 2

Derivace funkcí více proměnných

Linearní algebra příklady

Transkript:

Rotace ve 3D a kvaterniony Eva Blažková a Zbyněk Šír MÚ UK Eva Blažková a Zbyněk Šír (MÚ UK) - Rotace ve 3D a kvaterniony 1 / 16

Eulerovy úhly http://www.youtube.com/watch?v=upsmnytvqqi Eva Blažková a Zbyněk Šír (MÚ UK) - Rotace ve 3D a kvaterniony 2 / 16

Eulerovy úhly - maticový zápis R(α, β, γ) = cos α sin α 0 cos β 0 sin β 1 0 0 sin α cos α 0 0 1 0 0 cos γ sin γ 0 0 1 sin β 0 cos β 0 sin γ cos γ Eva Blažková a Zbyněk Šír (MÚ UK) - Rotace ve 3D a kvaterniony 3 / 16

Eulerovy úhly - nevýhody závislost na souřadném systému souřadný systém je lokální vůči tělesu závislost na pořadí rotací složitý inverzní problém singularity (gimbal lock)... Eva Blažková a Zbyněk Šír (MÚ UK) - Rotace ve 3D a kvaterniony 4 / 16

William Rowan Hamilton 1805-1865 1835 - komplexní čísla zkouší vymyslet něco podobného pro 3D geometrii Every morning on my coming down to breakfast, your little brother William Edwin, and yourself, used to ask me: Well, Papa, can you multiply triplets? Whereto I was always obliged to reply, with a sad shake of the head: No, I can only add and subtract them. 16. října 1843 objev kvaternionů vyryl jejich rovnici do Broughamského mostu po zbytek života se věnoval jejich vlastnostem Eva Blažková a Zbyněk Šír (MÚ UK) - Rotace ve 3D a kvaterniony 5 / 16

Kvaterniony - definice H = {q q = a + bi + cj + dk, a, b, c, d R, i 2 = j 2 = k 2 = ijk = 1} zápis H q = a + bi + cj + dk = (a, v), kde s R, v = (b, c, d) R 3 Sčítání q 1 + q 2 = (s 1, v 1 ) + (s 2, v 2 ) = (s 1 + s 2, v 1 + v 2 ) Násobení q 1 q 2 = (s 1 + x 1 i + y 1 j + z 1 k) (s 2 + x 2 i + y 2 j + z 2 k) = (s 1 s 2 x 1 x 2 y 1 y 2 z 1 z 2 ) + (s 1 x 2 + s 2 x 1 + y 1 z 2 y 2 z 1 )i + (s 1 y 2 + s 2 y 1 + x 2 z 1 x 1 z 2 )j + (s 1 z 2 + s 2 z 1 + x 1 y 2 x 2 y 1 )k q 1 q 2 = (s 1, v 1 ) (s 2, v 2 ) = (s 1 s 2 v 1 v 2, v 1 v 2 + s 1 v 2 + s 2 v 1 ) není komutativní 1 i j k 1 1 i j k i i -1 k -j j j -k -1 i k k j -i -1 j i k Eva Blažková a Zbyněk Šír (MÚ UK) - Rotace ve 3D a kvaterniony 6 / 16

Definice skalární kvaternion - nulová vektorová část ryzí kvaternion - nulová skalární část opačný kvaternion ke kvaternionu q = (s, v) je kvaternion q = ( s, v). Mezi kvaterniony existuje jednotkový prvek vůči násobení 1 = (1, (0, 0, 0)), tedy q1 = 1q = q. konjugovaný kvaternion q = (s, v) = (s, v). norma kvaternionu q = (s, v) = (s, (x, y, z)): q = s 2 + x 2 + y 2 + z 2 = qq. Eva Blažková a Zbyněk Šír (MÚ UK) - Rotace ve 3D a kvaterniony 7 / 16

Maticové zápisy kvaternionů Prvky 1, i, j, k můžeme reprezentovat jako komplexní matice ( ) ( ) 1 0 i 0 1 =, i =, 0 1 0 i ( ) ( ) 0 1 0 i j =, k =. 1 0 i 0 Pro kvaterniony máme maticové zápisy ( g h s + xi + yj + zk = g + hj = h ḡ kde g = s + xi a h = y + zi. ) = s x z y x s y z z y s x y z x s, Eva Blažková a Zbyněk Šír (MÚ UK) - Rotace ve 3D a kvaterniony 8 / 16

Jednotkové kvaterniony inverzní kvaternion k nenulovému kvaternionu q je kvaternion q 1 = q q 2. jednotkový kvaternion, je každý kvaternion, pro který platí: q = 1 množinu všech jednotkových kvaternionů označujeme H 1 Jedná se o multiplikativní grupu. Pro q, q 1 H 1 platí: qq 1 = 1 a q 1 = q. Eva Blažková a Zbyněk Šír (MÚ UK) - Rotace ve 3D a kvaterniony 9 / 16

Rotace ve 3D Každý jednotkový kvaternion q lze zapsat v následujícím tvaru: q = (cos α, n sin α), kde n je jednotkový vektor v R 3 a α [0, π]. Věta: Pro pevný jednotkový kvaternion q je zobrazení R 3 R 3 r qr q rotací kolem osy n o úhel 2α proti směru hodinových ručiček. Pro nejednotkový kvaternion p máme kde q = p p. prp 1 p = pr p 2 = p p r p p = qr q, Eva Blažková a Zbyněk Šír (MÚ UK) - Rotace ve 3D a kvaterniony 10 / 16

Rotace ve 3D - Rodriguesova formule Jak spočítáme rotaci kolem jednotkového vektoru r R 3 kolem vektoru n o úhel θ. r = r 1 + r 2 r 1 projekce do n, r 1 = (r n)n r 2 kolmý k n, r 2 = r r 1 v (r )2 θ r2 v kolmý k n, r 2, v = n r 2 = n r r1 = (r )1 (r ) 2 = r 2 cos θ + v sin θ n (r ) 1 = r 1 r = (1 cos θ)(r n)n + r cos θ + (n r) sin θ r r Eva Blažková a Zbyněk Šír (MÚ UK) - Rotace ve 3D a kvaterniony 11 / 16

Formule pro kvaterniony Co udělá s ryzím kvaternionem r zobrazení r qr q, kde q je jednotkový kvaternion? můžeme psát q = (cos α, n sin α), kde n = 1 využijeme vzorce v 1 (v 2 v 3 ) = (v 1 v 3 )v 2 (v 1 v 2 )v 3 upravíme (s, v)(0, r)(s, v) 1 = (0, (s 2 v v + 2(v r)v + 2s(v r)) provedeme substituci s = cos α and v = n sin α dostáváme (s, v)(0, r)(s, v) 1 = (0, (1 cos 2α)(r n)n + r cos 2α + (n r) sin 2α) Eva Blažková a Zbyněk Šír (MÚ UK) - Rotace ve 3D a kvaterniony 12 / 16

Rotace pomocí kvaternionů Theorem (Euler) Složení dvou rotací je opět rotace Důkaz. q 2 (q 1 pq 1 1 )q 1 2 = (q 2 q 1 )p(q 2 q 1 ) 1 Theorem Zobrazení, které q přiřadí zobrazení v qvq 1 je 2:1 homomorpfismus mezi grupou jednotkových kvaternionů a SO 3. Důkaz. q dává stejnou rotaci jako q. jednotkové kvaterniony jsou dvojitým nakrytím SO 3 dostaneme z toho Hopfovu fibraci S 3 S 2, kde fíbry jsou S 1. Eva Blažková a Zbyněk Šír (MÚ UK) - Rotace ve 3D a kvaterniony 13 / 16

3D rotace pomocí kvaternionů Jednotkové kvaterniony q = (cos α, n sin α), kde n = 1, α [0, π]. Pro pevné q je r qr q (1) rotace kolem osy n o úhel 2α proti směru hodinových ručiček Zjevně q a q dávají stejnou rotaci Pro nejednotkový kvaternion p máme prp 1 p = pr p 2 = p p r p = qr q, (2) p takže vlastně točíme jednotkovým kvaternionem q = formule (1). p p pomocí Jako cvičeníčko: jak vypadají všechny jednotkové kvaterniony, které rotují vektor [1, 0, 0] na vektor [0, 1, 0]? Eva Blažková a Zbyněk Šír (MÚ UK) - Rotace ve 3D a kvaterniony 14 / 16

Interpolace poloh objektu ve 3D Máme 2 polohy objektu dané jednotkovými kvaterniony {q 0, q 1 } a chceme přejít spojitě od jedné ke druhé. Nejjednoduší je LERP (linear interpolation), tedy vypočítat q t = (1 t)q 0 + tq 1 a použít formuli (2). Ale to je vlastně rotace pomocí jednotkového kvaternionu (1 t)q 0 + tq 1 (1 t)q 0 + tq 1, což taková krása není. Lepší je SLERP (spherical linar interpolation) q t = sin(1 t)θ sin tθ q 0 + sin θ sin θ q 1, (3) kde θ je úhel mezi q 0 a q 1 (bráno v R 4 ). Eva Blažková a Zbyněk Šír (MÚ UK) - Rotace ve 3D a kvaterniony 15 / 16

SLERP Věta: Formule (3) je rovnoměrná parametrizace kruhového oblouku mezi q 0 a q 1. SLERP a LERP probíhá stejné polohy, výhoda je SLERP je v rovnoměrnosti. Vždy je třeba případně vzít q 1 místo q 1 tak, aby θ π/2. Jinak by došlo k tomu, že se objekt do té samé polohy bude přesouvat doplňkovým (mnohem delším) způsobem. Pokud se kromě rotace objekt i posouvá, interpolujeme posunutí lineárně v R 3. Pokud máme posloupnost více poloh, interpolujeme každé dvě pozice (lomená sférická čára), nebo globálně pomocí sférického spline. Každá animace rotací je vlastně křivkou v jednotkových kvaternionech, tedy sférickou křivkou na S 3. Eva Blažková a Zbyněk Šír (MÚ UK) - Rotace ve 3D a kvaterniony 16 / 16