1 / 63

3D transformacije in gledanje

3D transformacije in gledanje. Premikanje predmeta - translacija. Vrtenje – rotacija okrog središča. Vrtenje – rotacija okrog tečaja. Povečava -pomanjšanje. Povečava v eni smeri. Enakomerna povečava. Striženje (shear). Povečanje 2D transformacij na 3D. Primer : 2D skaliranje :.

elsu
Télécharger la présentation

3D transformacije in gledanje

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 3D transformacije in gledanje

  2. Premikanje predmeta - translacija

  3. Vrtenje – rotacija okrog središča

  4. Vrtenje – rotacija okrog tečaja

  5. Povečava -pomanjšanje Povečava v eni smeri Enakomerna povečava

  6. Striženje (shear)

  7. Povečanje 2D transformacij na 3D Primer: 2D skaliranje: [x' y' 1] = [x y 1] * [Sx 0 0] [0 Sy 0] [0 0 1] 3D skaliranje: [x’y’z’1] = [x y z 1]* [Sx 0 0 0 ] [ 0 Sy 0 0 ] [ 0 0 Sz 0 ] [ 0 0 0 1 ] Narišemo samo x in y.

  8. Transformacija točk in predmetov Homogena predstavitev

  9. Osnovne 3D afine transformacije Translacija Povečava (scalling)

  10. Rotacije Okoli osi x: Okoli osi y: Okoli osi z

  11. 3D Rotacije Okoli osi x Okoli osi y Okoli osi z Opazka: to je enako kot pri 2D rotaciji

  12. Sestavljanje (veriženje): Enako kot v 2D Sestavljanje rotacij Vrstni redje pomemben 3D matrik vrtenjane smemozamenjati

  13. Še nekaj primerov 3D transformacij Zrcaljenje preko ravnine xy Enakomerna povečava Translacija v smeri x

  14. Splošna oblika 3D transformacijskematrike povečava, striženje, vrtenje, zrcaljenje Translacija Perspektivna preslikava s Splošna povečava

  15. Še več o rotacijah

  16. Več o rotacijah oziroma usmeritvi usmeritev

  17. O1 O 1.5 O2 Interpolacija

  18. O1 O2 Veriženje

  19. Y X Z Koti rotacije okrog fiksnih osi Rx(q1). Ry(q2). Rz(q3). P

  20. Predstavitev fiksnih kotov • Koti, za katere zavrtimo predmet okrog fiksnih osi • Usmeritve določa množica 3 urejenih parametrov ki predstavljajo urejene rotacije okrog fiksnih osi: najprej okrog x, nato y nato z • Več možnih zaporedij, ki ne uporabijo nujno vse 3 osi

  21. Predstavitev fiksnih kotov • Vrtenje za 10,45, 90 bi zapisali kot • Rz(90) Ry(45), Rx(10), saj hočemo najprej rotacijo okrog, ki jo uporabimo na točki P…. RzRyRx P • Do problema pride, če se dve osi vrtenja poravnata med seboj. Temu pojavu pravimo kardanska zapora (“Gimbal Lock”)

  22. Primeri fiksnih kotov rotacije Primer (-45,90,0) Primer (0,90,0) Y Y Rotacija okoli osi z X X Z Z

  23. Primeri fiksnih kotov rotacije Na primer (0,90,0) Y Y X X Z Z

  24. Primeri fiksnih kotov rotacije Primer (-45,90,0) Y Y X X Z Z

  25. Kardanska zapora (gimbal lock) • Poravnanje dveh ali več osi vrtenja predmeta pomeni izgubo prostostne stopnje. • Predmet se ne bo vrtel tako, kot smo si zamislili.

  26. Kardanska zapora • Vrtenje za kot 90 stopinj okoli osi y v bistvu pomeni, da se prva os vrtenja poravna s tretjo. • Inkrementalne spremembe v x,z pripeljejo do enakega rezultata: izgubimo prostostno stopnjo

  27. Eulerjevi koti An Euler angle is a rotation about a single axis. Any orientation can be described composing three rotation around each coordinate axis. Roll, pitch and yaw

  28. Eulerjev teorem Poljubna rotacija (ali zaporedje rotacij) okrog neke točke je ekvivalentnaeni sami rotaciji okrog neke osi skozi to točko. Eulerjevi koti,1, 2, 3 Poljubno 3D rotacijo lahko dosežemo z vrtenji okoli osi x, y in z

  29. Rotacija točke okrog poljubne osi v 3D y Q  P x z • Imamo podano: u = vektor enote v smeri osi vrtenja  = kot vrtenja okoliu P vrtimo v Q u yz xz

  30. Rotacija točke okrog poljubne osi v 3D y Q  P x z P vrtimo v Q u yz xz xz = kot, projiciran na ravnino xz yz = kot, projiciran na ravnino yz

  31. Rotacija točke okrog poljubne osi v 3D • Imamo podano: u = vektor enote v smeri osi vrtenja  = kot vrtenja okoliu Kjer je c  cos() in s  sin()

  32. Eulerjevi koti • Splošna rotacija je kombinacija treh osnovnih rotacij: okoli osi x (x-roll) , okoli osi y (y-roll) inokoli osi z (z-roll).

  33. Eulerjevi koti in matrike vrtenja

  34. Spet naletimo na kardansko zaporo! z z z 3 /2 1 1 y y y 1 1 x x x x’ x’ • Rotacija za kot 90opovzroči izgubo prostostne stopnje

  35. Interpolacija Eulerjevih kotov nenaravno gibanje !

  36. Cilj • Iščemo parametrizacijo, pri kateri • Obstaja med dvema ključnima rotacijama preprosta in neomajna rotacija • Je gibanje neodvisno od izbire koordinatnega sistema

  37. Kot in os • Katerokoli usmeritev lahko podamo s četvorčkom • kot, vektor(x,y,z), pri čemer kot pove, za koliko se zavrtimo okoli osi, ki jo definira vektor • Ločeno lahko interpoliramo tako kot kot os • Ni problemov s kardansko zaporo! • Ne moremo pa učinkovito sestavljati rotacij. Moramo najprej pretvoriti v matrično obliko!

  38. Kot in os (Ax,Ay,Az,q) A q Y Z X Eulerjev rotacijski teorem

  39. Kot in os (Ax,Ay,Az,q) A1 q1 Y A2 q2 Z X Eulerjev rotacijski teorem

  40. Kvaternioni

  41. Kvaternioni q =[s,v] =[s,x,y,z] A q (cos(q/2),sin(q/2)*A)

  42. Kvaternioni • Razširjajo koncept rotacij iz 3D na 4D. • Izognejo se problemu “kardanske zapore” in omogočajo mehke in zvezne rotacije. • V bistvu lahko smatramo, da dodajo še en kot vrtenja sferičnim koordinatam (na primer kotom Longitude (zemljepisna dolžina), Latitude (zemljepisna širina) in Rotation) • Kvaternion je definiran s 4 realnimi števili |x y z w|. Ta izračunamo s kombinacijo treh koordinat osi vrtenja in kota vrtenja.

  43. Kakšno zvezo imajo kvaternioni in 3D animacija? • Rešitev problema s “kardansko zaporo" • Namesto vrtenja predmeta z zaporedjem rotacij omogoča kvaternion vrtenje predmeta preko ene same poljubne osi. • Ker je os vrtenja podana kot enotin vektor, lahko uporabimo vektorsko matematiko ali sferične koordinate (longitude/latitude). • Interpolacija kvaternionov: mehko in napovedljivi učinki rotacije.

  44. Motivacija • Iskanje najbolj naravnega in kompaktnega načina za predstavitev rotacij in usmeritev • Interpolacija usmeritve, ki vodi v naravno gibanje • Zaključena matematična oblika, ki obravnava rotacije in usmeritve (razširitev kompleksnih števil)

  45. Definicija kvaternionov • Razširitev kompleksnih števil • Četvorčki realnih števil • s,x,y,zali[s,v] • s je skalar • v je vektortor • Isti podatki kot pri podajanju kota in osi, vendar v drugi obliki • Lahko gledamo kot na originalno usmeritev ali kot na rotacijo nekega predmeta

  46. Od kvaternionov k matriki vrtenja

  47. Matematika s kvaternioni Točka v prostoru je podana tako: Multiplikativna identiteta Pri čemer velja Kvaternion enotne dolžine

  48. Lastnosti kvaternionov Konjugacija in absolutna vrednost sta podobni kot pri kompleksnih številih • Kvaternioni niso komutativni q1 = (s1,v1) q2 = (s2,v2) q1*q2 = (s1s2 – v1.v2 , s1v2 + s2v1 + v1x v2) • Inverzna vrednost: • Kvaternion enote:

  49. Rotacija s kvaternioni • S pomočjo kvaternionske matematike želimo vrteti vektor v • Vektor predstavimo kot [0,v] • Rotacijo s pomočjo kvaternionov predstavimo kot q

  50. Rotacija s kvaternioni • Rotacija P=(0,r) okrog vektorja enote n za kot θ s pomočjo enotnega kvaterniona q=(s,v) toda q=(cos½θ, sin½θ•n) kjer je |n|=1

More Related