SlideShare uma empresa Scribd logo
1 de 108
Baixar para ler offline
Representação deRepresentação de
Objetos e CenasObjetos e Cenas
Soraia Musse
Roteiro
1. Formas de Representação
1.1. Vetorial x Matricial
1.2. Enumeração Espacial
1.3. Representação Aramada
1.4. Superfícies Limitantes
1.5. Representação Paramétrica
1.6. Grafo de Cena1.6. Grafo de Cena
2. Técnicas de Modelagem 3D
2.1. Varredura
2.2. CSG
2.3. Instanciamento de Primitivas
2.4. Fractais
2.5. Sistemas de Partículas
OBS.: Estes slides foram elaborados a partir do material dos profs. Márcio Pinho,
Marcelo Cohen, Carla Freitas, Silvia Olabarriaga e Luciana Nedel além de Isabel
Manssour
Formas de Representação
Mas, representar o que?
E porque?E porque?
Modelagem Geométrica
Área da Computação Gráfica que estuda a criação
de modelos dos objetos reais
Como descrever/representar FORMA dos objetos
(largura, altura, áreas,...)(largura, altura, áreas,...)
Coleção de Métodos Matemáticos
Objetivos
Criar modelos de objetos, existentes ou ainda não
existentes
Galeria
Exemplo de projeto
Como converter a idéia
para o computador?
Representação da
Lâmpada
Idéia de
Lâmpada
Fácil de modificar
Fácil de especificar
Áreas de Aplicação
Precisão/Exatidão Matemática
CAD/CAM
Indústria em Geral
Precisão VisualPrecisão Visual
Entretenimento em geral
Jogos
Várias representações para o mesmo objeto
(Level-of-Detail)
Dois tópicos de estudo
Formas de armazenamento dos objetos 3D
Técnicas de modelagem dos objetos 3D
Formas de RepresentaçãoFormas de Representação (ou armazenamento )
Formas de Representação
Formas de RepresentaçãoFormas de Representação (ou armazenamento )
Trata das estruturas de dados utilizadas
X
Técnicas de ModelagemTécnicas de Modelagem
Trata das técnicas interativas ou não (e também das
interfaces) que podem ser usadas para criar um objeto
Existem várias formas de representação e
modelagem de objetos 3D
Cada uma possui vantagens e desvantagens
Adaptam-se melhor para uma aplicação específica
Formas de Representação
Adaptam-se melhor para uma aplicação específica
Dependem da natureza dos objetos e das
operações/consultas que serão realizadas
Em algumas técnicas a estrutura de dados
para armazenar objetos é determinada pela
técnica de modelagem
Formas de Representação
Em geral a forma de representação determina:
A estrutura de dados, a forma dos algoritmos de
processamento, e o projeto de programas de baixo nível
O custo do processamento de um objeto
A aparência final de um objeto
A facilidade de alterar a forma de um objeto
Revisão:
Vetorial x Matricial
Formas de Representação
matriz de pontos
coordenadas e primitivas gráficas
Formas de Representação
Curvas
apenas comprimento
Formas de Representação
Superfícies
apenas área
cascas
infinitesimalmente finas,
ocasocas
abertas ou fechadas
Formas de Representação
Sólidos
o interior também interessa
Teapot (Martin Newell 1975)
Computer History Museum in
Mountain View, California
where it is catalogued as
"Teapot used for Computer
Graphics rendering"
Estruturas de dados mais utilizadas na
Computação Gráfica 2D para armazenamento
de modelos
Vetores, listas e tabelas
Formas de Representação
Representação Aramada
Vetores, listas e tabelas
Exemplos:
Duas listas
Vértices
Arestas
Formas de Representação
Representação Aramada
1
2 3
4
x1,y1
x2,y2
1,2
1,3
1
2 x2,y2
x3,y3
x4,y4
...
1,3
3,4
2,4
...
vértices
(geometria)
arestas
(topologia)
2
3
4
Crie a estrutura de dados dos pontos vermelhos do objeto
abaixo:
Exercício
1
2 3
45 6
Vértice 1
4
vértices
(geometria)
arestas
(topologia)
5 6
7 8
9
10
11
12
Vértice 2
Vértice 3
Vértice 4
Crie a estrutura de dados dos pontos vermelhos do objeto
abaixo:
Exercício
1
2 3
45 6
4,8
2,7
7,4
4,8
4
74
vértices
(geometria)
arestas
(topologia)
5 6
7 8
9
10
11
12
2,7
5,7
4,5
4,8
8,9
9,7
7
8
9
Representação aramada
Representação de um objeto somente através de suas
arestas
A visualização de objetos aramados é usada
Formas de Representação
Representação Aramada
A visualização de objetos aramados é usada
quando não é necessário um grande grau de
realismo
Durante criação e manipulação do modelo/cena
Facilita a alteração (rápido de visualizar)
Conjunto de vértices e arestas (objetos “vazados”)
Wireframe = aramado
Exemplos:
Formas de Representação
Representação Aramada
arestas v1
v2 v3
vértices v5 v4
Topologia (arestas)
1 v1 v2
2 v1 v3
3 v1 v4
4 v1 v5
5 v2 v3
6 v3 v4
7 v4 v5
8 v5 v2
Geometria (vértices)
1 (v1) x1 y1 z1
2 (v2) x2 y2 z2
3 (v3) x3 y3 z3
4 (v4) x4 y4 z4
5 (v5) x5 y5 z5
Vantagem
Rapidez
Desvantagens
Difícil de entender/visualizar
Formas de Representação
Representação Aramada
Difícil de entender/visualizar
Difícil (ou até impossível) realizar certas operações, tais
como a determinação de massa, volume, inclusão ou edição
de pontos
Impreciso (representação ambígua)
Superfícies Limitantes (ou Boundary-
Representation ou B-Rep)
Informalmente chamada de malha de polígonos
Forma de representação clássica na Computação Gráfica
3D
Formas de Representação
Superfícies Limitantes
3D
Um objeto representado por um conjunto de polígonos
(ou faces) que delimitam uma região fechada do espaço
(limite ou superfície do objeto)
Representa uma superfície discretizada por faces planas
Podem ser triângulos (preferencialmente) ou quadrados
O objeto formado por esta técnica é normalmente chamado de
POLIEDRO, ou seja, composto de muitos DIEDROS (diedro =
semi-espaço)
A superfície limitante de um sólido separa os pontos
de dentro do sólido dos pontos de fora
Interface entre o sólido e o ambiente a sua volta
Características visuais do sólido tais como reflexão,
transparência, textura e cor são características dessa
Formas de Representação
Superfícies Limitantes
transparência, textura e cor são características dessa
superfície
[Watt 2000]
Estrutura de dados mais utilizada:
Tabela de vértices e tabela de faces
Problemas
Aproximação de superfícies curvas
Grande espaço para armazenamento
Formas de Representação
Superfícies Limitantes
Grande espaço para armazenamento
Exemplo
http://www.frontiernet.net/~imaging/java3dviewer.html
Exemplo: VRML
Tabela de vértices
Tabela de faces
Formas de Representação
Superfícies Limitantes
coord Coordinate {
point [ # lista de Vértices
0 10 0, # vértice 0
-5 0 5, # vértice 1
5 0 5, # vértice 2
5 0 -5, # vértice 3
-5 0 -5, # vértice 4
]
coordIndex [ # lista de Faces
4, 3, 2, 1 -1, # Base (formada pelos vértices
4, 3,2 e 1)
0, 1, 2, -1, # Frontal
0, 2, 3, -1, # Direita
0, 3, 4, -1, # Traseira
0, 4, 1, -1 # Esquerda
]
VRML
#VRML V2.0 utf8
# --------------------------------------------------------
# Desenho de um paralelepípedo Amarelo
# --------------------------------------------------------
Shape { # define um bloco de um objeto (Shape)
appearance Appearance { # define a aparência do Shapeappearance Appearance { # define a aparência do Shape
material Material {
diffuseColor 1.0 1.0 0.0 # r g b
}
}
geometry Box { # define a geometria do Shape
size 2.5 2.5 5.0 # larg, altura, prof
}
} # fim do shape
Nos últimos anos tem se trabalhado com
diferentes níveis de detalhes
LOD – Level of Detail
Conforme a distância da câmera a um modelo
aumenta, o espaço que ele ocupa na janela diminui, por
Formas de Representação
Superfícies Limitantes
aumenta, o espaço que ele ocupa na janela diminui, por
isso, o detalhe com que é visualizado também diminui
Pode-se definir diversas representações para um objeto
que são “ativadas” de acordo com a distância da
câmera (ou observador)
LOD – Superfícies de Subdivisão
Algoritmo de SS: Chaikin Corner
Cutting
Efeito: Convergência
Efeito: Suavização de Superfícies
3D Studio Max
Grande aplicação em Animação
Pixar/Disney
Quadtrees são usadas para o armazenamento de
objetos 2D
Divide-se o plano onde está o objeto em 4 partes iguais e
classifica-se cada parte
Formas de Representação
Enumeração Espacial (quadtrees e octrees)
classifica-se cada parte
Observa-se quais células estão totalmente ocupadas, parcialmente
ocupadas ou vazias
Codifica-se o objeto por uma lista de células ocupadas
É armazenada em forma de árvore
Quadtrees
Formas de Representação
Enumeração Espacial (quadtrees e octrees)
Quadtrees
Formas de Representação
Enumeração Espacial (quadtrees e octrees)
Caso especial de decomposição de células
Sólido é decomposto em células idênticas organizadas
numa grade regular fixa
Estrutura de árvore é organizada de tal maneira que
cada célula corresponde a uma região do espaço 3D
Formas de Representação
Enumeração Espacial (quadtrees e octrees)
cada célula corresponde a uma região do espaço 3D
Células são chamadas de voxels
Sólido descrito por
meio de voxels
dispostos
matricialmente
É feito o controle da presença ou ausência de
uma célula em cada posição
Observa-se quais células estão ocupadas
Codifica-se o objeto por uma lista de células ocupadas
Formas de Representação
Enumeração Espacial (quadtrees e octrees)
Codifica-se o objeto por uma lista de células ocupadas
Conforme o tamanho da grade decresce, a
representação do objeto passa a se assemelhar
a um conjunto de pontos no espaço
Geralmente são armazenados em octrees
Técnica de representação por Octrees
“Árvore com 8 filhos” (caso particular da Enumeração
Espacial)
Envolve o objeto que em seguida é dividido em 8 cubos
menores de igual tamanho, onde cada um é classificado em
Formas de Representação
Enumeração Espacial (quadtrees e octrees)
menores de igual tamanho, onde cada um é classificado em
Cheio, caso o objeto ocupe todo o cubo
Vazio, caso o objeto não ocupe nenhuma parte do cubo
Parcialmente Cheio, caso o objeto ocupe parte do cubo
Quando houver a classificação em "Cheio-Vazio" ele é
novamente dividido em 8 partes iguais e o processo de
classificação é refeito para as novas partes
O algoritmo repete-se até que só hajam cubos das duas
primeiras classes
Octrees
Divide o espaço em quadrantes
Representação esparsa do espaço
Formas de Representação
Enumeração Espacial (quadtrees e octrees)
0 1 2 3 4 5 6 7
23
4 5
67
0 1
Formas de Representação
Enumeração Espacial (quadtrees e octrees)
Formas de Representação
Enumeração Espacial (quadtrees e octrees)
Claudio Esperança e Paulo Roma Cavalcanti
http://www.lcg.ufrj.br/cg/downloads/LCG_Modelagem.ppt
Formas de Representação
Enumeração Espacial (quadtrees e octrees)
Vantagens
É fácil determinar se um dado ponto pertence ou não
ao sólido
É fácil determinar se dois objetos se interferem (se
tocam)
Formas de Representação
Enumeração Espacial (quadtrees e octrees)
tocam)
Facilita a realização de operações de união,
intersecção e diferença entre sólidos
Desvantagem
Uma representação detalhada necessita de muita
memória
Aplicabilidade
Cena
Conjunto de objetos posicionados num sistema de
coordenadas (2D ou 3D)
Pode ser representada por um tipo de tabela, como
ilustra o exemplo abaixo
Formas de Representação
Cenas
ilustra o exemplo abaixo
Cor Outros parâmetrosModelo
Mesa
Mesa
Copo
Copo
Cumbuca
Que outros parâmetros?
Em que SR?
Cena
Conjunto de objetos posicionados num sistema de
coordenadas (2D ou 3D)
Pode ser representada por um tipo de tabela, como
ilustra o exemplo abaixo
Formas de Representação
Cenas
ilustra o exemplo abaixo
Cor Outros parâmetrosModelo
Mesa
Mesa
Copo
Copo
Cumbuca
Vértices, arestas, topologia…
SRU…
Grafo de cena é uma estrutura de dados que
organiza a representação espacial dos objetos
de uma cena
É usado em ferramentas gráficas de edição que
Formas de Representação
Grafo de Cena
É usado em ferramentas gráficas de edição que
trabalham com dados vetoriais, jogos e outras
aplicações interativas
Exemplo: OpenSceneGraph, Java 3D, Open Inventor,
OpenGL Optimizer, AutoCAD e CorelDRAW
Consiste em uma coleção de nodos em um grafo
ou árvore
Um nodo pode ter vários filhos, mas, geralmente, um
único pai
Uma operação aplicada ao pai, será aplicada em todos
Formas de Representação
Grafo de Cena
Uma operação aplicada ao pai, será aplicada em todos
os filhos
Por exemplo:
É possível agrupar objetos relacionados e tratá-los como
se fossem único objeto que pode ser selecionado,
movido, etc
Exemplo
Grafo de cena
conceitual
Formas de Representação
Grafo de Cena
Espaço de armazenagem…
Modelagem
Modelo
objeto destinado a reproduzir
representação em pequena escala daquilo que se
pretende executar em grande escala
Técnicas de Modelagem
pretende executar em grande escala
conjunto de hipóteses sobre a estrutura ou o
comportamento de um sistema físico pelo qual se
procura explicar ou prever, dentro de uma teoria
científica, as propriedades do sistema
Modelar
representar por meio de modelo
assinalar os contornos de
dar forma a
Modelagem computacional
Modelos não são representados fisicamente, são usados
para representar entidades e fenômenos do mundo físico
real no computador
Técnicas de Modelagem
real no computador
As unidades dos dados e parâmetros do modelo
computacional são a referência para as dimensões do
objeto modelado
Modelagem (em Computação Gráfica) consiste em
todo o processo de descrever um modelo, objeto ou
cena, de forma que se possa desenhá-lo
Modelos
Utilizados para representar entidades físicas ou
abstratas e fenômenos no computador (estrutura
e/ou comportamento)
Técnicas de Modelagem
e/ou comportamento)
Permitem a realização de simulações, testes e
previsão do comportamento das entidades
modeladas
Devem incluir apenas as informações essenciais
Modelo geométrico, e/ou
Descrição das propriedades de reflexão e textura, e/ou
Descrição das propriedades elásticas
Projeto e implementação dos modelos é uma
etapa muito importante
Representação adequada das propriedades das
entidades para facilitar o uso e a análise
Técnicas de Modelagem
entidades para facilitar o uso e a análise
Determinar quais informações devem ser incluídas
e como devem ser incluídas
Bom modelo comporta-se como o objeto real
Técnicas de Modelagem
Digitalização e captura
http://www-graphics.stanford.edu/projects/mich/
Útil para a construção de objetos 3D simétricos
Objetos gerados pelo arrastar de uma curva ou
superfície ao longo de uma trajetória no espaço
Geratriz - “forma”
Técnicas de Modelagem
Varredura (Sweeping)
Geratriz - “forma”
Diretriz - “caminho” geratriz
diretrizes
Curva aberta gera superfície
Curva fechada gera sólido
Trajetória (3D) pode ser reta ou curva
Técnicas de Modelagem
Varredura
Trajetória (3D) pode ser reta ou curva
Sweep rotacional
Trajetória é um círculo ao redor de um eixo
Sweep translacional (ou extrusão)
Trajetória é uma linha
Técnicas de Modelagem
Varredura
Técnicas de Modelagem
Varredura
[Hearn 1997]
CSG
Constructive Solid Geometry ou Geometria Sólida
Construtiva
Utiliza sólidos mais simples (primitivas) para
Técnicas de Modelagem
CSG
Utiliza sólidos mais simples (primitivas) para
composição de sólidos mais complexos
Exemplos de primitivas: cubo, cilindro, pirâmide,
esfera e cone
Alguns pacotes permitem a utilização de objetos
curvos
Composição é feita através de operadores
booleanos
União, diferença, intersecção
Técnicas de Modelagem
CSG
Cada objeto é armazenado em uma árvore
Folhas: sólidos primitivos
Nós: operadores booleanos
http://en.wikipedia.org/wiki/Constructive_solid_geometry
Tipo de representação adequada para aplicações
onde a precisão matemática é importante ou
ferramentas CAD que trabalham com construção
de objetos por agrupamento de peças mais simples
(união) ou ainda por desgaste de um bloco inicial
Técnicas de Modelagem
CSG
(união) ou ainda por desgaste de um bloco inicial
(diferença)
Técnicas de Modelagem
CSG
[Lathrop 1997]
Técnicas de Modelagem
CSG
http://en.wikipedia.org/wiki/Constructive_solid_geometry
Técnicas de Modelagem
CSG
[Watt 2000]
Técnicas de Modelagem
CSG
[Watt 2000]
Técnicas de Modelagem
CSG
[Watt 2000]
Sistema define um conjunto de objetos primitivos 3D
Relevantes para a área de aplicação
Podem ser definidos por equações, malhas de polígonos
ou superfícies paramétricas
São parametrizados (tanto em termos de transformações
Técnicas de Modelagem
Instanciamento de Primitivas
São parametrizados (tanto em termos de transformações
geométricas, como em outras propriedades) e agrupados
Ex: VRML (box + sphere + cylinder)
[Ames 1997]
Modelagem Procedural
Engloba métodos alternativos à modelagem geométrica
tradicional
Motivação: representar a complexidade dos objetos do
Técnicas de Modelagem
Modelagem Procedural
Motivação: representar a complexidade dos objetos do
mundo real (forma e comportamento)
Exemplos:
Modelagem Procedural de Terreno Fractal
Modelagem Procedural de Explosões
Modelagem Procedural de Nuvens
Modelagem Procedural de Água
Modelagem Procedural de Fogo
Modelos procedurais podem descrever
Objetos que podem interagir com eventos externos para se
modificarem (exemplos: terreno, vegetação, gases,
líquidos, fogo)
A geometria em função de uma série de parâmetros que
Técnicas de Modelagem
Modelagem Procedural
A geometria em função de uma série de parâmetros que
variam com o tempo (exemplo: explosão)
Modelagem procedural consiste no desenvolvimento
de um procedimento que, baseando-se nos
parâmetros recebidos, irá construir um modelo
Vamos ver dois exemplos
Fractais
Sistemas de Partículas
Exemplos:
http://www.youtube.com/watch?v=_jOWPWbvH5k
http://www.youtube.com/watch?v=rXOa5bWFRKw
Vamos ver dois exemplos
Fractais
Sistemas de Partículas
Técnicas de Modelagem
Modelagem Procedural
Fractais geram imagens fantásticas
Surgiram de uma idéia de revolucionar a tradicional
geometria euclidiana, cujas características são:
Figuras geométricas bem definidas (2D ou 3D)
Técnicas de Modelagem
Fractais
Figuras geométricas bem definidas (2D ou 3D)
Pontos, retas, planos ou sólidos
Não é adequada para modelar objetos naturais tais como
nuvens, montanhas, arbustos e plantas
O matemático Benoit Mandelbrot, através de sua
obra The Fractal Geometry of the Nature¸ criou a
geometria fractal
Geometria fractal
Permite a representação de certos elementos naturais que
possuem características irregulares
Possibilita a criação destes modelos de maneira mais
Técnicas de Modelagem
Fractais
Possibilita a criação destes modelos de maneira mais
realista
Aplicações em diversas áreas, destacando-se a
Computação Gráfica e a Modelagem/Simulação de
elementos naturais
Generalizando, o termo fractal significa tudo que
possui uma medida substancial de similaridade
Principais características dos fractais
Detalhes "infinitos" em cada ponto (dimensão fractal)
Porções menores reproduzem exatamente porções
maiores (auto-similaridade)
Técnicas de Modelagem
Fractais
Exemplo
Fractal representado por uma figura geométrica inicial
(segmento de reta) e uma regra de subdivisão desta figura
(divide em 4 partes e inclina duas delas para formar um
canto)
Exemplos
Floco de neve de Koch
Técnicas de Modelagem
Fractais
Exemplos
Técnicas de Modelagem
Fractais
O conjunto de Mandelbrot é um
exemplo famoso de fractal.
O conjunto de Julia, um fractal
relacionado ao conjunto
Mandelbrot
http://www.gris.uni-tuebingen.de/edu/projects/grdev/doc/html/etc/AppletIndex_en.html#Fractals
Exemplos
Técnicas de Modelagem
Fractais
Aumento do conjunto de Mandelbrot mostra os
pequenos detalhes repetindo o conjunto inteiro
http://pt.wikipedia.org/wiki/Fractal e http://en.wikipedia.org/wiki/Fractal
Exemplos
Modelagem de
terrenos e
montanhas
Técnicas de Modelagem
Fractais
http://www.dcc.uchile.cl/~ekrsulov/cursos/cc52b/
http://pt.wikipedia.org/wiki/Fractal
Exemplos
Técnicas de Modelagem
Fractais
Brócolis: exemplo de um
fractal natural.
Feto fractal: gerado
usando um sistema
de funções iteradas
Sistemas de Partículas
CONCEITO: Conjunto de
partículas cujo
comportamento evolui no
tempo de acordo com
regras algorítmicas com o
objetivo de simular umobjetivo de simular um
fenômeno fuzzy
Sistemas de Partículas
Usado em modelagem, animação e rendering
(dependente da aplicação)
Normalmente:Normalmente:
Coleção de partículas
Atributos definidos estocasticamente
Histórico
William Reeves (1983): primeira aplicação – Fogo
e explosão
Aplicações
Fenômenos naturais: explosões, fogos de artifício,
nuvens, água
Modelagem e deformação geométrica de
superfíciessuperfícies
Modelo de Reeves (1983)
Objetivo: modelar sistemas difusos, como nuvens,
fumaça, água e fogo
Porque as técnicas tradicionais de CG não são
adaptadas a esses fenômenos?
Evolução de partículas de acordo com regras
algorítmicas incluindo aleatoriedade
Porque possui componente estocástico?
Modelo de Reeves (1983)
Vantagens [Reeves 1983]:
Partículas são geometricamente simples
Modelo procedural controlado por processos estocásticos
(poucos parâmetros é possível)
O modelo é dinâmico
As partículas podem ser organizadas em hierarquias emAs partículas podem ser organizadas em hierarquias em
árvores contendo outros sistemas de partículas
Esses sistemas podem nascer, evoluir e morrer em
tempos separados
Modelo de Reeves (1983)
Algoritmo
Para cada quadro
Criar novas partículas
Incluí-las na hierarquia
Definir atributos
Matar partículas velhas
Gerar novos movimentos para as partículas
Gerar uma imagem
Modelo de Reeves (1983)
Algoritmo
Para cada quadro
Criar novas partículas
Incluí-las na hierarquia (E)
Definir atributos (E)
Matar partículas velhas
Gerar novos movimentos para as partículas (E)
Gerar uma imagem
Modelo de Reeves (1983)
(E) define parâmetros que controlam a faixa de validade
dos atributos de forma, aparência e movimento
Por exemplo: n = m + vr
n = número de partículas a serem criadas
m = média de valoresm = média de valores
v = variância
r = variável aleatória distribuída no intervalo [-1;1]
O usuário controla m e v
Modelo de Reeves (1983)
Outros parâmetros:
Posição
Velocidade
Forma
Tamanho
Posição inicial do sistema:
(Numa região)
- Esfera, ponto, box, etc
Tamanho
Cor
Transparência
Tempo de vida
- Esfera, ponto, box, etc
- Orientação
Velocidade = dependente da
gravidade
Nova posição = dependente da
velocidade
Modelo de Reeves (1983)
Porque uma partícula morre?
Tempo de vida: Seu tempo de vida acabou
Baixa intensidade: sua cor não pode ser vista
Fuga do pai (na hierarquia); sai do controleFuga do pai (na hierarquia); sai do controle
Modelo de Reeves (1983)
Rendering
Simplificação possível:
Cada partícula é uma fonte pontual de luz (oclusão)
Performance:Performance:
Dependendo do número de partículas a serem simuladas, não
pode ser em tempo real
Exemplos
Algoritmo de Reeves 1983
Cada partícula é representada por um pixel na
imagem gerada
A cor de cada pixel é o resultado das cores de várias
partículas que estão ativas no mesmo pixelpartículas que estão ativas no mesmo pixel
20000 partículas
20 a 50 frames
Exemplo 1
Partículas são geradas
numa estrutura em disco
circular com velocidades
iniciais. Quando o tempo
de vida termina, elas sãode vida termina, elas são
removidas
Exemplo 2
Partículas são geradas todas próximas a um ponto
no espaço com velocidades iniciais. Quando o
tempo de vida termina, elas são removidas
Exemplo 3
Partículas são geradas numa estrutura quadrada
com velocidades iniciais. Quando o tempo de vida
termina, elas são removidas
Exemplo 4
Partículas são geradas numa estrutura toróide.
Quando o tempo de vida termina, elas são
removidas
Exemplo 5
Partículas são geradas num ponto, porém quando
o tempo de vida termina, elas são reiniciadas
Exemplo 6
Partículas são geradas numa ponto que varia de
posição e quando o tempo de vida termina, elas
são reiniciadas
Exemplo 7
Partículas são geradas em posições randômicas
dentro de um quadrado. Quando terminam, não
são regeneradas
Técnicas de Modelagem
Sistemas de Partículas
Exemplos
(Disponíveis em
http://freespace.virgin.n
et/cole.family/gallery.ht
ml)ml)
Quais técnicas de representação e modelagem podem ser
utilizadas para os objetos abaixo? Justifique.
Exercícios
[Lathrop 1997]
Crie uma quadtree para representar a figura abaixo.
Use uma árvore com no máximo 5 níveis
Exercícios
PINHO, Márcio. S. Modelagem de Sólidos. Disponível em
http://www.inf.pucrs.br/~pinho/CG/Aulas/Modelagem/Modelagem3D.htm.
Esta página também está disponível em
http://www.inf.pucrs.br/cg/Aulas/Modelagem/Modelagem3D.htm.
FOLEY, James D., et al. Computer Graphics: Principles and Practice.
2nd Ed., New York, Addison Wesley, 1990.
Referências
2nd Ed., New York, Addison Wesley, 1990.
HEARN, Donald; BAKER, M. Pauline. Computer Graphics - C Version.
2nd Ed. Upper Saddle River, New Jersey: Prentice Hall, 1997, 652 p.
WATT, Alan. 3D Computer graphics. 3th Ed. Harlow: Addison-Wesley,
2000. 570 p. il.
AMES, Andrea L.; NADEAU, David R.; MORELAND, John L. VRML 2.0
Sourcebook. 2nd Ed. New York: John Wiley, 1997. 654 p.
LATHROP, Olin. The Way Computer Graphics Works. Wiley Computer
Publishing, 1997.

Mais conteúdo relacionado

Semelhante a Teatro ana

Cortes secções 10ª classe
Cortes secções 10ª classeCortes secções 10ª classe
Cortes secções 10ª classeAvatar Cuamba
 
Banco de dados geográfico - Aula de Encerramento
Banco de dados geográfico - Aula de EncerramentoBanco de dados geográfico - Aula de Encerramento
Banco de dados geográfico - Aula de EncerramentoSérgio Souza Costa
 
Eixo, descritores, saeb, direitos de aprendizagem, sugestões de atividades
Eixo, descritores, saeb, direitos de aprendizagem, sugestões de atividadesEixo, descritores, saeb, direitos de aprendizagem, sugestões de atividades
Eixo, descritores, saeb, direitos de aprendizagem, sugestões de atividadesweleslima
 

Semelhante a Teatro ana (8)

06 modelagem
06   modelagem06   modelagem
06 modelagem
 
Cortes secções 10ª classe
Cortes secções 10ª classeCortes secções 10ª classe
Cortes secções 10ª classe
 
Banco de dados geográfico - Aula de Encerramento
Banco de dados geográfico - Aula de EncerramentoBanco de dados geográfico - Aula de Encerramento
Banco de dados geográfico - Aula de Encerramento
 
Apostila funcoes
Apostila funcoesApostila funcoes
Apostila funcoes
 
DESENHO_TECNICO.pptx
DESENHO_TECNICO.pptxDESENHO_TECNICO.pptx
DESENHO_TECNICO.pptx
 
Descritores
DescritoresDescritores
Descritores
 
Notas De Aula
Notas De AulaNotas De Aula
Notas De Aula
 
Eixo, descritores, saeb, direitos de aprendizagem, sugestões de atividades
Eixo, descritores, saeb, direitos de aprendizagem, sugestões de atividadesEixo, descritores, saeb, direitos de aprendizagem, sugestões de atividades
Eixo, descritores, saeb, direitos de aprendizagem, sugestões de atividades
 

Último

PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfHELENO FAVACHO
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfFrancisco Márcio Bezerra Oliveira
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfcomercial400681
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaHELENO FAVACHO
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfHELENO FAVACHO
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfHELENO FAVACHO
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTailsonSantos1
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecniCleidianeCarvalhoPer
 
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffffSSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffffNarlaAquino
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxLuizHenriquedeAlmeid6
 
Aula de jornada de trabalho - reforma.ppt
Aula de jornada de trabalho - reforma.pptAula de jornada de trabalho - reforma.ppt
Aula de jornada de trabalho - reforma.pptPedro Luis Moraes
 
Seminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptxSeminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptxReinaldoMuller1
 
migração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenosmigração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenosLucianoPrado15
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxLuizHenriquedeAlmeid6
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxTailsonSantos1
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptssuser2b53fe
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxAntonioVieira539017
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptxJssicaCassiano2
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...HELENO FAVACHO
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...andreiavys
 

Último (20)

PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecni
 
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffffSSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
 
Aula de jornada de trabalho - reforma.ppt
Aula de jornada de trabalho - reforma.pptAula de jornada de trabalho - reforma.ppt
Aula de jornada de trabalho - reforma.ppt
 
Seminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptxSeminário Biologia e desenvolvimento da matrinxa.pptx
Seminário Biologia e desenvolvimento da matrinxa.pptx
 
migração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenosmigração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenos
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptxResponde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
Responde ou passa na HISTÓRIA - REVOLUÇÃO INDUSTRIAL - 8º ANO.pptx
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
 

Teatro ana

  • 1. Representação deRepresentação de Objetos e CenasObjetos e Cenas Soraia Musse
  • 2. Roteiro 1. Formas de Representação 1.1. Vetorial x Matricial 1.2. Enumeração Espacial 1.3. Representação Aramada 1.4. Superfícies Limitantes 1.5. Representação Paramétrica 1.6. Grafo de Cena1.6. Grafo de Cena 2. Técnicas de Modelagem 3D 2.1. Varredura 2.2. CSG 2.3. Instanciamento de Primitivas 2.4. Fractais 2.5. Sistemas de Partículas OBS.: Estes slides foram elaborados a partir do material dos profs. Márcio Pinho, Marcelo Cohen, Carla Freitas, Silvia Olabarriaga e Luciana Nedel além de Isabel Manssour
  • 4. Mas, representar o que? E porque?E porque?
  • 5. Modelagem Geométrica Área da Computação Gráfica que estuda a criação de modelos dos objetos reais Como descrever/representar FORMA dos objetos (largura, altura, áreas,...)(largura, altura, áreas,...) Coleção de Métodos Matemáticos
  • 6. Objetivos Criar modelos de objetos, existentes ou ainda não existentes
  • 8.
  • 9.
  • 10.
  • 11. Exemplo de projeto Como converter a idéia para o computador? Representação da Lâmpada Idéia de Lâmpada Fácil de modificar Fácil de especificar
  • 12. Áreas de Aplicação Precisão/Exatidão Matemática CAD/CAM Indústria em Geral Precisão VisualPrecisão Visual Entretenimento em geral Jogos Várias representações para o mesmo objeto (Level-of-Detail)
  • 13. Dois tópicos de estudo Formas de armazenamento dos objetos 3D Técnicas de modelagem dos objetos 3D Formas de RepresentaçãoFormas de Representação (ou armazenamento ) Formas de Representação Formas de RepresentaçãoFormas de Representação (ou armazenamento ) Trata das estruturas de dados utilizadas X Técnicas de ModelagemTécnicas de Modelagem Trata das técnicas interativas ou não (e também das interfaces) que podem ser usadas para criar um objeto
  • 14. Existem várias formas de representação e modelagem de objetos 3D Cada uma possui vantagens e desvantagens Adaptam-se melhor para uma aplicação específica Formas de Representação Adaptam-se melhor para uma aplicação específica Dependem da natureza dos objetos e das operações/consultas que serão realizadas
  • 15. Em algumas técnicas a estrutura de dados para armazenar objetos é determinada pela técnica de modelagem Formas de Representação Em geral a forma de representação determina: A estrutura de dados, a forma dos algoritmos de processamento, e o projeto de programas de baixo nível O custo do processamento de um objeto A aparência final de um objeto A facilidade de alterar a forma de um objeto
  • 16. Revisão: Vetorial x Matricial Formas de Representação matriz de pontos coordenadas e primitivas gráficas
  • 18. Formas de Representação Superfícies apenas área cascas infinitesimalmente finas, ocasocas abertas ou fechadas
  • 19. Formas de Representação Sólidos o interior também interessa Teapot (Martin Newell 1975) Computer History Museum in Mountain View, California where it is catalogued as "Teapot used for Computer Graphics rendering"
  • 20. Estruturas de dados mais utilizadas na Computação Gráfica 2D para armazenamento de modelos Vetores, listas e tabelas Formas de Representação Representação Aramada Vetores, listas e tabelas Exemplos:
  • 21. Duas listas Vértices Arestas Formas de Representação Representação Aramada 1 2 3 4 x1,y1 x2,y2 1,2 1,3 1 2 x2,y2 x3,y3 x4,y4 ... 1,3 3,4 2,4 ... vértices (geometria) arestas (topologia) 2 3 4
  • 22. Crie a estrutura de dados dos pontos vermelhos do objeto abaixo: Exercício 1 2 3 45 6 Vértice 1 4 vértices (geometria) arestas (topologia) 5 6 7 8 9 10 11 12 Vértice 2 Vértice 3 Vértice 4
  • 23. Crie a estrutura de dados dos pontos vermelhos do objeto abaixo: Exercício 1 2 3 45 6 4,8 2,7 7,4 4,8 4 74 vértices (geometria) arestas (topologia) 5 6 7 8 9 10 11 12 2,7 5,7 4,5 4,8 8,9 9,7 7 8 9
  • 24. Representação aramada Representação de um objeto somente através de suas arestas A visualização de objetos aramados é usada Formas de Representação Representação Aramada A visualização de objetos aramados é usada quando não é necessário um grande grau de realismo Durante criação e manipulação do modelo/cena Facilita a alteração (rápido de visualizar) Conjunto de vértices e arestas (objetos “vazados”) Wireframe = aramado
  • 25. Exemplos: Formas de Representação Representação Aramada arestas v1 v2 v3 vértices v5 v4 Topologia (arestas) 1 v1 v2 2 v1 v3 3 v1 v4 4 v1 v5 5 v2 v3 6 v3 v4 7 v4 v5 8 v5 v2 Geometria (vértices) 1 (v1) x1 y1 z1 2 (v2) x2 y2 z2 3 (v3) x3 y3 z3 4 (v4) x4 y4 z4 5 (v5) x5 y5 z5
  • 26. Vantagem Rapidez Desvantagens Difícil de entender/visualizar Formas de Representação Representação Aramada Difícil de entender/visualizar Difícil (ou até impossível) realizar certas operações, tais como a determinação de massa, volume, inclusão ou edição de pontos Impreciso (representação ambígua)
  • 27. Superfícies Limitantes (ou Boundary- Representation ou B-Rep) Informalmente chamada de malha de polígonos Forma de representação clássica na Computação Gráfica 3D Formas de Representação Superfícies Limitantes 3D Um objeto representado por um conjunto de polígonos (ou faces) que delimitam uma região fechada do espaço (limite ou superfície do objeto) Representa uma superfície discretizada por faces planas Podem ser triângulos (preferencialmente) ou quadrados O objeto formado por esta técnica é normalmente chamado de POLIEDRO, ou seja, composto de muitos DIEDROS (diedro = semi-espaço)
  • 28. A superfície limitante de um sólido separa os pontos de dentro do sólido dos pontos de fora Interface entre o sólido e o ambiente a sua volta Características visuais do sólido tais como reflexão, transparência, textura e cor são características dessa Formas de Representação Superfícies Limitantes transparência, textura e cor são características dessa superfície [Watt 2000]
  • 29. Estrutura de dados mais utilizada: Tabela de vértices e tabela de faces Problemas Aproximação de superfícies curvas Grande espaço para armazenamento Formas de Representação Superfícies Limitantes Grande espaço para armazenamento Exemplo http://www.frontiernet.net/~imaging/java3dviewer.html
  • 30. Exemplo: VRML Tabela de vértices Tabela de faces Formas de Representação Superfícies Limitantes coord Coordinate { point [ # lista de Vértices 0 10 0, # vértice 0 -5 0 5, # vértice 1 5 0 5, # vértice 2 5 0 -5, # vértice 3 -5 0 -5, # vértice 4 ] coordIndex [ # lista de Faces 4, 3, 2, 1 -1, # Base (formada pelos vértices 4, 3,2 e 1) 0, 1, 2, -1, # Frontal 0, 2, 3, -1, # Direita 0, 3, 4, -1, # Traseira 0, 4, 1, -1 # Esquerda ]
  • 31. VRML #VRML V2.0 utf8 # -------------------------------------------------------- # Desenho de um paralelepípedo Amarelo # -------------------------------------------------------- Shape { # define um bloco de um objeto (Shape) appearance Appearance { # define a aparência do Shapeappearance Appearance { # define a aparência do Shape material Material { diffuseColor 1.0 1.0 0.0 # r g b } } geometry Box { # define a geometria do Shape size 2.5 2.5 5.0 # larg, altura, prof } } # fim do shape
  • 32. Nos últimos anos tem se trabalhado com diferentes níveis de detalhes LOD – Level of Detail Conforme a distância da câmera a um modelo aumenta, o espaço que ele ocupa na janela diminui, por Formas de Representação Superfícies Limitantes aumenta, o espaço que ele ocupa na janela diminui, por isso, o detalhe com que é visualizado também diminui Pode-se definir diversas representações para um objeto que são “ativadas” de acordo com a distância da câmera (ou observador)
  • 33. LOD – Superfícies de Subdivisão
  • 34. Algoritmo de SS: Chaikin Corner Cutting
  • 36. Efeito: Suavização de Superfícies 3D Studio Max
  • 37. Grande aplicação em Animação Pixar/Disney
  • 38. Quadtrees são usadas para o armazenamento de objetos 2D Divide-se o plano onde está o objeto em 4 partes iguais e classifica-se cada parte Formas de Representação Enumeração Espacial (quadtrees e octrees) classifica-se cada parte Observa-se quais células estão totalmente ocupadas, parcialmente ocupadas ou vazias Codifica-se o objeto por uma lista de células ocupadas É armazenada em forma de árvore
  • 39. Quadtrees Formas de Representação Enumeração Espacial (quadtrees e octrees)
  • 40. Quadtrees Formas de Representação Enumeração Espacial (quadtrees e octrees)
  • 41. Caso especial de decomposição de células Sólido é decomposto em células idênticas organizadas numa grade regular fixa Estrutura de árvore é organizada de tal maneira que cada célula corresponde a uma região do espaço 3D Formas de Representação Enumeração Espacial (quadtrees e octrees) cada célula corresponde a uma região do espaço 3D Células são chamadas de voxels Sólido descrito por meio de voxels dispostos matricialmente
  • 42. É feito o controle da presença ou ausência de uma célula em cada posição Observa-se quais células estão ocupadas Codifica-se o objeto por uma lista de células ocupadas Formas de Representação Enumeração Espacial (quadtrees e octrees) Codifica-se o objeto por uma lista de células ocupadas Conforme o tamanho da grade decresce, a representação do objeto passa a se assemelhar a um conjunto de pontos no espaço Geralmente são armazenados em octrees
  • 43. Técnica de representação por Octrees “Árvore com 8 filhos” (caso particular da Enumeração Espacial) Envolve o objeto que em seguida é dividido em 8 cubos menores de igual tamanho, onde cada um é classificado em Formas de Representação Enumeração Espacial (quadtrees e octrees) menores de igual tamanho, onde cada um é classificado em Cheio, caso o objeto ocupe todo o cubo Vazio, caso o objeto não ocupe nenhuma parte do cubo Parcialmente Cheio, caso o objeto ocupe parte do cubo Quando houver a classificação em "Cheio-Vazio" ele é novamente dividido em 8 partes iguais e o processo de classificação é refeito para as novas partes O algoritmo repete-se até que só hajam cubos das duas primeiras classes
  • 44. Octrees Divide o espaço em quadrantes Representação esparsa do espaço Formas de Representação Enumeração Espacial (quadtrees e octrees) 0 1 2 3 4 5 6 7 23 4 5 67 0 1
  • 45. Formas de Representação Enumeração Espacial (quadtrees e octrees)
  • 46. Formas de Representação Enumeração Espacial (quadtrees e octrees) Claudio Esperança e Paulo Roma Cavalcanti http://www.lcg.ufrj.br/cg/downloads/LCG_Modelagem.ppt
  • 47. Formas de Representação Enumeração Espacial (quadtrees e octrees)
  • 48. Vantagens É fácil determinar se um dado ponto pertence ou não ao sólido É fácil determinar se dois objetos se interferem (se tocam) Formas de Representação Enumeração Espacial (quadtrees e octrees) tocam) Facilita a realização de operações de união, intersecção e diferença entre sólidos Desvantagem Uma representação detalhada necessita de muita memória Aplicabilidade
  • 49. Cena Conjunto de objetos posicionados num sistema de coordenadas (2D ou 3D) Pode ser representada por um tipo de tabela, como ilustra o exemplo abaixo Formas de Representação Cenas ilustra o exemplo abaixo Cor Outros parâmetrosModelo Mesa Mesa Copo Copo Cumbuca Que outros parâmetros? Em que SR?
  • 50. Cena Conjunto de objetos posicionados num sistema de coordenadas (2D ou 3D) Pode ser representada por um tipo de tabela, como ilustra o exemplo abaixo Formas de Representação Cenas ilustra o exemplo abaixo Cor Outros parâmetrosModelo Mesa Mesa Copo Copo Cumbuca Vértices, arestas, topologia… SRU…
  • 51. Grafo de cena é uma estrutura de dados que organiza a representação espacial dos objetos de uma cena É usado em ferramentas gráficas de edição que Formas de Representação Grafo de Cena É usado em ferramentas gráficas de edição que trabalham com dados vetoriais, jogos e outras aplicações interativas Exemplo: OpenSceneGraph, Java 3D, Open Inventor, OpenGL Optimizer, AutoCAD e CorelDRAW
  • 52. Consiste em uma coleção de nodos em um grafo ou árvore Um nodo pode ter vários filhos, mas, geralmente, um único pai Uma operação aplicada ao pai, será aplicada em todos Formas de Representação Grafo de Cena Uma operação aplicada ao pai, será aplicada em todos os filhos Por exemplo: É possível agrupar objetos relacionados e tratá-los como se fossem único objeto que pode ser selecionado, movido, etc
  • 53. Exemplo Grafo de cena conceitual Formas de Representação Grafo de Cena
  • 55. Modelagem Modelo objeto destinado a reproduzir representação em pequena escala daquilo que se pretende executar em grande escala Técnicas de Modelagem pretende executar em grande escala conjunto de hipóteses sobre a estrutura ou o comportamento de um sistema físico pelo qual se procura explicar ou prever, dentro de uma teoria científica, as propriedades do sistema Modelar representar por meio de modelo assinalar os contornos de dar forma a
  • 56. Modelagem computacional Modelos não são representados fisicamente, são usados para representar entidades e fenômenos do mundo físico real no computador Técnicas de Modelagem real no computador As unidades dos dados e parâmetros do modelo computacional são a referência para as dimensões do objeto modelado Modelagem (em Computação Gráfica) consiste em todo o processo de descrever um modelo, objeto ou cena, de forma que se possa desenhá-lo
  • 57. Modelos Utilizados para representar entidades físicas ou abstratas e fenômenos no computador (estrutura e/ou comportamento) Técnicas de Modelagem e/ou comportamento) Permitem a realização de simulações, testes e previsão do comportamento das entidades modeladas Devem incluir apenas as informações essenciais Modelo geométrico, e/ou Descrição das propriedades de reflexão e textura, e/ou Descrição das propriedades elásticas
  • 58. Projeto e implementação dos modelos é uma etapa muito importante Representação adequada das propriedades das entidades para facilitar o uso e a análise Técnicas de Modelagem entidades para facilitar o uso e a análise Determinar quais informações devem ser incluídas e como devem ser incluídas Bom modelo comporta-se como o objeto real
  • 59. Técnicas de Modelagem Digitalização e captura http://www-graphics.stanford.edu/projects/mich/
  • 60. Útil para a construção de objetos 3D simétricos Objetos gerados pelo arrastar de uma curva ou superfície ao longo de uma trajetória no espaço Geratriz - “forma” Técnicas de Modelagem Varredura (Sweeping) Geratriz - “forma” Diretriz - “caminho” geratriz diretrizes
  • 61. Curva aberta gera superfície Curva fechada gera sólido Trajetória (3D) pode ser reta ou curva Técnicas de Modelagem Varredura Trajetória (3D) pode ser reta ou curva Sweep rotacional Trajetória é um círculo ao redor de um eixo Sweep translacional (ou extrusão) Trajetória é uma linha
  • 64. CSG Constructive Solid Geometry ou Geometria Sólida Construtiva Utiliza sólidos mais simples (primitivas) para Técnicas de Modelagem CSG Utiliza sólidos mais simples (primitivas) para composição de sólidos mais complexos Exemplos de primitivas: cubo, cilindro, pirâmide, esfera e cone Alguns pacotes permitem a utilização de objetos curvos
  • 65. Composição é feita através de operadores booleanos União, diferença, intersecção Técnicas de Modelagem CSG Cada objeto é armazenado em uma árvore Folhas: sólidos primitivos Nós: operadores booleanos http://en.wikipedia.org/wiki/Constructive_solid_geometry
  • 66. Tipo de representação adequada para aplicações onde a precisão matemática é importante ou ferramentas CAD que trabalham com construção de objetos por agrupamento de peças mais simples (união) ou ainda por desgaste de um bloco inicial Técnicas de Modelagem CSG (união) ou ainda por desgaste de um bloco inicial (diferença)
  • 72. Sistema define um conjunto de objetos primitivos 3D Relevantes para a área de aplicação Podem ser definidos por equações, malhas de polígonos ou superfícies paramétricas São parametrizados (tanto em termos de transformações Técnicas de Modelagem Instanciamento de Primitivas São parametrizados (tanto em termos de transformações geométricas, como em outras propriedades) e agrupados Ex: VRML (box + sphere + cylinder) [Ames 1997]
  • 73. Modelagem Procedural Engloba métodos alternativos à modelagem geométrica tradicional Motivação: representar a complexidade dos objetos do Técnicas de Modelagem Modelagem Procedural Motivação: representar a complexidade dos objetos do mundo real (forma e comportamento) Exemplos: Modelagem Procedural de Terreno Fractal Modelagem Procedural de Explosões Modelagem Procedural de Nuvens Modelagem Procedural de Água Modelagem Procedural de Fogo
  • 74. Modelos procedurais podem descrever Objetos que podem interagir com eventos externos para se modificarem (exemplos: terreno, vegetação, gases, líquidos, fogo) A geometria em função de uma série de parâmetros que Técnicas de Modelagem Modelagem Procedural A geometria em função de uma série de parâmetros que variam com o tempo (exemplo: explosão) Modelagem procedural consiste no desenvolvimento de um procedimento que, baseando-se nos parâmetros recebidos, irá construir um modelo Vamos ver dois exemplos Fractais Sistemas de Partículas
  • 76. Vamos ver dois exemplos Fractais Sistemas de Partículas Técnicas de Modelagem Modelagem Procedural
  • 77. Fractais geram imagens fantásticas Surgiram de uma idéia de revolucionar a tradicional geometria euclidiana, cujas características são: Figuras geométricas bem definidas (2D ou 3D) Técnicas de Modelagem Fractais Figuras geométricas bem definidas (2D ou 3D) Pontos, retas, planos ou sólidos Não é adequada para modelar objetos naturais tais como nuvens, montanhas, arbustos e plantas O matemático Benoit Mandelbrot, através de sua obra The Fractal Geometry of the Nature¸ criou a geometria fractal
  • 78. Geometria fractal Permite a representação de certos elementos naturais que possuem características irregulares Possibilita a criação destes modelos de maneira mais Técnicas de Modelagem Fractais Possibilita a criação destes modelos de maneira mais realista Aplicações em diversas áreas, destacando-se a Computação Gráfica e a Modelagem/Simulação de elementos naturais Generalizando, o termo fractal significa tudo que possui uma medida substancial de similaridade
  • 79. Principais características dos fractais Detalhes "infinitos" em cada ponto (dimensão fractal) Porções menores reproduzem exatamente porções maiores (auto-similaridade) Técnicas de Modelagem Fractais Exemplo Fractal representado por uma figura geométrica inicial (segmento de reta) e uma regra de subdivisão desta figura (divide em 4 partes e inclina duas delas para formar um canto)
  • 80. Exemplos Floco de neve de Koch Técnicas de Modelagem Fractais
  • 81. Exemplos Técnicas de Modelagem Fractais O conjunto de Mandelbrot é um exemplo famoso de fractal. O conjunto de Julia, um fractal relacionado ao conjunto Mandelbrot http://www.gris.uni-tuebingen.de/edu/projects/grdev/doc/html/etc/AppletIndex_en.html#Fractals
  • 82. Exemplos Técnicas de Modelagem Fractais Aumento do conjunto de Mandelbrot mostra os pequenos detalhes repetindo o conjunto inteiro http://pt.wikipedia.org/wiki/Fractal e http://en.wikipedia.org/wiki/Fractal
  • 83. Exemplos Modelagem de terrenos e montanhas Técnicas de Modelagem Fractais http://www.dcc.uchile.cl/~ekrsulov/cursos/cc52b/ http://pt.wikipedia.org/wiki/Fractal
  • 84. Exemplos Técnicas de Modelagem Fractais Brócolis: exemplo de um fractal natural. Feto fractal: gerado usando um sistema de funções iteradas
  • 85. Sistemas de Partículas CONCEITO: Conjunto de partículas cujo comportamento evolui no tempo de acordo com regras algorítmicas com o objetivo de simular umobjetivo de simular um fenômeno fuzzy
  • 86. Sistemas de Partículas Usado em modelagem, animação e rendering (dependente da aplicação) Normalmente:Normalmente: Coleção de partículas Atributos definidos estocasticamente
  • 87. Histórico William Reeves (1983): primeira aplicação – Fogo e explosão
  • 88. Aplicações Fenômenos naturais: explosões, fogos de artifício, nuvens, água Modelagem e deformação geométrica de superfíciessuperfícies
  • 89. Modelo de Reeves (1983) Objetivo: modelar sistemas difusos, como nuvens, fumaça, água e fogo Porque as técnicas tradicionais de CG não são adaptadas a esses fenômenos? Evolução de partículas de acordo com regras algorítmicas incluindo aleatoriedade Porque possui componente estocástico?
  • 90. Modelo de Reeves (1983) Vantagens [Reeves 1983]: Partículas são geometricamente simples Modelo procedural controlado por processos estocásticos (poucos parâmetros é possível) O modelo é dinâmico As partículas podem ser organizadas em hierarquias emAs partículas podem ser organizadas em hierarquias em árvores contendo outros sistemas de partículas Esses sistemas podem nascer, evoluir e morrer em tempos separados
  • 91. Modelo de Reeves (1983) Algoritmo Para cada quadro Criar novas partículas Incluí-las na hierarquia Definir atributos Matar partículas velhas Gerar novos movimentos para as partículas Gerar uma imagem
  • 92. Modelo de Reeves (1983) Algoritmo Para cada quadro Criar novas partículas Incluí-las na hierarquia (E) Definir atributos (E) Matar partículas velhas Gerar novos movimentos para as partículas (E) Gerar uma imagem
  • 93. Modelo de Reeves (1983) (E) define parâmetros que controlam a faixa de validade dos atributos de forma, aparência e movimento Por exemplo: n = m + vr n = número de partículas a serem criadas m = média de valoresm = média de valores v = variância r = variável aleatória distribuída no intervalo [-1;1] O usuário controla m e v
  • 94. Modelo de Reeves (1983) Outros parâmetros: Posição Velocidade Forma Tamanho Posição inicial do sistema: (Numa região) - Esfera, ponto, box, etc Tamanho Cor Transparência Tempo de vida - Esfera, ponto, box, etc - Orientação Velocidade = dependente da gravidade Nova posição = dependente da velocidade
  • 95. Modelo de Reeves (1983) Porque uma partícula morre? Tempo de vida: Seu tempo de vida acabou Baixa intensidade: sua cor não pode ser vista Fuga do pai (na hierarquia); sai do controleFuga do pai (na hierarquia); sai do controle
  • 96. Modelo de Reeves (1983) Rendering Simplificação possível: Cada partícula é uma fonte pontual de luz (oclusão) Performance:Performance: Dependendo do número de partículas a serem simuladas, não pode ser em tempo real
  • 97. Exemplos Algoritmo de Reeves 1983 Cada partícula é representada por um pixel na imagem gerada A cor de cada pixel é o resultado das cores de várias partículas que estão ativas no mesmo pixelpartículas que estão ativas no mesmo pixel 20000 partículas 20 a 50 frames
  • 98. Exemplo 1 Partículas são geradas numa estrutura em disco circular com velocidades iniciais. Quando o tempo de vida termina, elas sãode vida termina, elas são removidas
  • 99. Exemplo 2 Partículas são geradas todas próximas a um ponto no espaço com velocidades iniciais. Quando o tempo de vida termina, elas são removidas
  • 100. Exemplo 3 Partículas são geradas numa estrutura quadrada com velocidades iniciais. Quando o tempo de vida termina, elas são removidas
  • 101. Exemplo 4 Partículas são geradas numa estrutura toróide. Quando o tempo de vida termina, elas são removidas
  • 102. Exemplo 5 Partículas são geradas num ponto, porém quando o tempo de vida termina, elas são reiniciadas
  • 103. Exemplo 6 Partículas são geradas numa ponto que varia de posição e quando o tempo de vida termina, elas são reiniciadas
  • 104. Exemplo 7 Partículas são geradas em posições randômicas dentro de um quadrado. Quando terminam, não são regeneradas
  • 105. Técnicas de Modelagem Sistemas de Partículas Exemplos (Disponíveis em http://freespace.virgin.n et/cole.family/gallery.ht ml)ml)
  • 106. Quais técnicas de representação e modelagem podem ser utilizadas para os objetos abaixo? Justifique. Exercícios [Lathrop 1997]
  • 107. Crie uma quadtree para representar a figura abaixo. Use uma árvore com no máximo 5 níveis Exercícios
  • 108. PINHO, Márcio. S. Modelagem de Sólidos. Disponível em http://www.inf.pucrs.br/~pinho/CG/Aulas/Modelagem/Modelagem3D.htm. Esta página também está disponível em http://www.inf.pucrs.br/cg/Aulas/Modelagem/Modelagem3D.htm. FOLEY, James D., et al. Computer Graphics: Principles and Practice. 2nd Ed., New York, Addison Wesley, 1990. Referências 2nd Ed., New York, Addison Wesley, 1990. HEARN, Donald; BAKER, M. Pauline. Computer Graphics - C Version. 2nd Ed. Upper Saddle River, New Jersey: Prentice Hall, 1997, 652 p. WATT, Alan. 3D Computer graphics. 3th Ed. Harlow: Addison-Wesley, 2000. 570 p. il. AMES, Andrea L.; NADEAU, David R.; MORELAND, John L. VRML 2.0 Sourcebook. 2nd Ed. New York: John Wiley, 1997. 654 p. LATHROP, Olin. The Way Computer Graphics Works. Wiley Computer Publishing, 1997.