The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Computação Gráfica: Aula 6: Representação 3D Parte 1: Transformações Geométricas em 3D Prof. Dr. rer.nat. Aldo von Wangenheim Departamento de Informática e Estatística - INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Disciplina Computação Gráfica Curso de Ciência da Camputação INE/CTC/UFSC Prof. Dr. rer.nat. Aldo v. Wangenheim - Departamento de Informática e Estatística - INE/CTC/UFSC The Cyclops Project Disciplina Computação Gráfica German-Brazilian Cooperation Programme on IT CNPq GMD DLR Curso de Ciência da Camputação INE/CTC/UFSC 6.1. Conceitos Básicos em 3D Sistemas de Coordenadas em 3D existem de dois tipos: – De Mão Direita e – De Mão Esquerda Prof. Dr. rer.nat. Aldo v. Wangenheim - Departamento de Informática e Estatística - INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Disciplina Computação Gráfica Curso de Ciência da Camputação INE/CTC/UFSC 6.1. Conceitos Básicos em 3D Visualização em 3D pode partir de dois princípios diferentes mas equivalentes: – Câmera móvel • Movemos a câmera (plano de projeção) no mundo. As coordenadas do mundo não se modificam. – Mundo móvel • Movemos o mundo para que se posicione no ângulo que mais nos agrada ou permite nelhor visualização. Estes princípios são apenas metáforas computacionais e equivalentes em termos de processamento. Prof. Dr. rer.nat. Aldo v. Wangenheim - Departamento de Informática e Estatística - INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Disciplina Computação Gráfica Curso de Ciência da Camputação INE/CTC/UFSC 6.1. Conceitos Básicos em 3D Prof. Dr. rer.nat. Aldo v. Wangenheim - Departamento de Informática e Estatística - INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Disciplina Computação Gráfica Curso de Ciência da Camputação INE/CTC/UFSC 6.2. Representação de Objetos em 3D Modelo de Arame (Wire Frame) Prof. Dr. rer.nat. Aldo v. Wangenheim - Departamento de Informática e Estatística - INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Disciplina Computação Gráfica Curso de Ciência da Camputação INE/CTC/UFSC 6.2. Representação de Objetos em 3D Modelo de Poliedros (conjunto de polígonos adjacentes) Prof. Dr. rer.nat. Aldo v. Wangenheim - Departamento de Informática e Estatística - INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Disciplina Computação Gráfica Curso de Ciência da Camputação INE/CTC/UFSC 6.2. Representação de Objetos em 3D Modelo de Estrutura Hierárquica (objetos em uma árvore) Prof. Dr. rer.nat. Aldo v. Wangenheim - Departamento de Informática e Estatística - INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Disciplina Computação Gráfica Curso de Ciência da Camputação INE/CTC/UFSC 6.2. Representação de Objetos em 3D Geometria Construtiva Prof. Dr. rer.nat. Aldo v. Wangenheim - Departamento de Informática e Estatística - INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Disciplina Computação Gráfica Curso de Ciência da Camputação INE/CTC/UFSC 6.2. Representação de Objetos em 3D Prof. Dr. rer.nat. Aldo v. Wangenheim - Departamento de Informática e Estatística - INE/CTC/UFSC The Cyclops Project Disciplina Computação Gráfica Curso de Ciência da Camputação INE/CTC/UFSC German-Brazilian Cooperation Programme on IT CNPq GMD DLR 6.2. Representação de Objetos em 3D: Quadtrees e Octrees • Quadtree: – Representação compacta Raiz – Estrutura hierárquica 4-ária – Cada folha descreve uma região homogênea – Cada nó intermediário tem quatro filhos que decompõem a imagem – Decomposição pode ser feita por algoritmos recursivos Prof. Dr. rer.nat. Aldo v. Wangenheim - Departamento de Informática e Estatística - INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Disciplina Computação Gráfica Curso de Ciência da Camputação INE/CTC/UFSC 6.2. Representação de Objetos em 3D: Quadtrees e Octrees Quadtree Prof. Dr. rer.nat. Aldo v. Wangenheim - Departamento de Informática e Estatística - INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Disciplina Computação Gráfica Curso de Ciência da Camputação INE/CTC/UFSC 6.2. Representação de Objetos em 3D: Quadtrees e Octrees • Octree: – Octree é equivalente à matriz de voxel, mas ocupa menos memória – Na octree a resolução varia ao longo do modelo – Octree é uma estrutura hierárquica 8-ária – Cada nó da octree corresponde a uma região cúbica do universo – O valor de cada nó é atribuído da mesma forma que na quadtree Prof. Dr. rer.nat. Aldo v. Wangenheim - Departamento de Informática e Estatística - INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Disciplina Computação Gráfica Curso de Ciência da Camputação INE/CTC/UFSC 6.2. Representação de Objetos em 3D: Quadtrees e Octrees Prof. Dr. rer.nat. Aldo v. Wangenheim - Departamento de Informática e Estatística - INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Disciplina Computação Gráfica Curso de Ciência da Camputação INE/CTC/UFSC 6.3. Transformações Geométricas em 3D Prof. Dr. rer.nat. Aldo v. Wangenheim - Departamento de Informática e Estatística - INE/CTC/UFSC The Cyclops Project Disciplina Computação Gráfica German-Brazilian Cooperation Programme on IT CNPq GMD DLR Curso de Ciência da Camputação INE/CTC/UFSC 6.3. Transformações Geométricas em 3D • Translação x´ = x + Tx y´ = y + Ty z´ = z + Tz Prof. Dr. rer.nat. Aldo v. Wangenheim - Departamento de Informática e Estatística - INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Disciplina Computação Gráfica Curso de Ciência da Camputação INE/CTC/UFSC 6.3. Transformações Geométricas em 3D • Escalonamento x´ = Sx · x y´ = Sy · y z´ = Sz · z Prof. Dr. rer.nat. Aldo v. Wangenheim - Departamento de Informática e Estatística - INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Disciplina Computação Gráfica Curso de Ciência da Camputação INE/CTC/UFSC 6.3. Transformações Geométricas em 3D • Escalonamento diferencial: – Alto: (Sx,Sy,Sz) = (2,1,2) – Direita: (Sx,Sy,Sz) = (1,2,1) Prof. Dr. rer.nat. Aldo v. Wangenheim - Departamento de Informática e Estatística - INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Disciplina Computação Gráfica Curso de Ciência da Camputação INE/CTC/UFSC 6.3. Transformações Geométricas em 3D: Rotação Prof. Dr. rer.nat. Aldo v. Wangenheim - Departamento de Informática e Estatística - INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Disciplina Computação Gráfica Curso de Ciência da Camputação INE/CTC/UFSC 6.3. Transformações Geométricas em 3D: Rotação em Torno de um Eixo Arbitrário Rotacionamos de um ângulo q um objeto em torno de um eixo A, que passa pelo ponto P Prof. Dr. rer.nat. Aldo v. Wangenheim - Departamento de Informática e Estatística - INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Disciplina Computação Gráfica Curso de Ciência da Camputação INE/CTC/UFSC 6.3. Transformações Geométricas em 3D: Rotação em Torno de um Eixo Arbitrário 1. Translação T do sistema objeto/eixo de uma distância vetorial -D de forma que algum ponto P sobre o eixo fique sobre a origem. 2. Rotação Rx em torno do eixo x por qx de forma a trazer o eixo A sobre o plano xy. 3. Rotação Rz em torno do eixo z por qz de forma a alinhar o eixo A com o eixo y. Prof. Dr. rer.nat. Aldo v. Wangenheim - Departamento de Informática e Estatística - INE/CTC/UFSC The Cyclops Project Disciplina Computação Gráfica Curso de Ciência da Camputação INE/CTC/UFSC German-Brazilian Cooperation Programme on IT CNPq GMD DLR y P z x Prof. Dr. rer.nat. Aldo v. Wangenheim - Departamento de Informática e Estatística - INE/CTC/UFSC The Cyclops Project Disciplina Computação Gráfica Curso de Ciência da Camputação INE/CTC/UFSC German-Brazilian Cooperation Programme on IT CNPq GMD DLR 1. Translação T do sistema objeto/eixo de uma distância vetorial -D de forma que algum ponto P sobre o eixo fique sobre a origem. y -D z x Prof. Dr. rer.nat. Aldo v. Wangenheim - Departamento de Informática e Estatística - INE/CTC/UFSC The Cyclops Project Disciplina Computação Gráfica Curso de Ciência da Camputação INE/CTC/UFSC German-Brazilian Cooperation Programme on IT CNPq GMD DLR 2. Rotação Rx em torno do eixo x por qx de forma a trazer o eixo A sobre o plano xy. z y qx x Prof. Dr. rer.nat. Aldo v. Wangenheim - Departamento de Informática e Estatística - INE/CTC/UFSC The Cyclops Project Disciplina Computação Gráfica Curso de Ciência da Camputação INE/CTC/UFSC German-Brazilian Cooperation Programme on IT CNPq GMD DLR 3. Rotação Rz em torno do eixo z por qz de forma a alinhar o eixo A com o eixo y. y qz z x Prof. Dr. rer.nat. Aldo v. Wangenheim - Departamento de Informática e Estatística - INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Disciplina Computação Gráfica Curso de Ciência da Camputação INE/CTC/UFSC 6.3. Transformações Geométricas em 3D: Rotação em Torno de um Eixo Arbitrário 4. Rotação Ry em torno do eixo y pelo ângulo desejado qoriginal. 5. Rotação Rz-1 em torno do eixo z por -qz de forma a desfazer (3). 6. Rotação Rx-1 em torno do eixo x por -qx de forma a desfazer (2). 7. Translação T-1 de uma distância D para desfazer (1). Prof. Dr. rer.nat. Aldo v. Wangenheim - Departamento de Informática e Estatística - INE/CTC/UFSC The Cyclops Project Disciplina Computação Gráfica Curso de Ciência da Camputação INE/CTC/UFSC German-Brazilian Cooperation Programme on IT CNPq GMD DLR 4. Rotação Ry em torno do eixo y pelo ângulo desejado qoriginal. z y qoriginal x Prof. Dr. rer.nat. Aldo v. Wangenheim - Departamento de Informática e Estatística - INE/CTC/UFSC The Cyclops Project Disciplina Computação Gráfica Curso de Ciência da Camputação INE/CTC/UFSC German-Brazilian Cooperation Programme on IT CNPq GMD DLR 5. Rotação Rz-1 em torno do eixo z por -qz de forma a desfazer (3). y -q z z x Prof. Dr. rer.nat. Aldo v. Wangenheim - Departamento de Informática e Estatística - INE/CTC/UFSC The Cyclops Project Disciplina Computação Gráfica Curso de Ciência da Camputação INE/CTC/UFSC German-Brazilian Cooperation Programme on IT CNPq GMD DLR 6. Rotação Rx-1 em torno do eixo x por -qx de forma a desfazer (2). y -qx z x Prof. Dr. rer.nat. Aldo v. Wangenheim - Departamento de Informática e Estatística - INE/CTC/UFSC The Cyclops Project Disciplina Computação Gráfica Curso de Ciência da Camputação INE/CTC/UFSC German-Brazilian Cooperation Programme on IT CNPq GMD DLR 7. Translação T-1 de uma distância D para desfazer (1). z y x Prof. Dr. rer.nat. Aldo v. Wangenheim - Departamento de Informática e Estatística - INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Disciplina Computação Gráfica Curso de Ciência da Camputação INE/CTC/UFSC Próxima Aula • Perspectiva Prof. Dr. rer.nat. Aldo v. Wangenheim - Departamento de Informática e Estatística - INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Disciplina Computação Gráfica Curso de Ciência da Camputação INE/CTC/UFSC 6.4. Transformações de Perspectiva Prof. Dr. rer.nat. Aldo v. Wangenheim - Departamento de Informática e Estatística - INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Disciplina Computação Gráfica Curso de Ciência da Camputação INE/CTC/UFSC 6.2. Transformações de Perspectiva Prof. Dr. rer.nat. Aldo v. Wangenheim - Departamento de Informática e Estatística - INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Disciplina Computação Gráfica Curso de Ciência da Camputação INE/CTC/UFSC 6.4. Transformações de Perspectiva Prof. Dr. rer.nat. Aldo v. Wangenheim - Departamento de Informática e Estatística - INE/CTC/UFSC The Cyclops Project German-Brazilian Cooperation Programme on IT CNPq GMD DLR Disciplina Computação Gráfica Curso de Ciência da Camputação INE/CTC/UFSC Tarefas para Próxima Aula • Implemente uma classe Ponto3D capaz de realizar as 3 transformações básicas. • Implemente uma Classe Objeto3D para representar um Modelo de Arame com as seguintes características: – Possui uma lista de segmentos de reta constituídos por um par de Pontos3D – É capaz de realizar as 3 operações básicas e também a rotação em torno de um eixo arbitrário. Prof. Dr. rer.nat. Aldo v. Wangenheim - Departamento de Informática e Estatística - INE/CTC/UFSC