Transformações 35T56 Sala 3E Bruno Motta de Caralho DIMAp Sala 5 Ramal 7 DIM
Transformações T Porquê usar transformações? Criar objetos em sistemas de coordenadas conenientes Reusar formas básicas árias ezes Modelagem hierárquica Independem do sistema utilizado DIM
Transformações D d d 3 Y 6 5 4 3 Translação T 3 4 4 3 4 5 6 7 8 9 Translação Adição dos componentes dos etores + t onde ' d, ', t ' d e + d + d Moendo polígonos: translação de értices (etores) e redesenho de linhas Presera comprimentos (isométrico) X Presera ânguloss (conformal) Não é uma combinação linear DIM
DIM 4 Transformações D Scaling Multiplicação dos componentes dos etores por um escalar S onde and Não presera comprimentos Não presera ângulos (eceto quando o scaling é uniforme) Y X 3 4 5 6 7 8 9 3 4 5 6 3 6 9 3 s s ' ' ', s s S
, ' ' ' Transformações D Rotação Rodar um ponto P(,) de um ângulo relatiamente à origem significa encontrar outro ponto Q(, ) sobre uma circunferência centrada na origem que passa pelos dois pontos. 5 DIM
, ' ' ' Transformações D Rotação Rodar um ponto P(,) de um ângulo relatiamente à origem significa encontrar outro ponto Q(, ) sobre uma circunferência centrada na origem que passa pelos dois pontos. 6 DIM
Transformações D Rotação Y 6 5 4 π 6 Rotação dos etores por um ângulo R where ' cos, ' R ' sin sin cos 3 7 3 4 5 6 7 8 9 X DIM e cos sin sin + cos Presera comprimentos e ângulos Proa usa fórmulas de soma de ângulos cos(α+β) cosα cosβ sinα sinβ sin(α+β) sinα cosβ + sinβ cosα
Transformações D Y 6 Shear Pega e um objeto e entorta para o lado Shear sh 5 4 3 π 4 3 4 5 6 7 8 9 X Quadrados se tornam paralelogramas coordenadas entortam para a direita, enquanto coordenadas permanecem as mesmas 8 DIM
Coordenadas Homogêneas Matriz não pode ser usada para composição porque translação não é epressa como multiplicação de matrizes Coordenadas homogêneas permitem que as três operações sejam epressas de maneira homogênea, permitindo a composição de operações usando se multiplicação de matrizes 33 P d (, ) P P P ( ', ', w), h d h (, ) P ( w, w, w), d w ', w ' w w 9 DIM
Coordenadas Homogêneas W P h (,,w) P d é a interseção da linha deterada por P h com o plano w Logo, um número infinito de pontos correspondem a (,, ): eles constituem a linha (t, t, tw) P d (/w,/w,) X Y DIM
Coordenadas Homogêneas Para pontos escritos em coordenadas homogêneas [ ] T, translação, scaling and rotação relatias a origem são representadas por: DIM
Coordenadas Homogêneas Considere a matriz de rotação As colunas e linhas da submatriz X: São etores unitários (comprimento) São perpendiculares (produto interno) cosφ sinφ R( φ) sinφ cosφ Estas propriedades das linhas e colunas preseram comprimentos e ângulos da geometria original. Deste modo, essa matriz é chamada de transformação de corpo rígido (rigid bod) DIM
Composição de Transformações D Como fazer quando um objeto não está centralizado na origem? Translação para a origem, seguida de rotação e/ou scaling, e translação inersa Logo, é mais eficente a composição de árias transformações Translação, scaling e rotação são representados por: translation: scale: rotation: + t S R 3 DIM
Composição de Transformações D Com a matriz T, pode se eitar translações indesejáeis introduzidas quando nós usamos scaling ou rotacionamos um objeto não centrado na origem. Solução: translação do objeto para a origem, seguida de scaling ou rotação, e translação inersa House ( H ) T ( d, d) H R( ) T ( d, d) H T ( d, d) R( ) T ( d, d) H 4 DIM
DIM 5 Composição de Transformações D Eemplo: Translação + Rotação + Translação + sin ) cos ( cos sin sin ) cos ( sin cos cos sin sin cos
DIM 6 Transformação Janelapara Viewport + + ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ma ma ma ma ma ma ma ma ma ma ma ma u u u u u u u u u
Transformações 3D z Sistema de coordenadas destro (right handed) Rotações positias são definidas tais que, quanto olhando de um eio positio para a origem, uma rotação de 9º transforma um eio positio em outro Eio Direção de rot. Pos. z para z z para para 7 DIM
DIM 8 Transformações 3D dz d sh d sh z s s s Shear SH XY Scaling dz d d Translação cos sin sin cos cos sin sin cos cos sin sin cos Rotação (aw) Rotação (pitch) Rotação z (roll)
Quatérnios Motiação: 9 DIM
Quatérnios Motiação: Dificuldade de usar rotação com a notação de Euler. Dificuldade de fazer uma interpolação entre as rotações A utilização de quatérnios para implementação de rotações Garante uma rotação direta e firme entre duas orientações Define moimentos que são independentes de qualquer sistemas de coordenadas A combinação de quatérnios é mais eficiente que multiplicação de matrizes DIM
Quatérnios William Hamilton, em 843 Eles representam uma orientação por um ângulo de rotação antihorário () ao redor de um etor (V) arbitrário Fazem parte da classe de números hipercompleos DIM
Quatérnios i j k i j k q q q q q 3 4 s Podem ser pensados como pontos em uma esfera 4D ou etores 3D com uma rotação associada Algumas ezes é representado por s (rotação) e (eio de rotação) DIM
Quatérnios Adição e subtração funcionam com em números compleos Multiplicação de quatérnios é associatia mas não é comutatia Compleo conjugado de um quatérnio 3 DIM
Quatérnios 4 DIM
DIM 5 Quatérnios Produto quatérnioconjugado Norma Inersa multiplicatia 3 * s q q + + + * 3 ) ( norma q q s q q + + +
Quatérnios Rotação (sistema destro/right handed) q' q * q,sentido horário q' q q *,sentido antihorário q cos( / ) + sin( / ) / q 6 DIM
Quatérnios Vantagens: Não eibe singularidades na sua parametrização Interpolação consistente e suae de orientações Composição simples e eficiente de rotações Desantagens: Cada orientação é representada por dois quatérnios Representa orientações e não rotações (º ao redor de V é o mesmo quatérnio que 36º ao redor de V) Implementa somente rotações. Matrizes são utilizadas para implementar as outras transformações 7 DIM
Grafos de Cena Cenas 3D são armazenadas em uma grafo direcionado acíclico (DAG) chamado de grafo de cena (scene graph) Open Inentor (TGS) Open Scene Graph Jaa3D (Sun) X3D (VRML ) WorldToolKit (Sense8) Formatos típicos de grafos de cena (eistem centenas de pacotes!) Objetos (cubos, esferas, cones, poliédros, etc.) com alores padrão (por emplo, localizados na origem com olume pré definido) armazenados como nós do grafo Atributos (cor, mapa de tetura, etc.) e transformações também são nós grafos de cena 8 DIM
Grafos de Cena ROBOT 5. To get final scene 4. Transform subgroups upper bod lower bod 3. To make sub groups. We transform them stanchion base head trunk arm 9 DIM
Grafos de Cena Geralmente os nós de transformação contém pelo menos uma matriz que faz a transformação; adicionalmente eles podem conter parâmetros de transformação indiiduais Para se deterar a matriz de transformação composta (CTM) final para um nó objeto dee se compor todas as transformações dos pais dos nós durante traessias do grafo Como isso é feito aria de pacote a pacote! 3 DIM
Grafos de Cena g: nós de grupo m: nós de matrizes de transformação o: nós objeto g m m o g m3 m4 Um eamplo: Para o, CTM m Para o, CTM m* m3 Para o3, CTM m* m4* m5 Para um értice em o3, sua posição no sistema de coordenadas do mundo (raiz do grafo) é: CTM (m*m4*m5) o o3 3 DIM