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
Download

CG7 - Departamento de Informática e Estatística – INE