Escolar Documentos
Profissional Documentos
Cultura Documentos
Num projecto de engenharia a geometria tem um papel central, pelo que a representação
vectorial afigura-se como a mais correcta, quando é necessário criar representações do
Mundo, por exemplo a partir de imagens obtidas por satélite, a representação em
quadrícula é a mais correcta.
Modelo Conceptual
Uma norma como o GKS (Graphic Kernel System) permite o cálculo de primitivas
gráficas tais como linhas poligonais, polígonos, marcas, texto e, apesar de se tratar de
uma norma vectorial, mapas de quadrículas.
Como as primitivas gráficas eram 2D a distinção entre Modelo e Vistas sobre o Modelo
não era fácil de apreender.
Para efectuar o cálculo de uma vista sobre o modelo é utilizado o que se designa por
Pipeline de Visualização, isto é, um conjunto de operações algorítmicas necessárias à
transformação dos dados que descrevem um modelo nos dados necessários ao desenho
de uma vista específica numa superfície de visualização.
Em primeiro efectua-se o recorte identificando-se que parte do Mundo é que poderá ser
vista através de uma área poligonal. Segue-se a transformação de coordenadas entre os
dois espaços de coordenadas. A fase final, necessária em CG em quadrícula, efectua-se
a discretização da vista vectorial, com o cálculo da representação em quadrículas da
vista sobre o modelo.
Tipos de transformações
Coordenadas Homogéneas
Composição de transformações
Transformações Básicas 3D
Rotação
Rx (θ
θ): em torno do eixo Ry (θ
θ): em torno do eixo Rz (θ
θ): em torno do eixo
dos XX dos YY dos ZZ
PIPELINE DE VISUALIZAÇÃO
Arquitectura Global
Sistemas Coordenados
O passo seguinte consiste em colocar o objecto na cena que se pretende visualizar. Cada
objecto que constitui a cena tem o seu referencial local. Todos os objectos são
transformados de forma a poderem ser representados em função de um referencial
único, o que permite especificar o seu posicionamento relativo. Este referencial comum
é denominado Sistema de Coordenadas do Mundo. A descrição de cena é
complementada com a especificação das posições das fontes luminosas e da posição da
câmara, em particular, do ponto de observação e da direcção de observação.
Nota:
Uma cena é composta por objectos, parâmetros de visualização e fontes luminosas
Interface de Visualização
• Direcção para onde a câmara aponta: VPN (View Plane Normal) ou seja, a
direcção de visualização define imediatamente o plano de visualização
A área rectangular, no plano de visualização, aonde irá ser projectada a cena, tem o
nome de Janela de Visualização e no modelo de câmara virtual simples está centrada
simetricamente relativamente ao VRP
A solução passa por definir planos de recorte paralelos ao plano de projecção, através da
sua distância ao ponto VRP e medida ao longo da direcção VPN.
Resumo:
Construção de uma vista arbitrária 3D
Por outro lado, z não pode ser maior que 1, isto significa escalar o plano z = B
Transformação Perspectiva
Projecções Paralelas
Cavaleira Gabinete
Projecções Perspectivas
Características:
• Linhas paralelas (não ao plano de projecção) convergem em pontos de fuga
• Linhas paralelas aos eixos definem pontos de fuga axiais (máximo de 3)
• Não mantém proporcionalidade entre distâncias
• Tamanho dos objectos diminui com a distância
• Só mantém a amplitude dos ângulos em faces paralelas ao plano de projecção
Pontos de fuga:
• Número de pontos de fuga é igual ao número de eixos coordenados
intersectados pelo plano de projecção
• Só para formas
- Faces em ângulos rectos
- Normais às faces perpendiculares aos eixos coordenados
Transformação Perspectiva
Plano de Projecção:
• normal ao eixo dos ZZ
• em z = d
• mapeado na superfície de visualização
do dispositivo
• origem do espaço de coordenadas de
visualização é igual à intersecção do plano
com o eixo ZZ
Transformação Ortogonal
Este modelo permite calcular o valor da intensidade de um raio reflectido por uma
superfície em função da orientação da superfície, da posição da câmara, da posição da
fonte de luz e das propriedades da superfície.
Luz Ambiente
Se uma superfície, mesmo visível, não estiver directamente iluminada por um raio de
luz, não será desenhada.
Para resolver esse problema, o modelo assume que todas as superfícies da cena vão ser
iluminadas por uma fonte de luz ambiente, de valor constante, a qual resulta de
múltiplas reflexões da luz nas superfícies da cena.
Reflexão Difusa
Na reflexão difusa a energia luminosa é reflectida com igual intensidade em todas as
direcções, segundo uma semiesfera, e o seu valor depende unicamente do ângulo de
entre o raio incidente e a normal à superfície do objecto
A intensidade da energia luminosa reflectida não depende da posição do observador
Reflexão Especular
Na reflexão especular as propriedades do material são tais que toda a energia que incide
num ponto segundo uma dada direcção fazendo um ângulo com a normal à superfície, é
reflectiva segundo o mesmo ângulo. Sendo θ o ângulo entre o vector unitário normal à
superfície, N, no ponto de incidência e o vector unitário da fonte de luz, L.
Métodos de Sombreamento
Sombreamento Constante
Neste modelo é utilizada a normal à faceta para calcular uma cor a qual é usada para
sombrear toda a faceta.
Os resultados que se obtêm com este método de sombreamento são de baixa qualidade
uma vez que ficam visíveis as diferenças de cor nas fronteiras entre facetas, produzindo
imagens muito pouco realistas.
Sombreamento de Gouraud
A influência de facetas adjacentes é contemplada através do cálculo de normais em cada
vértice da malha de facetas. Estas normais são obtidas por interpolação das normais de
todas as facetas que partilham um mesmo vértice.
Sombreamento de Phong
No método de sombreamento de Phong, a partir das normais aos vértices, que são
calculadas do mesmo modo que no sombreamento de Gouraud, é calculada a normal a
cada quadrícula através da interpolação das normais. A normal calculada para cada
quadrícula é então usada no modelo de iluminação de Phong para calcular a intensidade
da energia luminosa reflectida.
Este método é computacionalmente mais pesado uma vez que é necessário calcular a
cor, por aplicação do modelo de sombreamento de Phong a todas as quadrículas da
faceta.
Os algoritmos de ray tracing são algoritmos para determinar a visibilidade dos objectos
de uma cena, operando ao nível de precisão da imagem. O algoritmo fundamental de ray
tracing considera raios com origem no centro de projecção em que cada um dos raios
passa pelo ponto correspondente a um pixel da imagem sobre o plano de projecção da
cena a representar. Se um raio não intersectar nenhum objecto da cena, é atribuída ao
pixel da imagem por onde o raio passa a cor de fundo da cena e ao pixel correspondente
ao raio é atribuída a cor do ponto de intersecção mais próximo da origem do raio.
Cálculo de Intersecções
A lei de Snell estabelece a relação entre os dois ângulos e os índices de refracção (η)
dos dois meios
O índice de refracção de um meio depende das propriedades ópticas desse meio e varia
de meio para meio. O valor do índice de refracção de um meio depende também da
frequência (ou do comprimento de onda) da luz.
Reflexão total na interface entre dois meios
Um raio luminoso sofre uma refracção ao atravessar a interface entre dois meios de
densidade óptica diferente. Mas, quando a passagem se dá de um meio mais denso para
outro menos denso, o raio pode ser reflectido na interface em vez de ser refractado. Este
fenómeno é denominado de reflexão total e a sua ocorrência depende do ângulo de
incidência do raio luminoso e dos índices de refracção dos dois meios.
O valor máximo que o ângulo θt pode assumir é 90º. Existirá então um valor limite do
ângulo θi a partir do qual deixa de se dar a refracção e passa a verificar-se a reflexão dos
raios incidentes na interface entre os dois meios
Ângulo crítico:
O algoritmo recursivo parte do nível zero com o valor negro atribuído à cor e com a
direcção e origem do raio primário correspondente ao pixel cuja cor se pretende
determinar. Se o raio não intersectar qualquer objecto, então a cor do pixel será a cor de
fundo da cena e o processo recursivo terminará. Caso contrário determina-se a cor local
devida à iluminação directa através de raios de iluminação. Seguidamente determinam-
se os raios secundários correspondentes às direcções cujos raios reflectido e transmitido
coincidem com a direcção do raio corrente e calculam-se as respectivas contribuições
para a cor do ponto corrente que, devidamente ponderadas, serão somadas com a cor
local à cor anteriormente determinada para o raio que está a ser calculado.
Estratégias de Optimização
O volume envolvente deve ser tal que o objecto o preencha o mais completamente
possível, para que não ocorram muitas situações em que, existindo intersecção entre o
raio e o volume envolvente do objecto, não exista intersecção do raio com o objecto
envolvido pelo volume.
Esta estratégia permite diminuir a carga computacional de cálculo de intersecção entre
um raio e os objectos, pois elimina imediatamente o objecto contido num volume
envolvente se este volume não for intersectado.
Hierarquização do espaço
Os volumes envolventes podem ser organizados hierarquicamente, construindo uma
árvore onde os volumes envolventes de cada objecto singular correspondem às folhas de
cada ramo e em que cada nó intermédio representa um volume que envolve todos os
volumes situados nos ramos que dele dependem. Se num dado nó existir intersecção
entre o respectivo volume envolvente e o raio, dever-se-á então inspeccionar todos os
ramos com origem nesse nó. Se não existir intersecção com o volume envolvente a esse
nível, então não existirão quaisquer intersecções do raio com os volumes
correspondentes aos ramos com origem nesse nó e a determinação de intersecções pode
ser imediatamente terminada para o ramo corrente.
Partição do espaço
Dividir o espaço da cena em volumes envolventes paralelepipédicos dispostos segundo
uma grelha tridimensional. Cada partição do espaço assim obtida poderá ou não conter
objectos, não sendo necessário que cada objecto esteja totalmente contido numa única
partição.
Dado um raio, esta estratégia consiste então em determinar a intersecção do raio com as
partições seguindo uma ordem de teste por distância crescente das partições à origem do
raio.
Uma partição intersectada pelo raio é liminarmente eliminada se não contiver quaisquer
objectos. Caso contrário calculam-se então as intersecções do raio com os objectos
contidos na partição para, no final, reter a intersecção correspondente à menor distância
à origem do raio, aplicando a cada partição uma lógica em tudo semelhante à aplicada a
toda a cena quando se não considera a sua partição.
Amostragem adaptativa
Emprega inicialmente menos raios primários por cada área, normalmente em número de
cinco, em que um deles se localiza no centro da área e os outros quatro nos quatro
cantos dessa cena. Se as cores determinadas por cada um dos cinco raios forem
semelhantes, pode-se concluir que os raios intersectam o mesmo objecto e emprega-se a
cor média para a cor do pixel da imagem correspondente a essa área.
Um problema desta técnica reside em arbitrar quando é que existe ou não uma diferença
significativa entre as cores. Por outro lado, não é óbvio que a amostragem seja
significativa apenas porque as cores dos cinco raios de uma área são idênticas ou
semelhantes, pois pode acontecer que exista na área um objecto de pequena dimensão
que não seja detectado por qualquer dos cinco raios. A causa deste problema está na
natureza regular da malha definida pelos cinco raios.
Amostragem estocástica
Esta técnica permite calcular cores médias mais correctas, pois os raios encontram-se
melhor distribuídos dentro da área correspondente a cada pixel, mas introduz ruído
devido à distribuição aleatória. Esta técnica produz resultados de melhor qualidade
visual, principalmente em zonas de sombra parcial onde não existem arestas vivas.
O método da radiosidade é um método que opera no espaço dos objectos e não depende
da vista de cena que se pretende gerar.
Equação da Radiosidade
Irradiação total
A energia radiante total que atinge uma dada superfície pode ser por esta absorvida,
reflectida ou transmitida em proporções que dependem das propriedades físicas da
superfície e do respectivo corpo.
• Absorsividade (α) – fracção da irradiação total que é absorvida
• Reflectividade (ρ) – fracção da irradiação total que é reflectida
• Transmissividade (τ) – fracção da irradiação total que é transmitida através
do corpo da superfície
Equação da Radiosidade
Esta equação tem que ser resolvida para cada uma das áreas em que a cena a calcular se
encontra decomposta.
Método do Hemicubo
Os objectos devem também ser fielmente representados para que não possam existir
ambiguidades de interpretação quanto ao objecto representado.
As representações devem ser únicas, o que implica que cada tipo de representação não
possa representar um objecto por mais do que uma forma. Se não houvesse uma
representação única, poder-se-ia concluir que dois objectos eram diferentes embora se
tratasse do mesmo objecto representado de duas maneiras.
A representação de objectos deve ser precisa, isto é, não deve conter aproximações pois
disto depende o realismo da sua visualização e a correcção com que poderá ser
manufacturado.
Instanciação de primitivas
É uma das representações mais usadas devido à sua grande simplicidade e flexibilidade
de emprego. Este tipo de representação tem por base a definição de objectos
geométricos tridimensionais, as primitivas, que possuem atributos, os parâmetros, cujos
valores são definidos pelo utilizador no momento da criação de uma nova instância.
No caso dos sólidos gerados por extrusão e rotação a partir de secções bidimensionais
simples, os varrimentos produzem volumes com propriedades geométricas fáceis de
calcular. Esta facilidade complica-se um pouco se as secções bidimensionais que varrem
os volumes apresentarem formas irregulares. Estes cálculos tornam-se bastante mais
difíceis nos chamados volumes varridos gerais. Nestes, a secção bidimensional que
varre os volumes pode variar de ponto para ponto da trajectória, normalmente de forma
contínua.
• Decomposição em células
Esta representação tem por base a decomposição dos objectos a representar em
células ou elementos primitivos paramétricos. Este tipo de representação é
semelhante à representação facultada pela linguagem VRML. A decomposição
do espaço proíbe expressamente a intersecção e impõe a justaposição das
primitivas que partilham pontos, arestas ou faces.
Não permite qualquer ambiguidade, mas pode não ser única, isto é, podem
existir várias representações para um dado sólido.
• Enumeração da decomposição do espaço
Decompõe o espaço segundo uma grelha tridimensional composta por volumes
de forma a dimensões idênticos, os volumes elementares, também denominados
por voxeis. A representação de um sólido consiste então em arbitrar a
discretização pretendida, ou seja, determinar a dimensão dos voxeis, e,
seguidamente, enumerar quais os voxeis ocupados pelo sólido a representar. Tal
representação é única e não contem quaisquer ambiguidades.
A simplicidade desta representação permite detectar colisões entre objectos e a
sua adjacência de forma explícita, através da inspecção das células contíguas às
células das fronteiras dos objectos. O inconveniente mais grave consiste no
número elevado de volumes elementares necessários. Um voxel está sempre
completamente ocupado ou vazio.
Uma operação de associação não tem um resultado único pois depende de que tipo de
associação se pretende efectuar.
Este tipo de modelo de malha poligonal não possui qualquer informação sobre os
vértices e arestas comuns a dois ou mais polígonos. Qualquer aresta comum a dois ou
mais polígonos é desenhada em dispositivos de saída gráfica tantas vezes quanto o
número de polígonos a que a aresta pertença. Uma forma de evitar o desenho duplicado
de arestas consiste em, antes de desenhar uma dada aresta percorrer todos os polígonos
anteriormente desenhados para determinar se a aresta pertence a algum deles e,
portanto, foi já desenhada.
Cada polígono é descrito por uma lista de vértices em que cada elemento corresponde
ao número de ordem desse vértice na respectiva lista ou uma referência para a estrutura
que contém as coordenadas do vértice.
Esta descrição é mais compacta do que a descrição por lista explícita pois evita o gasto
de memória provocado pela duplicação do armazenamento das coordenadas dos
vértices. Por outro lado, a operação de alteração das coordenadas de um dado vértice
passa a ser explícita, sendo a alteração dessas coordenadas realizada uma única vez. As
arestas comuns a dois ou mais polígonos continuam a ser desenhadas duas ou mais
vezes nos dispositivos de saída gráfica.
Mantém-se a lista de polígonos mas agora existe uma estrutura associada a cada
polígono que referencia um mínimo de três arestas. A alteração das coordenadas de um
vértice é uma operação simples e explícita e não existe duplicação de informação que
implique gastos desnecessários de espaço de armazenamento.
As vantagens principais da representação por listas de arestas são tornar explícita a
determinação da adjacência de polígonos e eliminar o desenho duplicado de arestas em
dispositivos de saída gráfica, pois para desenhar as arestas basta percorrer a lista de
arestas na qual cada aresta é única.
Critérios complementares:
• Uma aresta não deve ser usada duas ou mais vezes num mesmo polígono
• Um vértice deve pertencer a, pelo menos, um polígono
• As arestas não podem apresentar comprimento nulo
• Na representação por listas de arestas, a referência entre arestas e polígonos
tem que ser recíproca. Um polígono não pode referenciar uma aresta se esta, por
sua vez, não referenciar o polígono
Em artes visuais empregam-se termos como cor pura, pastel, sombreado e tom. O
sombreado é o resultado da adição de um pigmento negro a um pigmento de cor pura
em que o pigmento negro retira luminosidade ao pigmento puro. Uma cor pastel resulta
da adição simultânea de um pigmento branco a uma cor, diminuindo a saturação. Um
tom resulta da adição simultânea de um pigmento negro e um pigmento branco a uma
cor, reduzindo a saturação e a luminosidade proporcionadas pelo pigmento da cor
original.
Espectro Visível
As cores não espectrais são devidas à mistura de luzes com diferentes comprimentos ou
gamas de comprimentos de onda.
Fisiologia da visão
O funcionamento do olho humano é semelhante ao funcionamento dos equipamentos de
registo de imagem, pelo menos na recepção e detecção da luz. O olho humano foca a luz
que recebe e fá-la convergir na retina onde se forma uma imagem invertida. Na retina
existem células sensíveis à luz, os bastonetes e os cones, que transformam os fotões que
absorvem em impulsos nervosos.
Existem cones sensíveis à luz na zona do vermelho (cones do tipo ρ), na zona
do verde (cones do tipo γ) e na zona do azul (cones do tipo β). A maior
sensibilidade do olho humano deverá verificar-se na gama de comprimentos
de onda detectada pelos cones γ e ρ, a zona intermédia entre o vermelho e o
verde.
Modelação da Cor
Tendo em conta a teoria dos três estímulos, é imediato que qualquer modelo
de cor deverá possuir três parâmetros. O problema essencial da modelação da
cor está na definição de que grandezas devem ser associadas a cada um dos
três parâmetros.
A luz emitida segundo um comprimento de onda preciso produz uma cor pura
do espectro visível.
Modelo CIE
A incapacidade de modelos baseados na mistura de cores vermelhas, verdes e
azuis poderem representar todas as cores do espectro visível levou a que a CIE
criasse um modelo com três cores primárias denominadas X, Y e Z, que
substituíam as cores primárias vermelha, verde e azul, e que possuíam funções
peso de X, Y e Z, intrinsecamente positivas e tais que passasse a ser possível
representar todas as cores do espectro visível.
Modelo RGB
É um modelo de cor concebido com base nos dispositivos de saída gráfica
com três cores primárias: vermelho, verde e azul.
Este modelo descreve as cores como o resultado da adição das três cores
primárias, cada uma delas com uma intensidade que pode variar entre 0 e 1. A
cor branca corresponde à representação simultânea das três cores primárias,
todas à sua intensidade máxima, e a cor preta à cor que é obtida quando todas
as cores primárias apresentam intensidade mínima.
O modelo é omisso quanto ao que é uma cor primária pura, ou seja, não define
qual o comprimento de onda a que corresponde cada uma das três cores
primárias.
Modelo CMY
É um modelo de cor baseado nas cores complementares: cião, magenta e
amarelo.
Este modelo tem por base os fenómenos que se verificam quando a luz incide
em superfícies. Estas podem absorver, reflectir ou refractar a luz de forma
desigual consoante o comprimento de onda.
Modelo HSV
É mais intuitivo que os modelos RGB e CMY. A sua sigla corresponde às três
variáveis deste modelo: Hue (cor, matiz, cambiante de cor), Saturation
(saturação) e Value (valor). O modelo HSV aproxima-se muito do modelo
intuitivo empregue em artes visuais que emprega os conceitos qualitativos de
matiz, luz e tonalidade.
Modelo HLS
É também um modelo muito intuitivo tal como o modelo HSV. A sigla
corresponde aos nomes dos três parâmetros deste modelo: Hue (cor, matiz,
cambiante da cor), Lightness (luminosidade) e Saturation (saturação).
O parâmetro H corresponde ao ângulo em que a cor se encontra, o parâmetro
S tem o mesmo significado que no modelo HSV e o parâmetro L pode variar
entre 0, que corresponde a uma luminosidade nula, e 1 que equivale à
luminosidade máxima.
Entrelaçamento
Foi para permitir a observação do conteúdo de uma imagem sem dispor de
todos os seus pixéis que foi desenvolvida a técnica do entrelaçamento a partir
de uma técnica semelhante empregue na transmissão de imagens de televisão.
As imagens dos tipos High Color e True Color não empregam mapas de cores.
Compressão
A ocorrência de grupos de pixéis consecutivos da mesma cor (ex.: gráficos)
propicia o emprego de algoritmos de compressão do tipo RLE que substituem
tais grupos por duas unidades de informação: o número de pixéis do grupo e o
índice de cor dos seus pixéis.
Formatos PBM
Vantagens Desvantagens
• Fácil de gerar • Ficheiros de grande tamanho
• Três subtipos para diferentes tipos de • Não permite compressão
imagens
Formatos DIB
Vantagens Desvantagens
• Cores reais • Ficheiros de grande tamanho
• Múltiplos subtipos para diferentes tipos • Compressão limitada a subtipos
de imagens • Compressão inadequada a imagens de
qualidade fotográfica
Formato GIF
Um ficheiro, ou canal de dados, no formato GIF pode conter mais do que uma
imagem. Blocos de controlo inseridos entre imagens sucessivas determinam o
tempo durante o qual cada imagem persistirá na unidade gráfica de saída,
permitindo assim a apresentação sequenciada de várias imagens.
Vantagens Desvantagens
• Canal de dados • Limite de 256 cores
• GIFs animados • Formato e algoritmo de compressão
• Ficheiros de pequeno tamanho proprietários
• Impróprio para imagens de qualidade
fotográfica
• Transparência de uma única cor
Formato PNG
Vantagens Desvantagens
• Suporta todos os tipos de imagem • Algoritmo de compressão impróprio
• Algoritmo de compressão do domínio para imagens com qualidade fotográfica
público
• Filtragem opcional das linhas melhora a
qualidade
• Transparência por canal alfa
• Permite sequências de imagens
• Bytes armazenados segundo convenção
neutra
• Guarda a correcção gama (opcional)
O formato JFIF não utiliza o modelo de cor RGB, mas o modelo YCbCr com
quantização da cor que, logo à partida, reduz o conteúdo da imagem a metade
do seu tamanho original, mas acarreta perda de informação.
Vantagens Desvantagens
• Recomendado para imagens de • Há sempre perda (mas a visão não
qualidade fotográfica detecta)
• Algoritmo de compressão normalizados • Impróprio para imagens com variações
súbitas de cor
RASTERIZAÇÃO
O objectivo da rasterização é determinar quais as quadrículas que
representarão as primitivas gráficas
Algoritmo Imediato
Tomando como base a equação da recta
Para calcular o valor de y para um novo pixel cujo valor da coordenada x dista
uma unidade do valor anterior, basta adicionar o declive da recta ao anterior
valor de y. É ainda necessário proceder ao arredondamento matemático do
valor calculado.
O número de operações de vírgula flutuante a realizar reduz-se a duas adições
e uma truncatura. Como a multiplicação é uma operação mais cara que uma
adição em termos computacionais é de esperar um aumento significativo do
desempenho.
Algoritmo de Bresenham
O algoritmo de Bresenham realiza a rasterização de segmentos de recta
empregando apenas operações de aritmética de inteiros e, portanto permite um
maior desempenho. O algoritmo baseia-se no critério do ponto médio.
Rasterização de Circunferências
Preenchimento de Polígonos
Duplicação de intersecções
Ocorre quando a linha de varrimento intersecta um vértice de um polígono
onde concorrem sempre dois lados do polígono.
A solução para este caso passa por eliminar um dos lados do polígono. Se, por
convenção, não se considerar o lado do polígono que num dado vértice atinge
o valor máximo da sua ordenada, elimina-se aquela duplicação.
Lados horizontais
A intersecção de um lado horizontal com uma linha de varrimento, também
horizontal, resulta não num ponto, mas no próprio lado.
Exemplo:
Aliasing e Antialiasing
Precisão Imagem
• Para cada pixel da imagem é necessário determinar o objecto mais próximo
visível através do pixel e desenhar o pixel com a cor correcta.
• Precisão dependente da resolução do dispositivo de visualização;
visibilidade determinada em cada pixel
• Algoritmos orientados para dispositivos “raster”
• Susceptíveis ao fenómeno de aliasing
• Para n objectos e p pixéis a complexidade algorítmica é de n x p
• Operações elementares e de baixa carga computacional
Precisão Objecto
• Para cada objecto da cena é necessário determinar as partes visíveis do
objecto e desenhar essas partes com a cor correcta
• Precisão finita; resolução da visibilidade ao nível de porções dos objectos
• Algoritmos inicialmente orientados para dispositivos vectoriais
• Para n objectos presentes na cena tem-se uma carga computacional
proporcional a n2
• As operações individuais são tipicamente complexas e de elevada carga
computacional
Faces Traseiras
Algoritmo:
Inicializa o Zbuffer com a profundidade máxima e Frame-Buffer com
a cor de fundo
Para cada polígono
Para cada ponto do polígono:
pz = valor de z (x, y)
se pz < ReadZ (x, y)
WriteZ (x, y, pz)
WritePixel (x, y, cor em (x, y))
Vantagens Desvantagens
• Independente do número de polígonos • Melhora o desempenho se a ordenação
• Aplicável a qualquer forma for feita em Z
• Realizado em hardware • Problemas de aliasing
AlgoritmoDepth-Sort
Algoritmo:
• Ordenar todos os polígonos constituintes da cena por ordem
crescente da sua menor coordenada Z (ou ordem decrescente da sua
maior coordenada Z num referencial mão esquerda)
• Resolver situações ambíguas, nalguns casos em que os intervalos de
ocupação dos polígonos segundo ZZ se sobrepõem. Por vezes, a
resolução dessas ambiguidades passa pela fragmentação dos polígonos
• Rasterizar os polígonos (originais e resultantes da fragmentação) por
ordem crescente da sua menor coordenada (desenhar os polígonos por
ordem decrescente de profundidade)
Algoritmo do Pintor
Consiste numa versão simplificada do algoritmo Depth-Sort onde os
polígonos pertencem a planos com Z constante
Resolução de ambiguidades
Antes de rasterizar o primeiro polígono (P) da lista, ou seja, o mais afastado do
observador, compará-lo com todos os polígonos (Q) cujos intervalos de ocupação
segundo z sobreponham o intervalo z do primeiro.
O processo de comparação tem por objectivo provar que P não obstrui a visibilidade de
Q. Basta que uma das 5 condições seguintes se verifique:
1) Os intervalos de ocupação de P e Q, segundo XX , não se sobrepõem.
2) Os intervalos de ocupação de P e Q, segundo YY , não se sobrepõem.
3) P encontra-se totalmente contido no semi-espaço definido pelo plano de Q, oposto
aquele em que se encontra o ponto de observação da cena.
4) Q encontra-se totalmente contido no mesmo semi-espaço, definido pelo plano de P,
em que se encontra o ponto de observação da cena.
5) As projecções de P e Q no plano (x, y) não se sobrepõem.
Se P passa no teste de não obstrução com todos os polígonos Q pode ser rasterizado e o
próximo polígono da lista passa a ser o novo polígono P.
Algoritmo Scan-Line
Algoritmo:
• Construção da tabela de arestas (ET) para todas as arestas não horizontais de
todos os polígonos, projectadas no plano de visualização, ordenadas com base
na menor coordenada Y e em cada tabela no declive, contendo:
- coordenada X do vértice com menor Y
- coordenada Y do outro vértice
- incremento em X (dx é o inverso do declive)
- identificação do polígono
• Polígonos organizados em tabela de polígonos (PT) contendo:
- coeficiente equação do plano
- cor do polígono
- etiqueta de entrada/saída (inicialmente a falso)
• Manipulação da tabela de arestas activas (AET)
Recorte de Linhas
Algoritmo:
• Testar extremos do segmento com rectângulos de recorte
• Tratar os casos triviais de inclusão total
• Casos não triviais: usar equação paramétrica da recta
Algoritmo de Cohen-Sutherland
O algoritmo inicia-se com o cálculo do sub espaço em que se encontra cada
um dos vértices do segmento de recta a recortar. Para simplificar a
identificação dos sub espaços em que se encontram os vértices recorre-se a
uma codificação dos 9 sub espaços usando uma codificação com 4 bits
(outcodes), em que cada um dos bits define a posição do sub espaço
relativamente a uma das arestas do polígono de recorte.
Considera-se que OC0 é o código do sub espaço dentro do qual se encontra o
primeiro vértice do segmento de recta a recortar e que OC1 é o código do sub
espaço dentro do qual se encontra o segundo vértice do segmento.
Algoritmo de Sutherland-Hodgman
Este algoritmo permite o recorte de qualquer tipo de polígono por um
polígono convexo de recorte. Baseia-se na aproximação de “dividir para
conquistar” segundo a qual se obtém um polígono recortado por recorte
sucessivamente efectuado por cada uma das arestas de suporte de cada uma
das arestas do polígono de recorte.