Baixe o app para aproveitar ainda mais
Prévia do material em texto
Universidade Federal da Paraíba Centro de Informática Change of Coordinate System Lecture 7 1107190 - Introdução à Computação Gráfica – Turma 01 Prof. Christian Azambuja Pagot CI / UFPB Universidade Federal da Paraíba Centro de Informática Why do we need to change basis? ● Sometimes it is necessary to transform the coordinates of a primitive to a new coordinate system. ● This is the case, for instance, when we want to transform vertices from the Universe Space to the Camera Space. Universidade Federal da Paraíba Centro de Informática Universe vs. Camera Space z y Universe Space z y Camera Space z u y u y c z c Universidade Federal da Paraíba Centro de Informática Universe vs. Camera Space z y Camera Space y c x c Universidade Federal da Paraíba Centro de Informática Universe vs. Camera Space z y Camera Space y c x c Universidade Federal da Paraíba Centro de Informática Coordinate System Basis ● Linear independence. ● Orthogonality. ● Orthonormal basis. e 1 e 2 e 3 e1=[100] ,e2=[010 ] ,e3=[001] [e1 e2 e3 ]=[1 0 00 1 00 0 1] Universidade Federal da Paraíba Centro de Informática Arbitrary Vectors ● An arbitrary vector w: w e 1 e 2 e 3 α 1 α 2 α 3 w= [α1 e1+α2e2+α3 e3 ] a=[α1α2α3] w= [e1 e2 e3 ]a w=a [1 0 00 1 00 0 1] Universidade Federal da Paraíba Centro de Informática Change of Basis ● An arbitrary vector w: w e 1 e 2 e 3 v u n Universidade Federal da Paraíba Centro de Informática Change of Basis ● An arbitrary vector w: w β 2 β 3 β 1 v u n w= [β1u+β2 v+β3 n ] b=[β1β2β3 ] w= [u v n ]b Universidade Federal da Paraíba Centro de Informática e 1 e 2 e 3 α 1 α 2 α 3 Change of Basis ● An arbitrary vector w: ww β 2 β 3 β 1 v u n w= [β1u+β2 v+β3 n ] b=[β1β2β3 ] w= [u v n ]b w= [e1 e2 e3 ]a w=a a=Bb B=[u v n ] b=B−1a b=BT a B is orthogonal (contains only rotations)! Its inverse is its transpose! Universidade Federal da Paraíba Centro de Informática e 1 e 2 e 3 Change of Basis ● How about two basis such that the origins do not match? v u n t=[ t xt yt z ] Universidade Federal da Paraíba Centro de Informática Change of Basis ● How about two basis such that the origins do not match? – 1st: Match both space origins through translation! – 2nd: Apply the rotation matrix, as before. b=BT a ' a '=a−t Can we pack all transformations into a unique matrix? Universidade Federal da Paraíba Centro de Informática Change of Basis ● We will have to use homogeneous coordinates due translation: BT=[ux uy uz 0vx v y vz 0nx ny nz 0 0 0 0 1 ] T=[1 0 0 −t x0 1 0 −t y0 0 1 −t z 0 0 0 1 ] M=BTT=[ux uy uz −t⋅uv x vy vz −t⋅vnx ny nz −t⋅n 0 0 0 1 ] b=Ma Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13
Compartilhar