Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

COMPUTAÇÃO 
GRÁFICA E 
PROCESSAMENTO 
DE IMAGENS
OBJETIVOS DE APRENDIZAGEM
 > Apresentar os sólidos uni, bi e tridimensionais.
 > Descrever a representação de objetos por meio de faces poligonais e objetos 
tridimensionais.
 > Analisar as diferentes formas de representação dos objetos.
Introdução
O desenvolvimento de objetos gráficos depende da modelagem matemática dos 
objetos presentes no mundo físico, em que você vive. Esse processo inicia com 
a observação do mundo físico, passa para a aplicação de modelos matemáticos 
e resulta na representação de objetos, que precisam ser armazenados em uma 
estrutura de dados (GOMES; VELHO, 2015).
Para representar graficamente uma bola ou uma caixa, por exemplo, é ne-
cessário primeiro criar um modelo usando valores, ângulos, vetores e fórmulas 
matemáticas. De acordo com o objeto a ser representado, ou criado somente para 
o espaço tridimensional digital, sua forma de representação pode variar. 
Neste capítulo, você vai estudar os conceitos de sólidos uni, bi e tridimensionais, 
bem como conhecer as representações de objetos que utilizam faces poligonais 
e objetos tridimensionais. Por fim, vai ver as diferentes formas de representação 
dos objetos.
Objetos e cenas 
tridimensionais
Roni Francisco Pichetti
Sólidos, uni, bi e tridimensionais
Na área da computação gráfica, a modelagem de sólidos se trata de um 
conjunto de teorias, técnicas e sistemas que possibilitam criar um sólido com 
suas propriedades geométricas (AZEVEDO; CONCI; VASCONCELOS, 2022). Os 
sólidos, também chamados de objetos volumétricos, podem ser utilizados 
em diferentes áreas do conhecimento, como na saúde. Equipamentos de 
ressonância magnética, de uso médico, medem e calculam a profundidade 
de uma cena, por exemplo. Sólidos também são úteis para representar a 
descrição de peças mecânicas por meio de imagens tridimensionais (GOMES; 
VELHO, 2015). Um exemplo de sólido é apresentado na Figura 1.
Figura 1. Representação tridimensional de três engrenagens.
Fonte: Pixabay.com/TheDigitalArtist. 
Em computação gráfica, sólido é tudo aquilo que tem uma forma própria, 
um subconjunto fechado e limitado do espaço tridimensional. Nesse caso, 
fechado se refere à teoria de conjuntos: um corpo ou qualquer objeto é 
chamado de fechado quando tem todos os seus pontos de contorno. Por 
exemplo, seu corpo tem uma pele, que limita o que faz parte dele e onde 
começa o mundo exterior. É o mesmo que acontece com o sólido. Ele tem 
“bordas” bem delimitadas, que definem seu início e seu fim. Já limitado se 
refere ao sólido que tem uma dimensão finita, ou seja, ele não é infinito 
(AZEVEDO; CONCI; VASCONCELOS, 2022).
Sólidos são semelhantes a uma imagem, mas carregam informações geo-
métricas e topológicas de objetos do espaço. Por isso, precisam de técnicas 
Objetos e cenas tridimensionais2
como o processamento digital de geometria, útil para descrever os diferentes 
métodos e técnicas necessárias para resolver problemas que envolvam objetos 
gráficos sólidos (GOMES; VELHO, 2015).
Para saber mais sobre o processamento digital de geometria de 
imagens, leia o artigo “Contagem de objetos utilizando técnicas de 
processamento digital de imagem: morfologia matemática”, de Sousa et al., 
publicado em 2020.
Depois de você entender a definição de sólido, é importante esclarecer 
mais alguns pontos. Na maioria das vezes, o sólido é utilizado para dar a 
ideia de algo tridimensional (3D), de um objeto que existe no mundo físico 
e que é palpável. Mesmo assim, há sólidos que podem ser considerados 
unidimensionais (1D), como um fio, ou bidimensionais (2D), como folhas de 
metal ou de papel (AZEVEDO; CONCI; VASCONCELOS, 2022).
Há momentos em que um próprio objeto em 3D em uma cena ou animação 
gráfica pode ser considerado 2D, quando uma de suas dimensões não for 
considerada, seja por não acontecer nada nela, seja por ter tamanho des-
prezível, como no caso em que a dimensão for 100 vezes menor do que as 
demais. O mesmo pode acontecer se for considerada apenas uma dimensão 
de um objeto 3D, caso uma dimensão concentre as informações necessárias 
para a cena, ou as outras duas sejam muito pequenas em relação à primeira 
(AZEVEDO; CONCI; VASCONCELOS, 2022). 
Existem, portanto, sólidos uni, bi e tridimensionais. Porém geralmente os 
sólidos uni ou bidimensionais representam parte de um objeto sólido que 
em sua totalidade tem três dimensões, exceto se a cena em 3D necessitar 
de sólidos como fios em 1D ou folhas em 2D, por exemplo. Veja na Figura 2 
um exemplo de sólido unidimensional (linha reta), bidimensional (quadrado 
visto de cima) e tridimensional (cubo).
Figura 2. Exemplo de sólido uni, bi e tridimensional.
Objetos e cenas tridimensionais 3
Além de sólidos, é possível modelar líquidos, gazes, materiais flexíveis 
e outras coisas sem uma forma única e própria (roupas, tecidos, plásticos e 
outros) por meio da computação gráfica. Esses modelos estão em constante 
desenvolvimento e pesquisa (AZEVEDO; CONCI; VASCONCELOS, 2022).
A modelagem de sólidos envolve a geração de objetos que, mesmo que 
não sejam reais, possam ser construídos ou virem a existir no mundo físico. 
Por isso, não são simples desenhos. Essa característica considera o desen-
volvimento de sólidos realizáveis (REIS; JOSÉ, 2014).
Para conhecer um exemplo de sólido não realizável, busque em seu 
navegador pelos termos “garrafa de Klein” e “Secretaria da educação 
e do esporte do Paraná” e acesse o vídeo disponível na página. 
Criada pelo matemático Felix Klein, em 1884, a garrafa de Klein é uma superfície 
não orientável, fechada, resultante da identificação dos bordos de duas Faixas de 
Möbius, uma com uma semi-torção à direita e outra com uma semitorção à esquerda. 
Sendo uma superfície em que se pode mover de fora para dentro e vice-versa sem 
que se mude de superfície (PARANÁ, 2019, documento on-line).
Em outras palavras, ao modelar um sólido em computação gráfica, são 
considerados vários fatores para que ele realmente seja fechado e limitado 
e que possa ser construído de alguma forma, seja por meio de impressoras 
de objetos 3D, seja com a utilização desses sólidos gráficos em projetos de 
arquitetura ou engenharia, por exemplo.
As principais propriedades que precisam ser levadas em conta para mo-
delar um sólido realizável são apresentadas no Quadro 1.
Quadro 1. Propriedades de sólidos realizáveis
Propriedade Descrição
Rigidez Não pode variar, independentemente de sua localização e 
orientação no espaço.
Finitude Deve ter dimensões finitas em uma porção do espaço 
(limitado).
Homogeneidade Deve ter as mesmas propriedades em todos os seus 
pontos.
Determinismo 
de limites
Deve ser possível descrever o limite, interior e exterior do 
objeto (fechado).
(Continua)
Objetos e cenas tridimensionais4
Propriedade Descrição
Descritibilidade Deve ser descrito por um determinado número de 
características (físicas, químicas, biológicas, etc.).
Fechamento de 
operações
Sua utilização em operações geométricas deve resultar em 
um objeto válido.
Fonte: Adaptado de Azevedo, Conci e Vasconcelos (2022).
A propriedade da rigidez garante que o sólido realizável não varie, mesmo 
que passe por transformações geométricas, como rotação e translação, ou 
se houver alguma mudança nos sistemas de coordenadas (AZEVEDO; CONCI; 
VASCONCELOS, 2022). É importante deixar claro que a translação tem como 
característica adicionar valores às coordenadas originais de um objeto, para 
obter seu deslocamento. Já na rotação, todos os pontos que compõem um 
objeto são girados de um ângulo constante em relação a um ponto de refe-
rência inicial (PAULA FILHO, 2011).
Para que as transformações geométricas possam ser colocadas em prá-
tica, é preciso definir um ponto de observação, que pode ser fixo ou variar 
conforme o andamento de uma animação gráfica. Por isso, a rigidez é tão 
importante, pois o sólido não será criado para que fique em uma única posição, 
mas para ser movimentado. Ele não pode perder seu formato inicial duranteesse processo (WRIGHT JR. et al., 2011).
Como vimos, a finitude é uma característica básica de um sólido, o que 
garante que ele tenha um limite de fim em suas dimensões. A homogenei-
dade exige que todos os pontos que formam o objeto tenham as mesmas 
características. Já o determinismo dos limites, por sua vez, prevê que o sólido 
seja fechado, que sejam definidos previamente os limites entre o interior e 
o exterior do objeto gráfico. A descritibilidade, por sua vez, permite que o 
objeto seja descrito por meio de suas propriedades, sejam elas físicas ou 
químicas, por exemplo. Por fim, o fechamento sobre operações serve como 
uma “contraprova”, visto que o objeto criado precisa ser válido e resultar 
em valores válidos ao passar por operações geométricas (AZEVEDO; CONCI; 
VASCONCELOS, 2022).
Os sólidos uni, bi e tridimensionais podem ser representados de diferentes 
formas, mas todas elas precisam ter algumas características em comum. 
Essas características são apresentadas no Quadro 2.
(Continuação)
Objetos e cenas tridimensionais 5
Quadro 2. Propriedades das formas de representação dos sólidos
Propriedade Descrição
Validade O modelo só pode representar sólidos válidos.
Unicidade Cada sólido válido pode ter apenas um modelo.
Não ambiguidade Cada modelo precisa corresponder a somente um sólido 
válido.
Completude O modelo precisa ser completo, contendo todas as 
informações necessárias sobre ele para que diferentes 
funções possam ser executadas.
Concisão O modelo precisa ocupar o menor espaço de memória de 
armazenamento possível.
Simplicidade O modelo deve ser criado de forma simples e direta, sem 
que seja necessária nenhuma característica especial de 
hardware.
Eficiência As operações do modelo precisam ser de fácil aplicação e 
apresentar respostas rápidas.
Fechamento 
sobre operações
As operações de descrição e manipulação precisam 
preservar a validade do modelo.
Fonte: Adaptado de Azevedo, Conci e Vasconcelos (2022).
Em resumo, para que um objeto gráfico seja caracterizado como sólido, ele 
precisa ser válido, e essa validade deve ser comprovada matematicamente. Da 
mesma forma, o sólido precisa ser único e representado por apenas um modelo, 
ao mesmo tempo que um modelo pode tratar de um só sólido. Os modelos, 
por sua vez, precisam ser completos, com todas as informações necessárias 
para reproduzir o sólido, seja no mundo real ou em outra aplicação. Apesar de 
bem completos, eles devem ocupar o menor espaço em memória possível, o 
que garante a sua simplicidade e eficiência. Por fim, mais uma vez reforça-se a 
importância do sólido ser fechado, que não mude mesmo que seja manipulado. 
Representação de objetos com faces 
poligonais e objetos tridimensionais
Polígonos são figuras planas fechadas e formadas por muitos segmentos de 
retas e ângulos. Têm áreas delimitadas por poligonais fechadas, em que o 
Objetos e cenas tridimensionais6
primeiro e o último vértice se encontram. O polígono mais simples e comum 
é o triângulo. É possível construir polígonos com muito mais de três lados 
(ou faces), como é o caso do triângulo, para representar outros formatos de 
objetos gráficos. Um polígono será chamado de regular se ele tiver ângulos 
(e lados) iguais (PAULA FILHO, 2011).
As faces poligonais geralmente são divididas em dois tipos principais: 
tesselação e poliedros. Tesselação, ou revestimento, é a cobertura de uma 
área plana, como o chão de uma sala. Ela é repetida pela quantidade de vezes 
necessária para que não se deixem espaços vazios no “piso”. As calçadas, por 
exemplo, são feitas com pedras. Para que a calçada fique completa, é preciso 
encaixar pedras até a superfície ficar totalmente coberta (REIS; JOSÉ, 2014).
A tesselação possibilita muitas formas de criação, dependendo, para isso, 
da utilização de polígonos regulares. Para cobrir uma área com polígonos 
regulares com tesselação, só podem ser utilizados triângulos equiláteros, 
quadrados e hexágonos (veja a Figura 3). Isso porque somente no caso desses 
tipos de polígonos seus ângulos internos multiplicados por um número inteiro 
resultam em um múltiplo de 360 graus (AZEVEDO; CONCI; VASCONCELOS, 2022).
Figura 3. Tesselação, ou revestimento: triângulos, quadrados e hexágonos.
Fonte: Azevedo, Conci e Vasconcelos (2022, p. 128).
A maioria dos softwares de modelagem e jogos de realidade virtual em-
pregam a representação por faces triangulares. Isso acontece pois ela uti-
liza menos memória, consome menos tempo de renderização e se adapta a 
qualquer tipo de contorno. Outro ponto forte dessa representação é que ela 
pode ser implementada automaticamente por funções de OpenGL ou Java 3D 
(AZEVEDO; CONCI; VASCONCELOS, 2022). 
Outra classe importante de objetos gráficos utilizados na representação 
de sólidos é chamada de poliedro. Os poliedros são compostos por muitos 
lados. São limitados por um conjunto de polígonos cujos lados pertencem 
Objetos e cenas tridimensionais 7
a um número par de polígonos. Esses lados são chamados de arestas do 
poliedro (REIS; JOSÉ, 2014).
Quando um poliedro é topologicamente equivalente a uma esfera, ele é 
classificado como um poliedro simples. Poliedros simples podem ser defor-
mados em uma esfera, por serem compostos de um só bloco componente ou 
de uma única parte (AZEVEDO; CONCI; VASCONCELOS, 2022).
Poliedros são utilizados para triangular um espaço 3D. Quando isso acon-
tece é criada uma superfície poliédrica. Como é possível posicionar triângulos 
em muitos graus e ângulos no espaço, deve-se ter cuidado para que eles 
sejam posicionados corretamente e que a superfície poliédrica realmente 
crie a topologia do objeto triangulado (GOMES; VELHO, 2015). 
O estudo e a utilização de triângulos para criar superfícies poliédricas 
ocorre porque o triângulo é um modelo de objeto muito utilizado em mate-
mática, o que garante que existam muitos resultados já validados para esse 
tipo de modelo. Além disso, as triangulações são mais fáceis de representar e 
manipular no computador. Outro fator importante é sua simplicidade. Confira 
a seguir as vantagens das faces triangulares (GOMES; VELHO, 2015).
 � Planaridade: são sempre curvas poligonais planas, o que facilita os 
cálculos em sua aplicação nas superfícies poliédricas.
 � Sistema de coordenadas: são associados a um sistema de coordenadas 
lineares, que pode ser usado para definir atributos da superfície.
 � Extensibilidade: podem se estender a valores infinitos no grupo de 
número naturais, relacionado ao conceito de complexos simpliciais.
É importante deixar claro que qualquer polígono pode ser subdividido em 
triângulos. Por isso, não se perde nada ao restringir o uso exclusivo de faces 
triangulares na construção dessas superfícies. As superfícies poliédricas 
podem ser definidas com polígonos arbitrários, que tenham qualquer for-
mato, desde que sejam compatíveis em sua formação (interseção de arestas 
e vértices) (GOMES; VELHO, 2015).
Vale lembrar que as faces de um objeto em 3D são seus diferentes “lados” 
ou “paredes”, ou seja, são polígonos delimitados por arestas. Já as arestas 
são as linhas formadas pelo encontro de duas faces, que unem vértices. Os 
vértices são os pontos de encontro entre as arestas no espaço tridimensional, 
conforme detalhado na Figura 4 (PAULA FILHO, 2011).
Objetos e cenas tridimensionais8
Figura 4. Pirâmide 3D.
Na Figura 5 as faces da pirâmide são representadas por f, as arestas por 
e, e os vértices por v. O poliedro do exemplo tem cinco faces, oito arestas e 
cinco vértices.
Figura 5. Pirâmide quadrangular.
Fonte: Adaptada de Gomes e Velho (2015).
Esses conceitos são muito importantes, por estarem diretamente rela-
cionados ao próximo assunto a ser abordado: as estruturas de dados. Aqui, 
você conhecerá conceitos sobre estruturas de dados básicas, baseadas em 
faces, vértices ou arestas, assim como estruturas mais completas, como 
winged-edge (borda alada) e half winged-edge (meia borda alada).
Para manipular um modelo geométrico no computador, é preciso ter emmãos informações topológicas e geométricas sobre o modelo. A representação 
da superfície é vista como um banco de dados geométrico que recebe mui-
tas informações. Essas informações visam a responder algumas perguntas, 
como quais arestas incidem com cada vértice, quais polígonos compartilham 
uma aresta ou um vértice, quais arestas delimitam um polígono e qual é a 
visualização da superfície utilizando todas as faces, arestas e vértices do 
objeto. Esses dados são organizados de acordo com diferentes estruturas 
(GOMES; VELHO, 2015). 
Objetos e cenas tridimensionais 9
As estruturas de dados de modelos geométricos servem para responder 
a essas perguntas de forma eficiente, por meio de um armazenamento or-
ganizado das informações necessárias, possibilitando mais rapidez e con-
sistência nas operações geométricas. Também permitem realizar operações 
topológicas, como subdivisão, criação e agrupamento de faces, arestas e 
vértices (AZEVEDO; CONCI; VASCONCELOS, 2022).
A estrutura de dados baseada em faces também é chamada de codificação 
explícita, porque ela codifica explicitamente cada polígono da superfície 
por meio de uma lista de faces com suas coordenadas. Esse método é ex-
tremamente simples, porém tem algumas desvantagens. Uma delas é não 
considerar que geralmente os vértices presentes em uma superfície poliédrica 
são partilhados por dois ou mais triângulos. Isso provoca uma ocupação des-
necessária de armazenamento e, ao visualizar a malha poligonal, cada aresta 
compartilhada é desenhada duas vezes, o que torna o resultado ineficiente 
(GOMES; VELHO, 2015). 
Veja no Quadro 3 como seria essa estrutura quando aplicada a uma pirâ-
mide 3D como a apresentada na Figura 6.
Quadro 3. Codificação explícita da superfície poligonal de uma pirâmide
Codificação
F1 = ((x1, y1, z1), (x5, y5, z5), (x2, y2, z2))
F2 = ((x3, y3, z3), (x2, y2, z2), (x5, y5, z5))
F3 = ((x3, y3, z3), (x4, y4, z4), (x5, y5, z5))
F4 = ((x1, y1, z1), (x4, y4, z4), (x5, y5, z5))
F5 = ((x1, y1, z1), (x2, y2, z2), (x3, y3, z3), (x4, y4, z4))
Fonte: Adaptado de Gomes e Velho (2015).
A estrutura de dados baseada em vértices, ou codificação com lista de 
vértices, utiliza uma lista de vértices pela qual é possível definir a referência 
de cada polígono da superfície. Comparada à estrutura baseada em faces, 
essa codificação gera economia de espaço, porque cada vértice é armaze-
nado apenas uma vez. Outra vantagem é que, ao alterar as coordenadas 
de um vértice nesse tipo de estrutura, todos os polígonos nele incidentes 
Objetos e cenas tridimensionais10
são atualizados automaticamente, o que facilita a manipulação interativa 
da superfície em questão. Como desvantagem, ainda é difícil determinar 
os polígonos que compartilham uma aresta e, na representação gráfica 
do objeto, as arestas compartilhadas também são desenhadas duas vezes 
(GOMES; VELHO, 2015).
A única exigência desse tipo de estrutura de armazenamento é que a des-
crição das faces seja consistente. Os vértices limites das faces são descritos 
sempre no mesmo sentido (horário ou anti-horário) do exterior do objeto 
para todas as suas faces (AZEVEDO; CONCI; VASCONCELOS, 2022).
Observe no Quadro 4 a lista de vértices e de faces utilizada por essa 
estrutura de dados, aplicada novamente a uma pirâmide 3D.
Quadro 4. Codificação com lista de vértices da superfície poligonal de uma 
pirâmide
Lista de Vértices Lista de Faces
V1 = ((x1, y1, z1) F1 = (V1, V5, v2)
V2 = (x2, y2, z2) F2 = (V3, V2, V5)
V3 = (x3, y3, z3) F3 = (v3, V4, v5)
V4 = (x4, y4, z4) F4 = (V1, V4, V5)
V5 = (x5, y5, z5) F5 = (V1, V2, V3, V4)
Fonte: Adaptado de Gomes e Velho (2015).
Já a estrutura de dados baseada em arestas, ou codificação com lista 
de arestas, traz ainda mais flexibilidade do que a anterior. Ela utiliza uma 
codificação que acrescenta uma lista de arestas à lista de vértices. As faces 
são definidas por referências às arestas, não somente aos vértices. Para isso, 
são necessárias três listas: uma lista de vértices, uma lista de arestas e uma 
lista de faces, que sempre são referenciadas pela lista anterior. Nesse caso, 
tem-se acesso a todas as arestas a partir da lista de arestas, não somente 
percorrendo o limite de cada um dos polígonos, como pode ser observado 
no Quadro 5 (GOMES; VELHO, 2015).
Objetos e cenas tridimensionais 11
Quadro 5. Codificação com lista de arestas da superfície poligonal de uma 
pirâmide
Lista de vértices
Lista de arestas
Arestas → vértices
Lista de faces
Faces → arestas
V1 = ((x1, y1, z1) E1 → V1, V2 F1 → (V1, V5, v2)
V2 = (x2, y2, z2) E2 → V2, V3 F2 → (V3, V2, V5)
V3 = (x3, y3, z3) E3 → V3, V4 F3 → (v3, V4, v5)
V4 = (x4, y4, z4) E4 → V4, V1 F4 → (V1, V4, V5)
V5 = (x5, y5, z5) E5 → V1, V5 F5 → (V1, V2, V3, V4)
E6 → V2, V5
E7 → V3, V5
E8 → V4, V5
Fonte: Adaptado de Gomes e Velho (2015).
Essa estrutura permite a descrição das faces por meio de uma sequência 
de arestas fechadas. Como detalhado na estrutura anterior, neste caso a 
ordem das arestas nas faces também deve ter sempre a mesma orientação 
(AZEVEDO; CONCI; VASCONCELOS, 2022).
As estruturas de dados apresentadas até aqui têm muitas restrições quanto 
à topologia das faces e da geometria do objeto gráfico. Por isso, para casos 
complexos, existem as codificações mais completas, como a winged-edge e 
a half winged-edge.
A estrutura de dados winged-edge foi criada por Baumgart em 1975 para 
melhorar os algoritmos de remoção de superfícies escondidas e sombrea-
mento de imagens gráficas. Nela, as informações das faces vizinhas e das 
arestas seguintes são adicionadas aos dados das arestas. Como cada aresta 
pertence a duas faces, duas novas arestas podem descrever essas faces 
(AZEVEDO; CONCI; VASCONCELOS, 2022). Essa codificação, portanto, utiliza três 
tabelas: a primeira tabela com as coordenadas de cada vértice; a segunda com 
as coordenadas de cada aresta (sendo que, para cada aresta, são relacionados 
um vértice inicial e um vértice final, além de um identificador para o sentido 
da aresta, que deixa claro se ela está no sentido horário ou anti-horário); e 
a tabela de faces, com o identificador da face e a aresta inicial.
Objetos e cenas tridimensionais12
A winged-edge foi atualizada e melhorada ao longo dos anos, a fim de 
aumentar a variedade de objetos que possam ser modelados. Uma das 
mudanças foi feita por Mäntylä em 1988, que propôs a half winged-edge. 
Ela considera que uma aresta é formada por duas semiarestas, ou duas 
partes de aresta. Cada uma dessas partes é adjacente somente a uma face 
do objeto gráfico, sendo necessário armazenar apenas uma referência para 
uma face em cada uma das half winged-edge. Para diminuir ainda mais o 
armazenamento, mantêm-se somente as referências para as partes anterior 
e posterior da sequência de semiarestas que compõem a face (AZEVEDO; 
CONCI; VASCONCELOS, 2022). Portanto, o sentido das arestas é muito im-
portante nessas duas últimas estruturas de armazenamento apresentadas.
Formas de representar objetos
Há diferentes maneiras de representar superfícies definidas parametrica-
mente. Grande parte delas se utiliza de decomposição, ou divisão, da super-
fície em partes menores, para que sejam reagrupadas quando necessário 
(GOMES; VELHO, 2015). Nesta seção, você conhecerá as principais formas de 
representação de objetos gráficos: enumeração da ocupação espacial; de-
composição do espaço em octrees; decomposição do espaço em quadtrees; 
quadtrees e octrees lineares; e representação implícita.
A representação por enumeração da ocupação espacial decompõe o sólido 
em “pedaços”. Como se estivesse sendo feita uma tesselação do espaço. 
Nesse caso, entre os sólidos regulares existentes, apenas o cubo possibilita 
um preenchimento total do espaço por repetições infinitas dele mesmo. 
Por isso, na representação por enumeração da ocupação espacial, o espaço 
é subdivido em cubos. Esses cubos são chamados de voxels, que formam 
uma grade tridimensional (AZEVEDO; CONCI; VASCONCELOS, 2022). Confira um 
exemplo dessetipo de representação na Figura 6.
Figura 6. Exemplo de representação por ocupação espacial.
Fonte: Azevedo, Conci e Vasconcelos (2022, p. 135).
Objetos e cenas tridimensionais 13
Essa representação torna fácil determinar se dois objetos se interferem 
e fácil realizar as operações booleanas (união, diferença e intersecção) de 
sólidos. Para determinar se um ponto específico pertence ou não ao sólido, 
é só conferir se ele pertence a algum dos voxels. Também é fácil obter a 
propriedade de massa e volume do objeto. Para isso, basta saber o volume 
de uma das partes e multiplicá-lo pelo número total de divisões ocupadas 
(AZEVEDO; CONCI; VASCONCELOS, 2022).
Uma desvantagem da enumeração da ocupação espacial é que, na re-
presentação de objetos complexos ou muito detalhados, é necessária uma 
grande quantidade de memória disponível. Esse tipo de modelagem por voxel 
chegou a ser utilizada em alguns jogos digitais, porém foi abandonada por 
seu alto custo de armazenagem e representação realística (AZEVEDO; CONCI; 
VASCONCELOS, 2022).
A representação por decomposição do espaço em octrees (árvore com 
oito filhos) pode ser considerada um caso especial de subdivisão espacial. 
A subdivisão espacial, de forma geral, decompõe uma superfície em subsu-
perfícies, que passam a ter uma descrição paramétrica. Cada uma dessas 
subsuperfícies é representada com uma estruturação da decomposição. A 
reconstrução da superfície original é feita utilizando-se a estruturação da 
decomposição aliada a um método de reconstruir a parametrização de cada 
“pedaço” (GOMES; VELHO, 2015).
No caso específico da decomposição do espaço em octrees, o primeiro 
passo é dividir o objeto gráfico com um cubo e depois dividi-lo em oito 
cubos menores de igual tamanho (octantes). Por fim, cada um desses cubos 
é classificado como (AZEVEDO; CONCI; VASCONCELOS, 2022):
 � cheio: se o objeto em questão ocupar todo o cubo;
 � vazio: caso o objeto não ocupe nenhuma parte do cubo;
 � cheio-vazio: caso o objeto ocupe somente uma parte do cubo.
Quando um octante é classificado como cheio-vazio, ele é dividido no-
vamente em oito partes iguais, para que a classificação possa ser refeita 
em cada uma dessas subpartes. O algoritmo que utiliza esse tipo de repre-
sentação repete esse processo até que todos os cubos pertençam às duas 
primeiras classes: cheio ou vazio. Por isso, com essa técnica, os voxels podem 
ter dimensões variáveis. Esse tipo de representação facilita as operações 
de união e interseção de objetos, assim como a operação de rotação de 90 
graus em torno de qualquer um dos três eixos de um objeto 3D (AZEVEDO; 
CONCI; VASCONCELOS, 2022).
Objetos e cenas tridimensionais14
Observe na Figura 7 o objeto a ser representado, a representação em oito 
partes e um grande cubo com oito cubos menores.
Figura 7. Exemplo de representação por octree.
Fonte: Adaptada de Azevedo, Conci e Vasconcelos (2022).
Da mesma forma que a representação anterior, a decomposição do espaço 
em quadtrees (árvores com quatro filhos) também envolve o objeto gráfico 
em um grande cubo para depois dividi-lo. A diferença é que essa estrutura 
de armazenamento divide o plano em quatro partes iguais, para, a partir 
daí, classificar cada parte da mesma forma que as octrees. As vantagens 
e desvantagens do seu uso são as mesmas da enumeração espacial e das 
octrees. Além disso, elas permitem uma representação mais detalhada do que 
as octrees, utilizando menos memória (AZEVEDO; CONCI; VASCONCELOS, 2022).
Já as quadtrees e octrees lineares utilizam uma notação sem ponteiros e 
na forma de um endereço até cada nó do objeto. Na notação linear, cada nó 
caracterizado como cheio é representado como uma sequência de dígitos, 
que são seus endereços, por meio da árvore. Essa sequência localiza o nó 
cheio em uma posição de 0 a 3 nas quadtrees, ou de 0 a 7 nas octrees. Cada 
endereço tem o número de dígitos que corresponde aos níveis usados na 
representação. Nesse caso, para identificar as partes do objeto, são utilizados 
tantos dígitos quanto os níveis de subdivisão da árvore de dados. Os nós cheios 
Objetos e cenas tridimensionais 15
que não estão no nível mais baixo podem ser representados por um dígito 
adicional, como no fim do endereço (AZEVEDO; CONCI; VASCONCELOS, 2022).
Na Figura 8 você pode ver um exemplo de representação linear com quatro 
níveis de divisão, em que os endereços terão no máximo quatro dígitos. A 
numeração dos quadrantes é de 0 a 3.
Figura 8. Exemplo de representação linear.
Fonte: Azevedo, Conci e Vasconcelos (2022, p. 138).
Veja na Figura 8 que o quadrante 1 é totalmente vazio, mesmo em seus 
níveis de divisão. Por isso, não haverá nenhum endereço que inicie com 1, 
diferentemente do que acontece com o endereço 2, que está completamente 
cheio já na primeira divisão da figura em quatro quadrantes. Os endereços 0 e 
3 têm o maior nível de divisão, pois somente parte deles está cheia (AZEVEDO; 
CONCI; VASCONCELOS, 2022).
Por fim, a representação implícita prevê a utilização de expressões mate-
máticas que estão implícitas nos próprios sólidos modelados. Elas podem ser 
armazenadas e utilizadas na modelagem, ou mesmo combinadas com outras 
formas de representação, como para gerar novos objetos por combinações ou 
Objetos e cenas tridimensionais16
por união de objetos. Em outras palavras, esse tipo de representação apro-
veita o fato de que muitas formas têm equações perfeitamente conhecidas e 
simples e as coloca em prática. Se os sólidos forem esferas, cilindros elípticos 
ou outros, usar as equações implícitas de acordo com a forma de cada um é 
uma maneira simples de armazenar, operar e até de renderizar cada um deles 
de forma eficiente (AZEVEDO; CONCI; VASCONCELOS, 2022).
Ao trabalhar com superfícies implícitas, é possível definir os conceitos 
e atributos de maneira implícita ou então procurar uma representação 
não implícita da superfície. Por exemplo, o cálculo da visibilidade e da 
iluminação de uma superfície implícita pode ser realizado sem a neces-
sidade de ter uma representação não implícita, com um método como 
o de traçado de raios. O cálculo de uma representação não implícita dá 
acesso a um maior número de ferramentas para estudar a superfície em 
questão (GOMES; VELHO, 2015).
Conheça mais conceitos e exemplos de estruturas de dados de 
objetos gráficos no artigo “Comparação de estruturas de dados 
para subdivisões planares baseada em transições”, de Andrade Neto e Guedes, 
publicado em 2006.
Neste capítulo, você estudou conceitos de sólidos, ou objetos volumé-
tricos, unidimensionais (1D), bidimensionais (2D) e tridimensionais (3D) e 
sua aplicação na computação gráfica. Em seguida, acompanhou diferentes 
maneiras de representar objetos tridimensionais com faces poligonais, 
como poliedros, que são compostos por vários lados, e tesselação, ou 
revestimento, que é a cobertura de uma área plana. Por fim, você conheceu 
técnicas de representação de objetos. A representação por enumeração 
da ocupação espacial decompõe o sólido em partes. A decomposição do 
espaço em octrees é considerada um caso especial de subdivisão espacial. 
A decomposição do espaço em quadtrees divide o plano em quatro partes 
iguais. Já as quadtrees e octrees lineares usam uma notação sem ponteiros, 
na forma de um endereço até cada nó do objeto. Por fim, a representação 
implícita, como o nome sugere, usa expressões matemáticas implícitas nos 
próprios sólidos modelados.
Objetos e cenas tridimensionais 17
Referências 
AZEVEDO, E.; CONCI, A.; VASCONCELOS, C. Computação gráfica: teoria e prática: geração 
de imagens. Rio de Janeiro: Alta Books, 2022. v. 1.
GOMES, J.; VELHO, L. Fundamentos da computação gráfica. São Paulo: IMPA, 2015.
PARANÁ. Secretaria da Educação. Garrafa de Klein. Curitiba: Secretaria da Educação, 
2019. Disponível em: http://www.matematica.seed.pr.gov.br/modules/video/showVideo.
php?video=6938. Acesso em: 6 jun. 2022.
PAULA FILHO, W. P. Multimídia: conceitos e aplicações. 2. ed. Rio de Janeiro: LTC,2011.
REIS, B.; JOSÉ, M. F. Projetos gráficos: fundamentos 2D e 3D. São Paulo: Érica, 2014.
WRIGHT JR., R. S. et al. OpenGL superbible: comprehensive tutorial and reference. 5th 
ed. Boston: Pearson Education, 2011. 
Leituras recomendadas
ANDRADE NETO, P. R.; GUEDES, A. L. P. Comparação de estruturas de dados para sub-
divisões planares baseada em transições. RITA, 2006. Disponível em: http://www.
inf.ufrgs.br/~comba/cmp189-files/estruturas_de_dados.pdf. Acesso em: 6 jun. 2022.
CORRIGAN, J. Computação gráfica: segredos e soluções. Rio de Janeiro: Ciência Mo-
derna, 1994.
SOLOMON, C.; BRECKON, T. Fundamentos de processamento digital de imagens: uma 
abordagem prática com exemplos em Matlab. Rio de Janeiro: LTC, 2013.
SOUSA, M. H. S. et al. Contagem de objetos utilizando técnicas de processamento 
digital de imagem: morfologia matemática. Brazilian Journal of Development, v. 6, n. 
8, p. 57432-57440, 2020. 
Os links para sites da web fornecidos neste capítulo foram todos 
testados, e seu funcionamento foi comprovado no momento da 
publicação do material. No entanto, a rede é extremamente dinâmica; suas 
páginas estão constantemente mudando de local e conteúdo. Assim, os editores 
declaram não ter qualquer responsabilidade sobre qualidade, precisão ou 
integralidade das informações referidas em tais links.
Objetos e cenas tridimensionais18

Mais conteúdos dessa disciplina