Você está na página 1de 55

INTRODUO E CONCEITOS BSICOS

Taxionomia das Aplicaes Grficas


A Caractersticas dos objectos e modo como so visualizados
Dimensionalidade dos objectos. Os objectos podem ser subdivididos
consoante o espao em que esto definidos: espaos 2D e espaos 3D.
Dimensionalidade do espao. Local onde esto definidos os objectos.
possvel definir um ponto num espao 1D, 2D ou 3D assim como uma curva,
uma linha poligonal ou um texto num espao 2D ou 3D. No entanto no
possvel definir uma superfcie num espao 2D.
Tipo de imagens. Em relao ao tipo de imagens produzidas existe uma
dependncia relativamente ao espao em que os objectos esto definidos. Assim
uma curva definida num espao 2D pode ser visualizada como uma linha
poligonal ou pelo lugar geomtrico dos pontos que pertencem curva. Pelo
outro lado a curva pode ser representada com um padro (por exemplo trao
linha), com diferentes nveis de cinzento ou a cores. Se considerarmos uma
superfcie esta pode ser representada atravs de linhas poligonais (arames ou
wire-frame), as quais podem, alm dos atributos que existem em 2D incluir
tambm a remoo de linhas ocultas. Se a superfcie for definida como uma
malha de facetas (polgonos planares) ou como o lugar geomtrico dos pontos
que lhe pertencem podem ser retirados os elementos ocultos.
Iluminao. No mundo real para ser possvel visualizar um objecto
necessrio ilumin-lo. Este conceito de iluminao, aplicvel quer a cenas
definidas no espao 2D ou 3D tem impacte no modo como o objecto
visualizado. Considerando que no mundo real no existem objectos 2D comum
que tais objectos, em CG, tenham uma textura e/ou cor no sendo necessrio
ilumin-los para se obter a sua imagem.
Variao em funo do tempo. No que se designa por Animao por
Computador, os objectos podem estar estticos ou qualquer um dos seus
atributos pode variar em funo do tempo, quer se trate da geometria, cor,
textura ou modo como o objecto visualizado (cmara em movimento).
ainda possvel estender a rea da Computao Grfica a outros media tais
como o som, o tacto ou o cheiro. Dos 5 sentidos unicamente o gosto no tem
sido considerado.
B Interaco pessoa mquina
Representao passiva. Existe uma descrio dos objectos a visualizar
limitando-se o utilizador a mandar desenhar as imagens, quer se trate de uma
ferramenta de visualizao num ecr, da impresso num plotter ou da
sensibilizao de um filme de 35mm, recorrendo a um equipamento apropriado
ligado ao computador. Estas representaes podem ter sido criadas, por
exemplo, por outras pessoas e enviadas como parte de uma comunicao pessoapessoa assncrona.

Representao interactiva. O utilizador manipula os objectos, construindo a


cena de modo incremental, grava a cena, incluindo a sua iluminao, posio das
cmaras e, sempre que entender, obtm uma imagem no suporte mais
apropriado.
Sistemas de navegao. A cena est pr-definida podendo o utilizador
controlar no s o modo de iluminar a cena mas tambm definir e controlar
vrias cmaras virtuais e navegar num espao, normalmente, tridimensional.
Estes sistemas designam-se por de Tempo Real, sendo uma das ferramentas mais
populares: os navegadores VRML. Considerando o facto da cena ser esttica
existem algoritmos optimizados que permitem a visualizao da cena com
elevado grau de realismo (algoritmos baseados no conceito de radiosidade).
Ambiente de realidade virtual. Tambm de Tempo Real possvel no s
navegar mas tambm alterar a cena, incluindo a geometria e restantes atributos
dos objectos. Os navegadores VRML suportam tambm esta funcionalidade.
Agentes autnomos. Com a crescente importncia dos agentes autnomos, em
particular nos jogos de computador, de considerar um novo tipo de interaco
pessoa mquina na qual a mquina detm caractersticas, usualmente designadas
por humanas, tais como a inteligncia (dita artificial), autonomia, personalidade,
emoes e muitas outras.
Cooperao suportada em Avatars. Classe de aplicaes em que os objectos
grficos so as representaes complexas de outra pessoa com a qual o utilizador
est a interactuar. Esta classe de aplicaes aparece nos sistemas de
comunicao pessoa-pessoa, sncrona, atravs de canais de comunicao de
baixo dbito. Em primeiro lugar envia-se a geometria do avatar e informao
sobre os elementos a parametrizar. Durante a comunicao basta enviar os
parmetros que variam em funo do tempo (sorrir, erguer o sobrolho)
C Papel desempenhado pela imagem
Criao de imagens ou sequncias de imagens. A produo de publicaes
electrnicas, de pinturas ou de animaes so exemplos desta situao. Por outro
lado, para um cartgrafo o mais importante o rigor da informao que
medida no Mundo Real e no a simples produo de mapas.
Criao da cena. Representao de um produto que ir ser produzido quer se
trate de um edifcio ou de um produto electromecnico
D Modo como as imagens so apresentadas
Coerncia espacial. Quando existe coerncia espacial apresentada uma
imagem de cada vez seja no ecr, sob a forma de um lbum de fotografias, ou
numa impressora, num plotter ou sob a forma de uma imagem hologrfica
Coerncia temporal. Quando existe tambm coerncia temporal entre as
imagens elas podem ser apresentadas numa cadncia que esteja bem definida
(por exemplo 50 imagens / segundo), vulgo animao, ou numa cadncia
definvel, vulgo simulao. A apresentao da sequncia de imagem pode ser
efectuada no ecr de um computador ou ser gravada em vdeo e apresentada em
cinema, televiso ou no prprio ecr de um computador.

Arquitectura e Normas Grficas

Representao Vectorial e de Quadrcula


Num projecto de engenharia a geometria tem um papel central, pelo que a representao
vectorial afigura-se como a mais correcta, quando necessrio criar representaes do
Mundo, por exemplo a partir de imagens obtidas por satlite, a representao em
quadrcula a mais correcta.

Modelo Conceptual
Uma norma como o GKS (Graphic Kernel System) permite o clculo de primitivas
grficas tais como linhas poligonais, polgonos, marcas, texto e, apesar de se tratar de
uma norma vectorial, mapas de quadrculas.

Como as primitivas grficas eram 2D a distino entre Modelo e Vistas sobre o Modelo
no era fcil de apreender.
Para efectuar o clculo de uma vista sobre o modelo utilizado o que se designa por
Pipeline de Visualizao, isto , um conjunto de operaes algortmicas necessrias
transformao dos dados que descrevem um modelo nos dados necessrios ao desenho
de uma vista especfica numa superfcie de visualizao.

Em primeiro efectua-se o recorte identificando-se que parte do Mundo que poder ser
vista atravs de uma rea poligonal. Segue-se a transformao de coordenadas entre os
dois espaos de coordenadas. A fase final, necessria em CG em quadrcula, efectua-se
a discretizao da vista vectorial, com o clculo da representao em quadrculas da
vista sobre o modelo.

Deslocao da janela sobre o Mundo (Panning)

TRANSFORMAES
Utilidade das transformaes para a CG
Construo de objectos
Aumento do realismo

por composio hierrquica

- Objectos e cmara usam movimentos realistas


Realimentao cinestsica ao manipular objectos ou cmara
Cmara sinttica / parmetros de visualizao

Transformaes planas elementares


Translao

Escala

- Para deslocar polgonos


- No preserva comprimentos
necessrio aplicar a translao - No preserva ngulos
a cada um dos vrtices
(excepo: escala uniforme)
- Preserva comprimentos
(isomtrica)
- Preserva ngulos (conforme)

Rotao
- Rotao de vectores de
um ngulo
- Preserva comprimentos e
ngulos
- Demonstrao atravs da
soma de ngulos

Tipos de transformaes
Lineares Transformam linhas em linhas ou pontos. A imagem do vector (0,0)
sempre (0,0)
Afins Transformam linhas paralelas em linhas paralelas. A imagem do vector (0,0)
nem sempre (0,0)
Projectivas No preservam necessariamente o paralelismo das linhas. A imagem de
uma linha um ponto ou outra linha, nunca uma curva

Coordenadas Homogneas
Pontos 2D escrevem-se como vectores de (1 x 3): [x y 1]
Transformaes geomtricas como matrizes: (3 x 3)
w = 1 para transformaes afins em 2D

Problema: Rotao definida em relao a (0,0)


Como rodar em torno de um ponto qualquer?
Resposta: Sequncia de 3 transformaes bsicas

Composio de transformaes
Em geral no comutativa (produto de matrizes no o )
Alguns pares comutativos
- translao + translao
- escala + escala
- rotao + rotao

Transformaes Bsicas 3D
Translao T(dx, dy, dz)

Rx (
): em torno do eixo
dos XX

Escala S(Sx, Sy, Sz)

Rotao
Ry (
): em torno do eixo
dos YY

Rz (
): em torno do eixo
dos ZZ

PIPELINE DE VISUALIZAO
Arquitectura Global
O tradicional sistema grfico baseado num pipeline de visualizao constitudo por
trs grandes blocos:
as operaes de construo da cena;
as operaes geomtricas que basicamente actuam sobre os vrtices dos
polgonos e que incluem as operaes de pr-remoo de polgonos no visveis
(Culling), o recorte de polgonos (Clipping), a aplicao da transformao
perspectiva, a determinao da luminosidade por aplicao do modelo de
iluminao, a segmentao opcional de polgonos em tringulos (ou
triangulao) e a operao de mapeamento nas coordenadas fsicas do
dispositivo de visualizao
a rasterizao responsvel pelo clculo dos pixeis, remoo de superfcies
ocultas e sombreamento

Sistemas Coordenados
De forma a facilitar a modelao de um determinado objecto, opta-se geralmente por
descrever os seus diversos componentes (isto , especificar os vrtices dos polgonos
que o constituem) em funo de um ponto localizado dentro ou perto do prprio
objecto. Nesta situao, os objectos dizem-se descritos em termos de um Sistema de
Coordenadas Local.
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 so
transformados de forma a poderem ser representados em funo de um referencial
nico, o que permite especificar o seu posicionamento relativo. Este referencial comum
denominado Sistema de Coordenadas do Mundo. A descrio de cena
complementada com a especificao das posies das fontes luminosas e da posio da
cmara, em particular, do ponto de observao e da direco de observao.
Em CG recorre-se ao conceito de cmara virtual para definir um novo referencial,
denominado Sistema de Coordenadas da Cmara, cuja origem coincide com o centro
de projeco (posio da cmara) e cujo eixo dos ZZ normal ao plano de visualizao
e representa a direco de observao.
O ltimo espao de coordenadas em que os objectos so transformados est relacionado
com as tcnicas de projeco dos objectos da cena no plano de visualizao. Define-se,
nesse sentido, um volume de visualizao que delimita o volume do espao que ser
visualizado.
Nota:
Uma cena composta por objectos, parmetros de visualizao e fontes luminosas

Interface de Visualizao
Um sistema de Visualizao consiste num conjunto de parmetros atravs dos quais um
utilizador pode estabelecer uma transformao que conduza ao mapeamento de pontos
definidos em coordenadas do Mundo (WCS) em pontos sobre uma superfcie de
visualizao (2D).
O utilizador tem que definir a posio da cmara, a posio e a orientao do Plano de
Visualizao no sistema de coordenadas WCS e o volume de visualizao dentro do
qual reside a poro da cena a visualizar.
Parmetros de posio e orientao de um observador:
Posio da cmara: VRP (View Reference Point) em WCS
Direco para onde a cmara aponta: VPN (View Plane Normal) ou seja, a
direco de visualizao define imediatamente o plano de visualizao
Vertical: VUV (View Up Vector) define o ngulo de rotao em torno do VPN
Distncia do plano de visualizao ao VRP, sobre a direco VPN: D

A rea rectangular, no plano de visualizao, aonde ir ser projectada a cena, tem o


nome de Janela de Visualizao e no modelo de cmara virtual simples est centrada
simetricamente relativamente ao VRP

O Volume de Visualizao contm a parte da cena que est visvel na direco do


observador, ou seja, tudo aquilo que a cmara v. A topologia do volume de
visualizao depende do tipo de projeco utilizada. No modelo de cmara virtual
simples pode especificar 2 tipos de projeco: projeco perspectiva e projeco
ortogonal.

Projeco Perspectiva

Projeco Ortogonal

O volume de visualizao definido por


um tronco de pirmide infinito cujo
pice se localiza no VRP e lados sobre a
janela de visualizao. Fazendo o recorte
da cena sobre este volume, no ficam
projectados objectos que se encontrem
atrs do centro de projeco.

O volume de visualizao definido por


um paraleleppedo infinito passando
pelos lados da janela de visualizao e de
arestas paralelas direco VPN

Existem consequncias negativas na utilizao de volumes de visualizao infinitos, que


so particularmente evidentes no caso das projeces em perspectiva. Os objectos muito
afastados, depois de transformados ponto a ponto, podem reduzir-se a uma pequena
mancha no ecr, o que corresponde a um desperdcio de tempo de computao. Por
outro lado, projeces de objectos demasiado prximos, podem gerar resultados
caticos, impossibilitando deste modo uma correcta visualizao.
A soluo passa por definir planos de recorte paralelos ao plano de projeco, atravs da
sua distncia ao ponto VRP e medida ao longo da direco VPN.

Resumo:

Construo de uma vista arbitrria 3D


Transformao de Visualizao resume-se a colocar os objectos da cena de acordo
com a posio e a direco de um observador e implementada por uma translao e
uma rotao cujas matrizes so:

Ento, a transformao de visualizao ser:


A converso para o volume cannico ortogonal implica a realizao de 2 passos:
Translao do paraleleppedo de F unidades na direco segundo Z, de modo a
que o plano anterior se localize na origem
Escalar para que -1 x , y 1 e 0 z 1. A estas transformaes
correspondem as matrizes de transformao

A transformao completa para o clculo do volume cannico ortogonal ser ento:

Para obter o volume cannico perspectivo h que escalar o volume de visualizao


genrico nas duas direces x e y de modo a que se obtenha um declive unitrio para os
planos laterais

Por outro lado, z no pode ser maior que 1, isto significa escalar o plano z = B

A transformao completa para o clculo do volume cannico perspectivo ser ento:

Transformao total a ser aplicada aos objectos da cena antes da execuo do algoritmo
de recorte, para cada tipo de projeco:
Projeco Ortogonal

Projeco Perspectiva

Transformao Perspectiva
Na projeco ortogonal, os clculos destinados a determinar se dois pontos P1 e P2 se
encontram sobre o mesmo raio projector so bastante simples pois consistem em
verificar se x1 = x2 e y1 = y2. Esta simplicidade decorre do facto de os raios projectores
na projeco ortogonal do modelo de cmara virtual simples serem paralelos ao eixo
dos ZZ.
No caso da projeco perspectiva, os clculos complicam-se pois os raios projectores
so convergentes num centro de projeco e, portanto, oblquos. Isto implica
imediatamente que o clculo de visibilidade se revele dispendioso sobre o frustum
cannico.
A soluo para este problema passa por converter o frustum normalizado no
paraleleppedo cannico atravs de uma operao conhecida por Transformao
Perspectiva que opera num espao 3D e de que resultam pontos ainda num espao 3D.
As vantagens inerentes utilizao desta transformao so:
A determinao da possibilidade de ocluso entre dois pontos realizada por
simples comparaes das duas primeiras coordenadas (x1 = x2 e y1 = y2)
O recorte especializado apenas para o volume cannico ortogonal
No desenho 2D utiliza-se a projeco ortogonal
O uso desta transformao tem as seguintes consequncias:
Transforma vrtices do frustum em vrtices do paraleleppedo cannico
O vrtice da pirmide (centro de projeco) desloca-se para -
Plano anterior, localizado em k, deslocado para a origem
Os valores de z variam entre 0 e 1

PROJECES
Projeces Geomtricas Planas
Projeco Perspectiva

Projeco Paralela

Determinada pelo centro de projeco


(CDP)
Distncia do CDP ao plano finita
Os raios projectores so convergentes

Determinada por direco de projeco


Distncia ao CDP ao plano infinita
Os raios projectores so paralelos entre
si

Projeces Paralelas
Existem dois tipos distintos de projeces paralelas, em funo de:
direco de projeco
normal ao plano de projeco
As Projeces Ortogonais so projeces cuja direco de projeco coincide com a
normal ao plano. Quando a normal ao plano est alinhada com um dos eixos obtm-se
as vistas (planta, alado frontal, alado lateral). Se a normal ao plano no estiver
alinhada com nenhum dos eixos ento obtm-se as Projeces Axonomtricas
(Isomtricas ngulos de 120 entre eixos; Dimtricas 2 ngulos iguais; Trimtrica
3 ngulos diferentes).
As projeces ortogonais so usadas em desenhos tcnicos (engenharia civil e
mecnica, arquitectura). A vantagem deste tipo de projeco que utiliza medidas
precisas e tem todas as vistas na mesma escala. As limitaes das projeces ortogonais
que no possvel visualizar objectos 3D e so necessrias mltiplas vistas para
definir uma pea.
As Projeces Obliquas so projeces cujos raios projectores formam um ngulo
oblquo com o plano de projeco. O plano de projeco normal a um dos eixos
principais. As vantagens das projeces obliquas que mostra a forma exacta de uma
face do objecto projectado, permite a comparao de dimenses e transmite a ideia de
um objecto 3D. As desvantagens que dependendo do plano de projeco a aparncia
pode aparecer distorcida e tem alguma falta de realismo.

Alguns exemplos de projeces obliquas so o caso da Projeco Cavaleira, que tem


um ngulo entre os projectores e a normal de 45 e as faces so perpendiculares
escala. Um outro exemplo a Projeco Gabinete, cujo ngulo entre os projectores e a
normal arctg(2), ou seja, 63.4 e as faces do objecto so perpendiculares escala de
50%

Cavaleira

Gabinete

Projeces Perspectivas
A aplicao de projeces perspectivas mais utilizada em publicidade, arquitectura,
desenho industrial, engenharia, artes grficas, entre outras. Este tipo de projeces
garante maior realismo mas alteram a geometria dos objectos.
Caractersticas:
Linhas paralelas (no ao plano de projeco) convergem em pontos de fuga
Linhas paralelas aos eixos definem pontos de fuga axiais (mximo de 3)
No mantm proporcionalidade entre distncias
Tamanho dos objectos diminui com a distncia
S mantm a amplitude dos ngulos em faces paralelas ao plano de projeco
Pontos de fuga:
Nmero de pontos de fuga igual ao nmero de eixos coordenados
intersectados pelo plano de projeco
S para formas
- Faces em ngulos rectos
- Normais s faces perpendiculares aos eixos coordenados

Transformao Perspectiva
Plano de Projeco:
normal ao eixo dos ZZ
em z = d
mapeado na superfcie de visualizao
do dispositivo
origem do espao de coordenadas de
visualizao igual interseco do plano
com o eixo ZZ

Transformao Ortogonal
Plano de projeco perpendicular direco de projeco
Simplificar:
- Direco de projeco coincidente com o eixo ZZ
- Raios projectores paralelos a ZZ

ILUMINAO E SOMBREAMENTO
Para ser possvel obter a imagem de uma cena esta ter que ser iluminada por uma ou
mais fontes de luz e tm que ser definidas as propriedades de interaco entre os
objectos que existem na cena e a energia luminosa que incide em cada um deles.
O processo de sombreamento consiste no clculo da cor de cada uma das quadrculas
que foram identificadas no processo de rasterizao dos elementos da cena.
Quando se consideram unicamente as contribuies da energia que emitida pelas
fontes de luz e reflectida por uma nica superfcie designa-se por Modelos de
Iluminao Local, que requerem um esforo computacional baixo e conduzem a
imagens com uma qualidade aceitvel para muitas aplicaes.
Nos Modelos de Iluminao Global considerada tambm a iluminao que
reflectida ou refractada por outras superfcies. Estes modelos so fisicamente mais
correctos e produzem imagens com maior grau de realismo, mas requerem um esforo
computacional elevado.
Modelo de Iluminao Local de Phong
Este modelo permite calcular o valor da intensidade de um raio reflectido por uma
superfcie em funo da orientao da superfcie, da posio da cmara, da posio da
fonte de luz e das propriedades da superfcie.
O modelo de iluminao de Phong considera que os materiais, quanto ao modo como
reflectem a energia luminosa, so uma combinao linear de um material que reflecte
toda a energia numa nica direco, reflexo especular e de um material que reflecte
toda a energia luminosa de igual modo em todas as direces, reflexo difusa.
O modelo considera ainda a existncia de uma componente de Luz Ambiente a qual
simula a existncia de iluminao global, isto , de energia luminosa que reflectida por
todas as restantes superfcies presentes numa cena e que ilumina a superfcie.
Luz Ambiente
Se uma superfcie, mesmo visvel, no estiver directamente iluminada por um raio de
luz, no ser desenhada.
Para resolver esse problema, o modelo assume que todas as superfcies da cena vo ser
iluminadas por uma fonte de luz ambiente, de valor constante, a qual resulta de
mltiplas reflexes da luz nas superfcies da cena.
Reflexo Difusa
Na reflexo difusa a energia luminosa reflectida com igual intensidade em todas as
direces, segundo uma semiesfera, e o seu valor depende unicamente do ngulo de
entre o raio incidente e a normal superfcie do objecto

A intensidade da energia luminosa reflectida no depende da posio do observador


Reflexo Especular
Na reflexo especular as propriedades do material so tais que toda a energia que incide
num ponto segundo uma dada direco fazendo um ngulo com a normal superfcie,
reflectiva segundo o mesmo ngulo. Sendo o ngulo entre o vector unitrio normal
superfcie, N, no ponto de incidncia e o vector unitrio da fonte de luz, L.

A existncia de superfcies especulares perfeitas uma aproximao muito limitativa da


realidade. S seria possvel visualizar a superfcie se o raio reflectido coincidisse com a
direco de viso.
Para ultrapassar este problema considera-se a existncia de superfcies reflectoras
especulares imperfeitas, onde a reflexo se verifica dentro de um ngulo slido em torno
de raio reflectido. possvel obter o que se designa por brilho quando se observa o
objecto segundo um ponto de vista prximo do raio reflectido

Combinando todas as componentes descritas obtm-se a expresso global do modelo de


reflexo de Phong

Atenuao Atmosfrica
Para melhorar o realismo da imagem devia ser possvel considerar a absoro da energia
luminosa pelo meio de transmisso que usado no percurso entre o objecto e o ponto de
vista. Este efeito, designado por Depth Cueing, permite representar com menor
intensidade luminosa os objectos que se encontrem mais afastados do ponto de vista.
No modelo de reflexo de Phong tal efeito de atenuao obtido atravs da dependncia
da distncia entre o objecto e o ponto de vista do seguinte modo

Mtodos 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 obtm com este mtodo de sombreamento so de baixa qualidade
uma vez que ficam visveis as diferenas de cor nas fronteiras entre facetas, produzindo
imagens muito pouco realistas.
Os fracos resultados do mtodo resultam do facto de aplicar um modelo de iluminao
local a cada faceta, no tendo em considerao que as facetas so partes de um nico
objecto.
Sombreamento de Gouraud
A influncia de facetas adjacentes contemplada atravs do clculo de normais em cada
vrtice da malha de facetas. Estas normais so obtidas por interpolao das normais de
todas as facetas que partilham um mesmo vrtice.
A maior limitao do mtodo de sombreamento de Gouraud resulta do modo como
efectuada a interpolao.
Sombreamento de Phong
No mtodo de sombreamento de Phong, a partir das normais aos vrtices, que so
calculadas do mesmo modo que no sombreamento de Gouraud, calculada a normal a
cada quadrcula atravs da interpolao das normais. A normal calculada para cada
quadrcula ento usada no modelo de iluminao de Phong para calcular a intensidade
da energia luminosa reflectida.
Este mtodo computacionalmente mais pesado uma vez que necessrio calcular a
cor, por aplicao do modelo de sombreamento de Phong a todas as quadrculas da
faceta.
Limitaes das Aproximaes Interpoladas
Sendo a normal o nico elemento geomtrico utilizado no modelo de reflexo de Phong,
a geometria da silhueta de qualquer objecto modelado atravs de malha de facetas
aparecer pouco realista.

Uma segunda limitao resulta do facto da interpolao de intensidade ser executada em


coordenadas de ecr, embora partindo de vectores normais calculados em coordenadas
do mundo. No tendo impacte negativo no clculo da imagem de uma cena, poder no
entanto conduzir a perturbaes perceptveis em sequncias animadas.
Um ltimo problema est relacionado com o aparecimento de falsos alisamentos entre
facetas adjacentes.
Mtodo de Sombreamento Misto
Considerando as vantagens de cada um dos mtodos de sombreamento, em particular a
rapidez do mtodo de Gouraud e a boa capacidade em tratar a componente especular do
mtodo de Phong, existe toda a convenincia em combinar a aplicao dos 2 mtodos
na criao de imagens.

RAY TRACING
Algoritmo Fundamental de Ray Tracing
Os algoritmos de ray tracing so algoritmos para determinar a visibilidade dos objectos
de uma cena, operando ao nvel de preciso da imagem. O algoritmo fundamental de ray
tracing considera raios com origem no centro de projeco em que cada um dos raios
passa pelo ponto correspondente a um pixel da imagem sobre o plano de projeco da
cena a representar. Se um raio no intersectar nenhum objecto da cena, atribuda ao
pixel da imagem por onde o raio passa a cor de fundo da cena e ao pixel correspondente
ao raio atribuda a cor do ponto de interseco mais prximo da origem do raio.
A determinao da cor de cada pixel da imagem depende do clculo da iluminao no
ponto da cena que o raio atinge. Esta depende da iluminao directa deste ponto pelas
fontes de luz da cena, da iluminao global da cena e da iluminao devida luz
reflectida pelos objectos da cena que atinge esse ponto.
Existem trs componentes que contribuem para a iluminao:
luz proveniente de outros objectos, onde foi reflectida na direco do objecto
cuja iluminao se pretende determinar
luz refractada transmitida atravs do objecto e que ilumina o ponto
luz proveniente directamente das fontes de luz e que reflectida pelo objecto
A determinao de cada uma destas componentes requer clculos prprios, sendo
necessrio inspeccionar as origens provveis de cada uma delas. Para isto empregam-se
os chamados raios secundrios, traados em sentido inverso ao da propagao da luz
correspondente a cada uma das componentes.
raios reflectidos
raios refractados
raios de iluminao directa ou de sombra
A determinao das interseces destes raios secundrios com os objectos da cena
permite ento calcular as caractersticas da luz proveniente desses objectos e a sua
contribuio para a iluminao do ponto de interseco do raio primrio com o objecto
original.
Clculo de Interseces
Os algoritmos para o clculo de interseces no devem realizar quaisquer clculos
significativos antes de verificar se existe ou no interseco dos raios com os objectos.
Equao paramtrica de um Raio
Em ray tracing, a origem dos raios primrios encontra-se no centro de projeco,
enquanto
corresponde ao centro do pixel cujas propriedades se pretende determinar.
O valor de t corresponder ento s seguintes situaes:

t<0
0t1
t>1

pontos para trs do centro de projeco e que no pertencem ao


raio
pontos localizados entre o centro de projeco e o plano de
projeco
pontos situados para l do plano de projeco

Interaco da Luz com as Superfcies


Reflexo especular perfeita
Ocorre em superfcies lisas e brilhantes, normalmente espelhadas, metlicas ou de vidro.
O raio reflectido existe no plano definido pelo raio incidente e pela normal superfcie
e o ngulo de reflexo igual ao ngulo de incidncia.

Reflexo difusa perfeita


Nas superfcies rugosas no existe uma direco pr-determinada segundo a qual a luz
incidente reflectida. Todas as direces so igualmente provveis e, segundo o modelo
de reflexo difusa, a intensidade da luz reflectida igual em todas as direces.

Transmisso especular perfeita e refraco


A luz propaga-se atravs dos objectos transparentes ou translcidos. Os objectos
aparentam estar mais prximos do observador do que realmente se encontram.
A lei de Snell estabelece a relao entre os dois ngulos e os ndices de refraco ()
dos dois meios

O ndice de refraco de um meio depende das propriedades pticas desse meio e varia
de meio para meio. O valor do ndice de refraco de um meio depende tambm da
frequncia (ou do comprimento de onda) da luz.

Reflexo total na interface entre dois meios


Um raio luminoso sofre uma refraco 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
fenmeno denominado de reflexo total e a sua ocorrncia depende do ngulo de
incidncia do raio luminoso e dos ndices de refraco dos dois meios.
O valor mximo que o ngulo t pode assumir 90. Existir ento um valor limite do
ngulo i a partir do qual deixa de se dar a refraco e passa a verificar-se a reflexo dos
raios incidentes na interface entre os dois meios
ngulo crtico:
Extenso do modelo de iluminao de Phong
O modelo de iluminao de Phong no inclui a contribuio da luz transmitida atravs
de objectos transparentes ou translcidos para a iluminao. necessrio estender este
modelo para que possa ser empregue pelos algoritmos de ray tracing, adicionando um
termo correspondente luz assim transmitida.

Iluminao directa e determinao de sombras


A iluminao de interseco de um raio primrio com um objecto da cena a representar
pode ser directa se o objecto for directamente iluminado por uma ou mais das fontes de
luz existentes na cena. Para verificar se esta condio ocorre necessrio determinar se
o ponto de interseco se encontra em linha directa de viso com cada uma das fontes
de luz. Se tal acontecer, o ponto ser directamente iluminado pela fonte de luz e a
respectiva contribuio para a iluminao do ponto deve ento ser calculada. Caso
contrrio, o objecto encontrar-se- na sombra em relao a essa fonte de luz.
Para efectuar esta verificao empregam-se raios secundrios do tipo raios de
iluminao.

Algoritmo Completo
O algoritmo bsico de ray tracing encontra-se incompleto porque se limita a atribuir a
cada pixel da imagem a cor do ponto de interseco do raio primrio correspondente ao
pixel com o objecto mais prximo da origem do raio, sem atender a outras contribuies
para a iluminao desse ponto de interseco que no seja a sua iluminao directa.
necessrio inspeccionar recursivamente a cena atravs da gerao de raios secundrios.
O algoritmo recursivo parte do nvel zero com o valor negro atribudo cor e com a
direco e origem do raio primrio correspondente ao pixel cuja cor se pretende
determinar. Se o raio no intersectar qualquer objecto, ento a cor do pixel ser a cor de
fundo da cena e o processo recursivo terminar. Caso contrrio determina-se a cor local
devida iluminao directa atravs de raios de iluminao. Seguidamente determinamse os raios secundrios correspondentes s direces cujos raios reflectido e transmitido
coincidem com a direco do raio corrente e calculam-se as respectivas contribuies
para a cor do ponto corrente que, devidamente ponderadas, sero somadas com a cor
local cor anteriormente determinada para o raio que est a ser calculado.
Estratgias de Optimizao
A carga computacional da gerao de imagens pelo algoritmo de ray tracing bastante
pesada devido ao clculo das interseces dos raios com os objectos da cena. Para
resolver este problema existem quatro tipos de solues:
Transformao da cena segundo o raio
A localizao espacial das interseces de um raio com os objectos de uma cena s
conhecida depois de essas interseces terem sido calculadas. Se o raio coincidir com o
eixo dos ZZ da cena, sabe-se que todas as interseces correspondero a pontos para os
quais X = 0 e Y = 0. Pode-se, ento, fazer uso deste conhecimento, no procurando
interseces do raio com todos os objectos que no possuam pontos com valor nulo das
coordenadas X e Y.
Esta estratgia apresenta no entanto a desvantagem computacional devida necessidade
de aplicar uma transformao especfica para cada raio, e de cada transformao ter que
ser aplicada a todos os objectos da cena.
Interseco com volumes envolventes
Testar a existncia de interseco entre o raio e o volume envolvente do objecto cuja
interseco com o raio mais fcil e rapidamente determinada. Se o resultado for
afirmativo, existe grande probabilidade de existncia de interseco entre o raio e o
objecto e, ento, devero ser realizados clculos mais detalhados de interseco com os
elementos descritores do objecto. Caso contrrio, pode-se passar ao objecto seguinte da
lista de objectos da cena e poupa-se clculos demorados que iriam contribuir para tornar
o processamento da imagem muito mais demorado.
O volume envolvente deve ser tal que o objecto o preencha o mais completamente
possvel, para que no ocorram muitas situaes em que, existindo interseco entre o
raio e o volume envolvente do objecto, no exista interseco do raio com o objecto
envolvido pelo volume.

Esta estratgia permite diminuir a carga computacional de clculo de interseco entre


um raio e os objectos, pois elimina imediatamente o objecto contido num volume
envolvente se este volume no for intersectado.
Hierarquizao do espao
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 intermdio representa um volume que envolve todos os
volumes situados nos ramos que dele dependem. Se num dado n existir interseco
entre o respectivo volume envolvente e o raio, dever-se- ento inspeccionar todos os
ramos com origem nesse n. Se no existir interseco com o volume envolvente a esse
nvel, ento no existiro quaisquer interseces do raio com os volumes
correspondentes aos ramos com origem nesse n e a determinao de interseces pode
ser imediatamente terminada para o ramo corrente.
Partio do espao
Dividir o espao da cena em volumes envolventes paralelepipdicos dispostos segundo
uma grelha tridimensional. Cada partio do espao assim obtida poder ou no conter
objectos, no sendo necessrio que cada objecto esteja totalmente contido numa nica
partio.
Dado um raio, esta estratgia consiste ento em determinar a interseco do raio com as
parties seguindo uma ordem de teste por distncia crescente das parties origem do
raio.
Uma partio intersectada pelo raio liminarmente eliminada se no contiver quaisquer
objectos. Caso contrrio calculam-se ento as interseces do raio com os objectos
contidos na partio para, no final, reter a interseco correspondente menor distncia
origem do raio, aplicando a cada partio uma lgica em tudo semelhante aplicada a
toda a cena quando se no considera a sua partio.
Antialiasing em Ray Tracing
A preciso dos algoritmos de ray tracing depende da resoluo da quadrcula empregue,
que se encontra no espao de imagem. Por este motivo, os algoritmos de ray tracing
esto sujeitos a fenmenos de aliasing que podem ser contrariados por tcnicas de
antialiasing de pr-filtragem.
A cor de um pixel determinada calculando a cor no ponto de interseco do raio
primrio correspondente ao pixel com o objecto intersectado no espao do objecto. Em
lugar de se empregar apenas um raio primrio por cada pixel, poder-se-o empregar
vrios raios primrios cobrindo uniformemente a rea correspondente ao pixel. A cor do
pixel ser, ento, a mdia das cores determinadas por cada um dos raios, o que equivale
a realizar uma pr-filtragem por sobre amostragem.
Amostragem adaptativa
Emprega inicialmente menos raios primrios por cada rea, normalmente em nmero 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 mdia para a cor do pixel da imagem correspondente a essa rea.

Um problema desta tcnica reside em arbitrar quando que existe ou no uma diferena
significativa entre as cores. Por outro lado, no bvio que a amostragem seja
significativa apenas porque as cores dos cinco raios de uma rea so idnticas ou
semelhantes, pois pode acontecer que exista na rea um objecto de pequena dimenso
que no seja detectado por qualquer dos cinco raios. A causa deste problema est na
natureza regular da malha definida pelos cinco raios.
Amostragem estocstica
Esta tcnica permite calcular cores mdias mais correctas, pois os raios encontram-se
melhor distribudos dentro da rea correspondente a cada pixel, mas introduz rudo
devido distribuio aleatria. Esta tcnica produz resultados de melhor qualidade
visual, principalmente em zonas de sombra parcial onde no existem arestas vivas.
Persistem os problemas associados ao nmero de raios a calcular e correspondente
carga computacional. Podem existir pixeis para os quais nove raios primrios so ainda
insuficientes, como o caso de um pixel a que corresponda uma rea de padro
axadrezado que contenha 16 cores diferentes. A soluo consiste no aumento sucessivo
do nmero de raios primrios at que, estatisticamente, se possa determinar que a cor
calculada a cor correcta com uma dada probabilidade de certeza.

RADIOSIDADE
O mtodo da radiosidade tem por objectivo o clculo da iluminao e do sombreamento
em cenas em que predominam superfcies reflectoras difusas, e deriva do clculo das
trocas de radiao trmica entre superfcies empregue em Transmisso de Calor
adaptado Computao Grfica.
A primeira diferena entre o mtodo da radiosidade em Transmisso de Calor e em
Computao Grfica est em que, na primeira, a radiao a ter em conta se encontra na
zona do espectro electromagntico cuja radiao produz efeitos trmicos ao atingir os
corpos, a zona dos infravermelhos, enquanto que na segunda a radiao a tratar
corresponde radiao na zona visvel do espectro, a luz. A segunda diferena consiste
em que, em Computao Grfica, o objectivo do mtodo determinar a luz proveniente
de uma superfcie, a radiosidade da superfcie, enquanto que em Transmisso de Calor o
objectivo determinar a temperatura das superfcies que trocam radiao trmica ou o
saldo da radiao trocada entre superfcies.
Para calcular as radiosidades de uma cena, dividem-se as superfcies desta em reas em
que a radiosidade possa ser considerada uniforme e, seguidamente, estabelecem-se as
equaes de balano para cada uma das reas. A preciso dos resultados depende assim
do nmero de reas consideradas, do tamanho destas reas e da sua adequao em
reproduzir os gradientes de sombreamento existentes na realidade.
O mtodo da radiosidade um mtodo que opera no espao dos objectos e no depende
da vista de cena que se pretende gerar.
Equao da Radiosidade
Irradiao total
A energia radiante total que atinge uma dada superfcie pode ser por esta absorvida,
reflectida ou transmitida em propores que dependem das propriedades fsicas da
superfcie e do respectivo corpo.
Absorsividade () fraco da irradiao total que absorvida
Reflectividade () fraco da irradiao total que reflectida
Transmissividade () fraco da irradiao total que transmitida atravs
do corpo da superfcie
Radiosidade total e radiosidade
A energia radiante total proveniente de uma superfcie designada como a radiosidade
total dessa superfcie.
Irradiao (I) energia incidente numa superfcie por unidade de rea da
superfcie
Poder Emissivo (E) energia emitida por uma superfcie por unidade de rea
de superfcie
Radiosidade (B) energia radiante que abandona uma superfcie por unidade
de rea de superfcie

Factores de forma
Os factores de forma assumem um significado geomtrico preciso correspondente
forma como cada superfcie v outra superfcie. Isto corresponde ao ngulo slido do
campo de viso da superfcie que v ocupado pela superfcie que vista.
Os factores de forma dependem unicamente da geometria das superfcies e da sua
disposio espacial relativa

Propriedades dos factores de forma


Reciprocidade
Aditividade
Fecho
Equao da Radiosidade

Esta equao tem que ser resolvida para cada uma das reas em que a cena a calcular se
encontra decomposta.

Mtodo do Hemicubo
O mtodo do hemicubo tem por base a analogia de Nusselt:
Se duas superfcies diferentes ocupam a mesma parte do horizonte visual de
uma terceira superfcie, os factores de forma desta ltima para cada uma
daquelas so iguais
A analogia de Nusselt permite substituir o clculo de factores de forma de geometrias
complexas pelo clculo de factores de forma de geometrias mais simples, recorrendo a
geometrias para as quais existam expresses analticas e cuja carga computacional no
seja demasiado elevada (rectngulos paralelos e rectngulos perpendiculares).
Considera-se duas superfcies para as quais se pretende determinar os factores de forma
e define-se um cubo centrado numa dessas superfcies, envolvendo-a completamente, e
em que um dos eixos coincide com a direco da normal superfcie. Para efeitos da
determinao dos factores de forma, considera-se apenas a metade do cubo e descarta-se
a outra metade.

Optimizao
Os algoritmos anteriormente descritos para o clculo das radiosidades de uma cena
resolvem alguns dos principais problemas encontrados, mas deixam ainda por resolver
dois tipos de problemas:
Grau de discretizao da cena
Velocidade de convergncia do mtodo de resoluo do sistema de equaes
lineares a resolver
A soluo a estes dois problemas baseia-se em:
Subdiviso Adaptativa consiste em identificar as reas de maiores
gradientes de radiosidade e subdividi-las quando se verifique que a diviso
inicial foi demasiado grosseira face aos gradientes calculados
Radiosidade Progressiva

MODELAO GEOMTRICA
Modelao geomtrica o conjunto de operaes que concorrem para a definio da
geometria e das propriedades dos objectos a ela associadas.
Os objectivos da modelao no se limitam mera construo de modelos dos objectos
para produzir imagens de cenas.
A modelao geomtrica permite definir as formas e propriedades dos objectos antes de
os mesmos serem manufacturados e determinar que processos de fabrico devero ser
empregues na sua fabricao.
A modelao geomtrica desempenha tambm um papel importante na modelao
conjunta de objectos com componentes mveis e na montagem de componentes.
A modelao deve ter em conta o realismo das representaes dos objectos.
Propriedades Desejveis para as Representaes
Existem vrios tipos de representao para a modelao geomtrica de slidos em que
cada forma pode ainda apresentar variantes. Esta multiplicidade tem origem nos
requisitos particulares decorrentes dos objectivos de cada tipo de representao. A
modelao dos objectos deve ser a mais exacta possvel para que o tipo de representao
no introduza quaisquer artefactos indesejveis.
Convm que as representaes sejam universais, isto , possam representar todos os
objectos imaginveis e no apenas um nmero restrito. Como tal impossvel na
prtica, as representaes devero ento poder representar o maior nmero possvel de
objectos.
Os objectos devem tambm ser fielmente representados para que no possam existir
ambiguidades de interpretao quanto ao objecto representado.
As representaes devem ser nicas, o que implica que cada tipo de representao no
possa representar um objecto por mais do que uma forma. Se no houvesse uma
representao nica, poder-se-ia concluir que dois objectos eram diferentes embora se
tratasse do mesmo objecto representado de duas maneiras.
A representao de objectos deve ser precisa, isto , no deve conter aproximaes pois
disto depende o realismo da sua visualizao e a correco com que poder ser
manufacturado.
Exige-se que os processos de criao de representaes apresentem menores
probabilidades de ocorrncia de erros.
O processamento de representaes dos modelos geomtricos de slidos requer que
estas sejam compactas para que ao processamentos sejam rpidos e que estes possam
igualmente ser realizados atravs de algoritmos eficientes.

Tipos de Representao
Instanciao de primitivas
uma das representaes mais usadas devido sua grande simplicidade e flexibilidade
de emprego. Este tipo de representao tem por base a definio de objectos
geomtricos tridimensionais, as primitivas, que possuem atributos, os parmetros, cujos
valores so definidos pelo utilizador no momento da criao de uma nova instncia.
As primitivas sero postas disposio dos utilizadores em bibliotecas ou repertrios
mais ou menos complexos mas sempre adequados aos fins em vista.
Os objectos modelados por instanciao de primitivas so agrupveis para construir
objectos mais complexos. No , no entanto, possvel definir uma nova primitiva com
parmetros prprios custa das primitivas existentes. Para criar uma nova primitiva
necessrio criar um novo objecto e definir os seus parmetros e os procedimentos de
clculo de propriedades como o volume e o centro de massa.
A hierarquizao uma propriedade importante da representao da modelao de
slidos por instanciao de primitivas.
Representao por varrimento
A representao de slidos tridimensionais por varrimento tem por base a descrio do
volume gerada quando um objecto deslocado segundo uma dada trajectria e varre um
dado volume.
No caso dos slidos gerados por extruso e rotao a partir de seces bidimensionais
simples, os varrimentos produzem volumes com propriedades geomtricas fceis de
calcular. Esta facilidade complica-se um pouco se as seces bidimensionais que varrem
os volumes apresentarem formas irregulares. Estes clculos tornam-se bastante mais
difceis nos chamados volumes varridos gerais. Nestes, a seco bidimensional que
varre os volumes pode variar de ponto para ponto da trajectria, normalmente de forma
contnua.

Uma outra desvantagem a dificuldade em aplicar operaes a objectos modelados por


varrimento.
Em geral, a realizao de operaes entre volumes descritos por varrimento implica a
converso prvia das representaes dos operandos para representaes em que as
operaes sejam fceis de realizar.

Representao de fronteira
A modelao geomtrica de slidos por representao de fronteira descreve os objectos
a representar por meio das superfcies que os limitam e das arestas e vrtices que estas
superfcies apresentam.
De entre os vrios tipos de representao de fronteira consideram-se os seguintes:
Representao por poliedros
A representao de fronteira por malha poligonal a representao mais comum
de modelao de slidos por poliedros.
A representao por malha poligonal tem a vantagem adicional de permitir a
visualizao rpida do slido modelado atravs da representao das suas
arestas. Este tipo de representao, denominado modelo de arames, permite
verificar visualmente e de forma rpida a correco da malha poligonal e
transmite ainda uma imagem bastante aproximada dos slidos modelados.
Representao por arestas estendidas ou arestas com alas
Este tipo de representao resolve o problema de dada uma aresta de uma dada
face, determinar que outra face da fronteira partilha essa aresta com ela. Basta
para isso associar estruturas de dados a cada aresta, vrtice e face da malha
poligonal. A criao destas estruturas ordenadas implica um esforo adicional do
clculo inicial que posteriormente compensado no processamento da
representao, pois as relaes de adjacncia passam a ser explcitas e removem
a necessidade de efectuar buscas em listas mais ou menos longas.
Representaes no polidricas
Em situaes em que seja necessrio calcular (prever) colises de um cilindro
assim aproximado com um furo que tambm apresenta forma cilndrica,
provvel que se obtenha colises que no deveriam ocorrer. Se o cilindro puder
encaixar no furo, a animao da rotao do cilindro poder no ser possvel
porque ser detectada uma coliso com o modelo do furo logo que o modelo
aproximado do cilindro (prisma) seja rodado.
A soluo para estes problemas passa por representaes de fronteira no planas
com o emprego de tcnicas especiais.
Representao por partio do espao
Esta representao consiste em representar slidos por meio de conjuntos de slidos
elementares que, quando justapostos e sem se intersectarem, reproduzem o volume
ocupado pelos slidos a representar. Pode-se considerar quatro tipos de representao de
slidos por partio do espao:
Decomposio em clulas
Esta representao tem por base a decomposio dos objectos a representar em
clulas ou elementos primitivos paramtricos. Este tipo de representao
semelhante representao facultada pela linguagem VRML. A decomposio
do espao probe expressamente a interseco e impe a justaposio das
primitivas que partilham pontos, arestas ou faces.
No permite qualquer ambiguidade, mas pode no ser nica, isto , podem
existir vrias representaes para um dado slido.

Enumerao da decomposio do espao


Decompe o espao segundo uma grelha tridimensional composta por volumes
de forma a dimenses idnticos, os volumes elementares, tambm denominados
por voxeis. A representao de um slido consiste ento em arbitrar a
discretizao pretendida, ou seja, determinar a dimenso dos voxeis, e,
seguidamente, enumerar quais os voxeis ocupados pelo slido a representar. Tal
representao nica e no contem quaisquer ambiguidades.
A simplicidade desta representao permite detectar colises entre objectos e a
sua adjacncia de forma explcita, atravs da inspeco das clulas contguas s
clulas das fronteiras dos objectos. O inconveniente mais grave consiste no
nmero elevado de volumes elementares necessrios. Um voxel est sempre
completamente ocupado ou vazio.
Representao por rvore de octantes
Tem por objectivo eliminar a desvantagem principal da representao por
enumerao do espao.
Esta representao aplica a estratgia de dividir para conquistar, dividindo o
espao em oito octantes pelo plano mdio segundo cada direco do espao.
Cada octante assim obtido sucessivamente subdividido em sub-octantes at
que estes se encontrem todos ocupados ou todos livres, ou ainda se atinja o nvel
mximo de subdivises permitido. Depois de uma subdiviso, se os octantes
resultantes forem homogneos, os octantes so substitudos pelo octante que lhes
deu origem e o processo de subdiviso termina para esse octante.
Representao por rvore de partio binria
Pretende optimizar a estratgia de subdiviso aplicada na representao por
rvore de octantes. A subdiviso de um octante em oito octantes feita
cegamente, sem qualquer critrio, segundo o plano mdio de cada umas das trs
direces do espao, quando uma melhor localizao do plano bissector
resultaria em dois sub espaos em que em deles estaria ocupado pelo objecto e o
outro estaria vazio. Nesta representao o espao dividido em apenas dois sub
espaos por um plano arbitrrio colocado de forma a coincidir com a superfcie
ou parte da superfcie do objecto a representar.
Uma vantagem deste tipo de representao a maior fidelidade obtida na
representao das fronteiras do objecto.
Operaes Lgicas em Modelao Geomtrica
Uma operao de associao no tem um resultado nico pois depende de que tipo de
associao se pretende efectuar.
A associao de slidos para modelar um novo slido depende do tipo de associao
pretendido, isto , depende da operao lgica a realizar entre os volumes dos
operandos.
Os operadores lgicos empregues em modelao de slidos permitem adicionar dois
volumes, isto , calcular a sua unio (), determinar o volume comum, ou seja, a sua
interseco (), e a sua diferena (-), de que resulta um volume que igual ao volume
de um dos dois operandos menos o volume da sua interseco e depende da ordem dos
operandos.

O resultado de operaes lgicas sobre volumes no necessariamente um volume e


depende ainda de se considerar se a fronteira faz ou no parte do volume que limita.
Chama-se regularizao de um objecto operao que determina a fronteira que
envolve todos os pontos interiores de um volume aberto. Um objecto cujo conjunto de
pontos constituintes idntico ao seu fecho denomina-se objecto regular.

Modelo de Malha Poligonal


O modelo de malha poligonal um modelo de representao geomtrica de slidos por
representao da fronteira que descreve as superfcies dos objectos atravs de uma
coleco de polgonos. Um modelo de malha poligonal corresponde enumerao de
uma coleco de arestas, vrtices e polgonos interligados numa malha que, no seu
conjunto, descreve a fronteira dos objectos a representar.
Operaes sobre modelos de malha poligonal
Existem vrias formas de representar uma malha poligonal. Cada uma delas emprega
ema estrutura de dados prpria. O tipo de estrutura de dados a empregar em cada caso
concreto depende de que operaes iro ser realizadas ao processar a malha poligonal.
Estas podero ser a representao dos objectos modelados em dispositivos de sada
grfica ou a verificao da consistncia e correco da malha poligonal que os descreve.
Operaes mais comuns efectuadas sobre malhas poligonais:
Representar a malha em dispositivos de sada grfica
Determinar que arestas concorrem num dado vrtice
Determinar os vrtices de uma dada aresta
Determinar os polgonos que partilham uma dada aresta ou um dado vrtice
Verificar a consistncia da malha, determinando faltas de arestas, vrtices ou
polgonos
o tipo de processamento pretendido que determina que operaes sero realizadas
sobre os modelos de malha poligonal.

Malha poligonal de lista explcita


Cada polgono descrito por um conjunto de termos ordenados em que cada termo
contm as coordenadas de um vrtice do polgono.
Este tipo de modelo de malha poligonal no possui qualquer informao sobre os
vrtices e arestas comuns a dois ou mais polgonos. Qualquer aresta comum a dois ou
mais polgonos desenhada em dispositivos de sada grfica tantas vezes quanto o
nmero de polgonos a que a aresta pertena. Uma forma de evitar o desenho duplicado
de arestas consiste em, antes de desenhar uma dada aresta percorrer todos os polgonos
anteriormente desenhados para determinar se a aresta pertence a algum deles e,
portanto, foi j desenhada.
A utilizao deste tipo de malhas pouco eficiente quando se pretende alterar as
coordenadas dos vrtices. A alterao destas extremamente lenta, pois implica
percorrer toda a lista de polgonos para alterar as coordenadas de todas as ocorrncias
do vrtice a modificar.
Malha poligonal de lista de vrtices
Baseia-se na construo de um conjunto de termos ordenados contendo as coordenadas
de cada vrtice. Esta lista no contm vrtices duplicados.
Cada polgono descrito por uma lista de vrtices em que cada elemento corresponde
ao nmero de ordem desse vrtice na respectiva lista ou uma referncia para a estrutura
que contm as coordenadas do vrtice.
Esta descrio mais compacta do que a descrio por lista explcita pois evita o gasto
de memria provocado pela duplicao do armazenamento das coordenadas dos
vrtices. Por outro lado, a operao de alterao das coordenadas de um dado vrtice
passa a ser explcita, sendo a alterao dessas coordenadas realizada uma nica vez. As
arestas comuns a dois ou mais polgonos continuam a ser desenhadas duas ou mais
vezes nos dispositivos de sada grfica.
Esta representao contnua a no ser eficiente na determinao de adjacncias de
polgonos, uma vez que necessrio percorrer toda a lista de polgonos para determinar
se e quais polgonos referenciam um dado vrtice ou uma dada aresta.
Malha poligonal de lista de arestas
Permite executar de forma eficiente a operao de determinao das adjacncias que nas
representaes anteriores demasiado lenta. A representao por lista de arestas
constri uma lista de vrtices nicos e uma lista de arestas nicas que referenciam os
respectivos vrtices e os polgonos a que pertencem. Estas referncias encontram-se
numa estrutura associada a cada aresta e referem os dois vrtices e, pelo menos, dois
polgonos se a malha for fechada.
Mantm-se a lista de polgonos mas agora existe uma estrutura associada a cada
polgono que referencia um mnimo de trs arestas. A alterao das coordenadas de um
vrtice uma operao simples e explcita e no existe duplicao de informao que
implique gastos desnecessrios de espao de armazenamento.

As vantagens principais da representao por listas de arestas so tornar explcita a


determinao da adjacncia de polgonos e eliminar o desenho duplicado de arestas em
dispositivos de sada grfica, pois para desenhar as arestas basta percorrer a lista de
arestas na qual cada aresta nica.
Estas vantagens traduzem-se na reduo do trabalho realizado pelo pipeline de
visualizao no recorte, transformao e converso dos segmentos de recta
correspondentes ao desenho das arestas.
A nica desvantagem consiste na impossibilidade de determinao explcita de que
arestas concorrem num dado vrtice dado que a estrutura associada a cada vrtice
contm apenas as respectivas coordenadas.
Verificao da consistncia de malhas poligonais
A verificao da consistncia de uma malha dever atender aos seguintes critrios:
Todos os polgonos devem ser fechados
Todas as arestas devem ser referenciadas pelo menos uma vez e no mais do
que um determinado nmero de vezes. Este nmero depende da forma da
superfcie descrita pela malha
Cada vrtice deve ser usado por, pelo menos, duas arestas
Em malhas fechadas deve-se verificar se existem lacunas devidas falta de polgonos.
Em malhas poligonais representando superfcies conectadas deve ser possvel ligar um
vrtice a um outro vrtice qualquer percorrendo as arestas e passando por cada aresta
uma nica vez. Em malhas topologicamente planas, deve verificar-se se os polgonos
com mais do que trs arestas so planos ou no, isto , se todos os pontos do polgono
existem no mesmo plano.
Critrios complementares:
Uma aresta no deve ser usada duas ou mais vezes num mesmo polgono
Um vrtice deve pertencer a, pelo menos, um polgono
As arestas no podem apresentar comprimento nulo
Na representao por listas de arestas, a referncia entre arestas e polgonos
tem que ser recproca. Um polgono no pode referenciar uma aresta se esta, por
sua vez, no referenciar o polgono
Verificao de malhas topologicamente planas
Esta verificao s faz sentido se na malha existirem polgonos que no sejam
tringulos, pois um tringulo uma figura geomtrica intrinsecamente plana. A
verificao se todos os vrtices de um polgono pertencem ao mesmo plano consiste em
determinar a equao do plano do polgono a partir de trs dos vrtices do polgono,
seguida da verificao se os restantes vrtices do polgono pertencem ao plano.
Se a malha for topologicamente plana, os restantes vrtices do polgono devero existir
no plano cujos coeficientes acabam de ser determinados. Esta condio poder no se
verificar, quer porque o mtodo de gerao da malha inadequada, caso em que se
dever optar por outro mtodo, quer por erro numrico.

COR E LUZ
A cor confere realismo s imagens e cenas a visualizar. Quanto maior for a fidelidade da
reproduo da cor maior ser o realismo e a naturalidade dos resultados observados.
Para obter uma reproduo fiel da cor devero ser empregues modelos de cor correctos
e precisos.
A cor desempenha um papel importante na visualizao de propriedades associadas aos
objectos visualizados.
A cor permite visualizar o no visvel adicionando informao aos objectos
visualizados.
A cor desempenha a funo de destacar e chamar a ateno para a informao e dar-lhe
significado.

Caracterizao Perceptual da Cor


O modelo de cor de Munsel estabelece como parmetros a cor (hue), o valor
(luminosidade) e a croma (saturao). intrinsecamente subjectivo dado que depende
do julgamento pessoal de cada observador ajuizar se duas cores so ou no idnticas.
Em artes visuais empregam-se termos como cor pura, pastel, sombreado e tom. O
sombreado o resultado da adio 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 adio simultnea de um pigmento branco a uma cor, diminuindo a saturao. Um
tom resulta da adio simultnea de um pigmento negro e um pigmento branco a uma
cor, reduzindo a saturao e a luminosidade proporcionadas pelo pigmento da cor
original.
Os modelos anteriores so modelos inteiramente baseados na percepo da cor e
incluem um grau de subjectividade que no desprezvel e impede uma definio
precisa da cor e a sua correcta reproduo

Espectro Visvel
Cores visveis e cores espectrais
Cores espectrais so cores a que correspondem comprimentos de onda bem
determinados do espectro visvel. A observao de um espectro visvel mostra que nele
no se encontram todas as cores visveis.
As cores no espectrais so devidas mistura de luzes com diferentes comprimentos ou
gamas de comprimentos de onda.

Fisiologia da viso
O funcionamento do olho humano semelhante ao funcionamento dos equipamentos de
registo de imagem, pelo menos na recepo e deteco 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 clulas sensveis luz, os bastonetes e os cones, que transformam os fotes que
absorvem em impulsos nervosos.
Existem cones sensveis 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 intermdia entre o vermelho e o
verde.
Teoria dos trs estmulos
a diferena entre as respostas dos trs tipos de cones que permite interpretar
diferentes comprimentos de onda como correspondendo a cores diferentes.
Esta interpretao conhecida como teoria dos trs estmulos. Esta teoria
postula que qualquer cor (comprimento de onda) do espectro visvel pode ser
reproduzida atravs da adio dos resultados obtidos pelo estmulo dos trs
tipos de cones de forma diferente. A cor percepcionada depende unicamente
da relao entre os trs estmulos.
Esta teoria tem outra consequncia que a verificao de que da combinao
de cores diferentes pode resultar uma cor nica. Chama-se cores metmeras
ou metmero a duas cores espectralmente diferentes mas que produzem a
sensao de uma mesma cor.
Outras consequncias na percepo da cor
A primeira consequncia respeita capacidade de distino entre cores puras
prximas.
O olho humano capaz de discriminar o que corresponde a 128 cores. Uma
anlise das respostas combinadas dos trs tipos de cones da retina leva a
considerar que dever existir maior facilidade de discriminar entre cores
sombreadas na zona do amarelo e uma menor facilidade na zona do azul. O
olho humano consegue distinguir um mximo de 23 cores sombreadas na zona
do amarelo e 16 cores sombreadas na zona do azul.

Modelao da Cor
Tendo em conta a teoria dos trs estmulos, imediato que qualquer modelo
de cor dever possuir trs parmetros. O problema essencial da modelao da
cor est na definio de que grandezas devem ser associadas a cada um dos
trs parmetros.
A luz emitida segundo um comprimento de onda preciso produz uma cor pura
do espectro visvel.

Modelo CIE
A incapacidade de modelos baseados na mistura de cores vermelhas, verdes e
azuis poderem representar todas as cores do espectro visvel levou a que a CIE
criasse um modelo com trs cores primrias denominadas X, Y e Z, que
substituam as cores primrias vermelha, verde e azul, e que possuam funes
peso de X, Y e Z, intrinsecamente positivas e tais que passasse a ser possvel
representar todas as cores do espectro visvel.

Modelo RGB
um modelo de cor concebido com base nos dispositivos de sada grfica
com trs cores primrias: vermelho, verde e azul.
Este modelo descreve as cores como o resultado da adio das trs cores
primrias, cada uma delas com uma intensidade que pode variar entre 0 e 1. A
cor branca corresponde representao simultnea das trs cores primrias,
todas sua intensidade mxima, e a cor preta cor que obtida quando todas
as cores primrias apresentam intensidade mnima.
O modelo RGB est intimamente associado s superfcies emissoras de luz.
O modelo omisso quanto ao que uma cor primria pura, ou seja, no define
qual o comprimento de onda a que corresponde cada uma das trs cores
primrias.

Modelo CMY
um modelo de cor baseado nas cores complementares: cio, magenta e
amarelo.
Este modelo tem por base os fenmenos que se verificam quando a luz incide
em superfcies. Estas podem absorver, reflectir ou refractar a luz de forma
desigual consoante o comprimento de onda.
A absoro da luz em determinados comprimentos de onda a razo pela qual
o modelo CMY tambm designado por modelo subtractivo da cor, em
oposio ao modelo RGB que designado por modelo aditivo da cor.

Quando a intensidade de uma componente CMY nula, a cor aditiva primria


que a complementa no absorvida e totalmente reflectida. Toda a luz
branca incidente reflectida e a superfcie percepcionada como sendo
branca.
De modo semelhante, quando uma componente CMY tem a intensidade
mxima, a cor aditiva primria complementar totalmente absorvida. A
superfcie ser percepcionada como sendo de cor preta, dado que no
reflectir qualquer luz.
As impressoras a cores empregam o modelo CMY por deposio sobre o
papel de tintas correspondentes s cores primrias complementares. Tal como
no modelo RGB, o modelo CMY tambm no define os comprimentos de
onda das cores primrias.

Modelo HSV
mais intuitivo que os modelos RGB e CMY. A sua sigla corresponde s trs
variveis deste modelo: Hue (cor, matiz, cambiante de cor), Saturation
(saturao) 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.
A saturao de uma cor corresponde quantidade de cor branca que a cor
apresenta. Uma saturao de 1 significa que a cor pura, enquanto uma
saturao de 0 significa que a cor totalmente branca e, neste caso, o valor do
parmetro H irrelevante.
O parmetro V corresponde intensidade da cor e varia entre 0 (cor negra em
que os valores de H e S so irrelevantes) e 1 (intensidade mxima)

Modelo HLS
tambm um modelo muito intuitivo tal como o modelo HSV. A sigla
corresponde aos nomes dos trs parmetros deste modelo: Hue (cor, matiz,
cambiante da cor), Lightness (luminosidade) e Saturation (saturao).

O parmetro H corresponde ao ngulo em que a cor se encontra, o parmetro


S tem o mesmo significado que no modelo HSV e o parmetro L pode variar
entre 0, que corresponde a uma luminosidade nula, e 1 que equivale
luminosidade mxima.

Modelos YIQ e ICbCr (YUV)


Estes modelos foram criados para permitir as emisses dos sistemas de
televiso a cores fossem compatveis com os receptores a preto e branco.
Os dois modelos so muito semelhantes, baseando-se ambos na separao dos
sinais de cor RGB em um sinal de luminosidade, ou luminncia, e dois sinais
de cromaticidade ou diferena de cor.
Os dois modelos de cor diferem ainda nos padres de cor empregues na
calibrao dos aparelhos receptores de televiso.
O modelo YCbCr, para alm da sua aplicao televiso a ao vdeo,
tambm empregue por alguns formatos digitais de imagem, dos quais o mais
importante o formato JFIF. A vantagem deste modelo a separao da cor
em componentes de luminncia e de crominncia.

FORMATOS DE IMAGEM
Mapa de cores
A introduo de mapas de cor permitiu reduzir o tempo de transmisso de
uma imagem. Um mapa de cores uma estrutura que declara as componentes
RGB das cores empregues pela imagem a que se encontra associada,
atribuindo a cada cor um ndice nico.
Entrelaamento
Foi para permitir a observao do contedo de uma imagem sem dispor de
todos os seus pixis que foi desenvolvida a tcnica do entrelaamento a partir
de uma tcnica semelhante empregue na transmisso de imagens de televiso.
A tcnica bsica de transmisso parcial e progressiva de imagens por
entrelaamento consiste em reordenar as linhas das imagens, organizando-as
em vrios grupos. Cada grupo contm parte das linhas da imagem total e, se
uma linha for atribuda a um grupo, essa linha no far parte de qualquer outro
grupo. A transmisso da imagem grupo a grupo permite que o utilizador
comece a formar uma ideia da imagem aps algumas linhas terem sido
transmitidas.
Um outro tipo de entrelaamento processa pixis individuais em lugar de
processar linhas. Os pixis a transmitir em cada passagem so determinados
por um padro de n x n pixis de que so feitas tantas cpias quanto as
necessrias para cobrir toda a imagem, estando as cpias justapostas.
Full Color e True Color
A designao High Color corresponde possibilidade de utilizar 16 bits para
cada cor ou intensidade de tons de cinzento, e permite o emprego de at 65536
cores diferentes numa imagem.
A designao True Color corresponde a equipamentos que empregam 24 bits
para representar uma cor, ou seja, possvel apresentar imagens que
empreguem at 224 cores. Este nmero de cores mais do que suficiente para
representar imagens de qualidade fotogrfica.
As imagens dos tipos High Color e True Color no empregam mapas de cores.
Compresso
A ocorrncia de grupos de pixis consecutivos da mesma cor (ex.: grficos)
propicia o emprego de algoritmos de compresso do tipo RLE que substituem
tais grupos por duas unidades de informao: o nmero de pixis do grupo e o
ndice de cor dos seus pixis.
Os algoritmos do tipo LZ detectam sequncias de pixis (ex.: imagens) que,
embora no apresentem todos os pixis da mesma cor, apresentam a mesma
sequncia de cores.

Numa imagem digital de qualidade fotogrfica o tipo de algoritmos empregue


so os baseados na Transformada Discreta do Co-Seno. Na prtica, existem
perdas de carcter numrico que ocorrem durante a realizao de operaes
aritmticas com representao limitada do nmero de algarismos dos
operandos e perdas originadas pela eliminao de termos.

Formatos PBM
A definio original deste formato teve em vista permitir a transmisso de
imagens por meio de correio electrnico que, data da definio, ainda no
permitia a transmisso de ficheiros anexados, binrios ou no. A designao
de formato de imagem PBM engloba trs formatos:
PBM (Portable BitMap) imagens a preto e branco
PGM (Portable GrayMap) imagens em tons de cinzento
PPM (Portable PixMap) imagens a cores
Vantagens
Desvantagens
Fcil de gerar
Ficheiros de grande tamanho
Trs subtipos para diferentes tipos de No permite compresso
imagens

Formatos DIB
Na origem da designao DIB est o facto de que este formato descreve as
cores de uma forma que independente do processo empregue por cada placa
grfica e respectivo monitor para apresentar a cor dos pixis das imagens.
No formato DIB, as imagens so descritas por varrimentos ascendentes das
linhas, sendo os pixis de cada linha varridos da esquerda para a direita.
O formato DIB permite descrever imagens a cores com 1, 4, 8 ou 24 bits por
pixel, representando assim imagens com 2, 16, 256 ou 224 cores,
respectivamente, empregando um mapa de cores em todos os casos excepto no
ltimo. Este formato permite ainda a compresso opcional do contedo de
imagens com 16 ou 256 cores pelo algoritmo RLZ adaptado ao nmero de bits
por pixel.
Vantagens
Desvantagens
Cores reais
Ficheiros de grande tamanho
Mltiplos subtipos para diferentes tipos Compresso limitada a subtipos
de imagens
Compresso inadequada a imagens de
qualidade fotogrfica
Formato GIF
Foi inicialmente concebido para a transmisso de imagens atravs das linhas
de comunicao de muito baixo dbito existentes na altura.

O formato permite armazenar ou transmitir imagens com um mximo de 256


cores, definidas sempre por meio de mapas de cores. O conjunto dos ndices
que compem cada imagem est comprimido pelo algoritmo LZW.
O formato na realidade um protocolo entre uma fonte emissora de imagens e
uma aplicao de destino que realiza a apresentao das imagens.

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 grfica de sada,
permitindo assim a apresentao sequenciada de vrias imagens.
Vantagens
Canal de dados
GIFs animados
Ficheiros de pequeno tamanho

Desvantagens
Limite de 256 cores
Formato e algoritmo de compresso
proprietrios
Imprprio para imagens de qualidade
fotogrfica
Transparncia de uma nica cor

Formato PNG
O formato PNG surgiu como resposta s limitaes tcnicas e s restries
legais derivadas dos direitos de propriedade do formato GIF. A definio do
novo formato PNG reteve algumas das caractersticas mais vantajosas do
formato GIF.
Vantagens
Desvantagens
Suporta todos os tipos de imagem
Algoritmo de compresso imprprio
Algoritmo de compresso do domnio para imagens com qualidade fotogrfica
pblico
Filtragem opcional das linhas melhora a
qualidade
Transparncia por canal alfa
Permite sequncias de imagens
Bytes armazenados segundo conveno
neutra
Guarda a correco gama (opcional)

Formato JFIF (JPEG)


Define uma famlia de algoritmos de compresso e descompresso, com e sem
perda, para imagens de qualidade fotogrfica, tambm designadas por
imagens de tons contnuos.

um formato de imagens simples e que, embora apresente limitaes,


relativamente fcil de implementar e permite imagens a cores reais. Um dos
factores que mais contriburam para esta aceitao foi a expanso da WWW
cujos utilizadores necessitavam poder transmitir imagens com mais cores do
que o mximo de 256 cores permitido pelo formato GIF, mas de comprimento
reduzido para diminuir o respectivo tempo de carregamento.
O formato JFIF no utiliza o modelo de cor RGB, mas o modelo YCbCr com
quantizao da cor que, logo partida, reduz o contedo da imagem a metade
do seu tamanho original, mas acarreta perda de informao.
A compresso JPEG empregue por este formato utiliza algoritmos de
compresso e descompresso do tipo da transformada discreta do co-seno.
Vantagens
Desvantagens
Recomendado para imagens de H sempre perda (mas a viso no
qualidade fotogrfica
detecta)
Algoritmo de compresso normalizados Imprprio para imagens com variaes
sbitas de cor

RASTERIZAO
O objectivo da rasterizao determinar quais as quadrculas que
representaro as primitivas grficas
A rasterizao de primitivas grficas uma operao que executada milhes
de vezes e, portanto, faz todo o sentido que os algoritmos desenvolvidos, alm
de especficos, devam ser eficientes para que o desenho das primitivas seja o
mais rpido possvel.

Rasterizao de Segmentos de Rectas


A rasterizao de segmentos de recta consiste em, num dispositivo de
quadrcula, dados os dois pixis extremos de um segmento de recta,
determinar que pixis localizados entre eles devem ser seleccionados para
compor visualmente o segmento.
Algoritmo Imediato
Tomando como base a equao da recta
Calculam-se os coeficientes dos extremos do segmento P1(x1,y1) e P2(x2,y2)
Para x1 x x2 calcula-se a ordenada usando a equao da recta
arredondando o resultado para as coordenadas do pixel a desenhar
O custo computacional do clculo do valor de y para cada valor de x
corresponde realizao de trs operaes de vrgula flutuante e operao
de truncatura de um valor real para valor inteiro.
Algoritmo Incremental Bsico
Considera-se o valor de y para dois valores consecutivos de x que diferem
entre si de uma unidade
O valor de y para xi+1

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 necessrio proceder ao arredondamento matemtico do
valor calculado.

O nmero de operaes de vrgula flutuante a realizar reduz-se a duas adies


e uma truncatura. Como a multiplicao uma operao mais cara que uma
adio em termos computacionais de esperar um aumento significativo do
desempenho.
Este algoritmo apresenta um problema de acumulao de erros devido ao
nmero limitado de algarismos significativos.
Algoritmo de Bresenham
O algoritmo de Bresenham realiza a rasterizao de segmentos de recta
empregando apenas operaes de aritmtica de inteiros e, portanto permite um
maior desempenho. O algoritmo baseia-se no critrio do ponto mdio.
O algoritmo pode ser apresentado da seguinte forma:
Calcular
dx = x2 x1
dy = y2 y1
d = 2dy dx
incE = 2dy
incNE = 2(dy - dx)
Inicializar x = x1 e y = y1 e marcar o pixel com estas coordenadas
Repetir os passos seguintes enquanto x < x2
Se d 0, incrementar d de incE, caso contrrio incrementar d de incE
e incrementar y de uma unidade
Incrementar x de uma unidade e marcar o pixel com as coordenadas x
e y.

Rasterizao de Circunferncias
A rasterizao de circunferncias emprega a propriedade de simetria que as
circunferncias apresentam.

Algoritmo completo para a rasterizao de circunferncias:


Calcular
d=1R
deltaE = 3
deltaSE = -2R + 5
Inicializar x = 0 e y = R e marcar os 4 pixis da circunferncia
correspondentes
Repetir os passos 4 a 5 enquanto y > x

Se d < 0
incrementar d de deltaE, deltaE de 2 e deltaSE de 2
caso contrrio
incrementar d de deltaSE, deltaE de 2, deltaSE de 4 e
decrementar y de uma unidade
Incrementar x de uma unidade e marcar os 8 pixis da circunferncia
correspondentes s coordenadas x e y

Preenchimento de Polgonos
A operao de preenchimento de polgonos tem por objectivo atribuir a cor do
polgono aos pixis pertencentes ao polgono.
Algoritmo bsico de preenchimento de polgonos
Traar sucessivas linhas de varrimento horizontais (scan lines)
Calcular as interseces entre scan line e arestas arredondando os
valores para o interior do polgono
Ordenar os pontos de interseco por abcissa crescente
(x1 < x2 < x3 < x4)
Preencher cadeias de pixis (spans) entre pares de pontos
delimitando as regies interiores ao polgono
(x1 a x2: in
x2 a x3: out x3 a x4: in)
A determinao das interseces de uma linha de varrimento com os lados de
um polgono apresenta dois casos particulares:
Duplicao de interseces
Ocorre quando a linha de varrimento intersecta um vrtice de um polgono
onde concorrem sempre dois lados do polgono.
A soluo para este caso passa por eliminar um dos lados do polgono. Se, por
conveno, no se considerar o lado do polgono que num dado vrtice atinge
o valor mximo da sua ordenada, elimina-se aquela duplicao.
Esta soluo apresenta apenas um pequeno inconveniente que consiste em
que, no vrtice superior de um polgono, j no existam quaisquer lados a
serem intersectados pela linha de varrimento e, portanto, o pixel
correspondente ao vrtice superior no ser desenhado.
Lados horizontais
A interseco de um lado horizontal com uma linha de varrimento, tambm
horizontal, resulta no num ponto, mas no prprio lado.
Porm, cada um dos vrtices de um lado horizontal tambm o vrtice de um
outro lado do polgono e, portanto, existir um lado esquerda e outro
direita do lado horizontal. Eliminando este, aqueles dois lados definiro dois
pontos de interseco que criaro um span coincidente com o lado horizontal
eliminado e assim ficar resolvido o problema.

Lados, Lados Activos e Tabelas de Lados


Diz-se que um lado se encontra activo quando est a ser intersectado pela
linha de varrimento. apenas sobre os lados activos num dado momento que
devem ser calculadas as suas interseces com a linha de varrimento corrente,
pois intil tentar calcular interseces da linha de varrimento com lados que
no se encontrem activos.
Constri-se uma lista de lados que, inicialmente, contm todos os lados do
polgono, excepto os lados horizontais, e uma lista de lados activos que se
encontra vazia. Quando um lado se torna activo, esse lado retirado da lista
de lados e colocado na lista de lados activos, passando a pertencer ao conjunto
de lados com os quais so calculadas as interseces. Finalmente, quando a
ordenada da linha de varrimento atinge o valor do ymax do lado, o lado deve ser
retirado da lista de lados activos e eliminado pois no ser mais intersectado
por qualquer linha de varrimento.
A estrutura de dados de cada lado deve conter os valores de ymax, x e 1/m, em
que, inicialmente, atribudo a x o valor de x(ymin). Esta estrutura no
necessita de quaisquer outros valores depois de calculado o valor de 1/m.
usual incluir nesta estrutura a referncia ao lado que se lhe segue na lista.
Exemplo:

Aliasing e Antialiasing
A discretizao de uma grandeza contnua implica perda de informao. Por
vezes a informao perdida no significativa e possvel reconstruir quase
fielmente a grandeza original mas, a partir de uma certa perda, os valores
discretos medidos so insuficientes para que se possa proceder reconstruo
da grandeza original. Quando tal sucede, a reconstruo produz informao
que pouco ou nada tem a ver com a informao original. Este fenmeno tem o
nome de aliasing.
Existem vrias tcnicas designadas genericamente por tcnicas de
antialiasing para resolver de modo satisfatrio, mas nunca total, os problemas
criados pelo fenmeno de aliasing nas suas vrias manifestaes. Estas
tcnicas baseiam-se na filtragem da informao que pode ser realizada tanto
no espao da imagem como no espao dos objectos. A filtragem realizada no
espao dos objectos designa-se por pr-filtragem, enquanto a realizada a partir
da informao que existe no espao da imagem designada por ps-filtragem.

REMOO DE SUPERFCIES OCULTAS


Estratgias Algortmicas
Preciso Imagem
Para cada pixel da imagem necessrio determinar o objecto mais prximo
visvel atravs do pixel e desenhar o pixel com a cor correcta.
Preciso dependente da resoluo do dispositivo de visualizao;
visibilidade determinada em cada pixel
Algoritmos orientados para dispositivos raster
Susceptveis ao fenmeno de aliasing
Para n objectos e p pixis a complexidade algortmica de n x p
Operaes elementares e de baixa carga computacional
Preciso Objecto
Para cada objecto da cena necessrio determinar as partes visveis do
objecto e desenhar essas partes com a cor correcta
Preciso finita; resoluo da visibilidade ao nvel de pores dos objectos
Algoritmos inicialmente orientados para dispositivos vectoriais
Para n objectos presentes na cena tem-se uma carga computacional
proporcional a n2
As operaes individuais so tipicamente complexas e de elevada carga
computacional

Faces Traseiras
Partindo da hiptese que se tem um objecto que um poliedro slido (faces
poligonais envolvem o volume) e o interior no exposto pelo recorte no
possvel saber se a face em questo traseira ou no.
A soluo para este problema consiste em determinar o produto interno entre
as normais s faces e o vector de visualizao com origem no centro da
projeco e terminando em qualquer ponto do polgono. Se o resultado do
produto interno for
< 0 Polgono visvel
= 0 Arestas visveis
> 0 Polgono invisvel (back-face)
Este clculo efectuado no sistema de coordenadas de visualizao
Em polgonos convexos a remoo de superfcies ocultas fica completa com a
eliminao de back-faces
Em poliedros cncavos algumas front-faces podem estar totalmente ou
parcialmente ocultas

Algoritmo Z-Buffer
Este algoritmo baseia-se na estratgia de preciso de imagem.
Tem como requisito o Frame-Buffer com profundidade em Z. No necessita
de ordenao de polgonos nem de clculos de interseces.
Algoritmo:
Inicializa o Zbuffer com a profundidade mxima e Frame-Buffer com
a cor de fundo
Para cada polgono
Para cada ponto do polgono:
pz = valor de z (x, y)
se pz < ReadZ (x, y)
WriteZ (x, y, pz)
WritePixel (x, y, cor em (x, y))
Vantagens
Independente do nmero de polgonos
Aplicvel a qualquer forma
Realizado em hardware

Desvantagens
Melhora o desempenho se a ordenao
for feita em Z
Problemas de aliasing

AlgoritmoDepth-Sort
Este algoritmo baseia-se em desenhar os polgonos na ordem decrescente da
distncia ao observador (referencial de visualizao orientado mo direita)
Algoritmo:
Ordenar todos os polgonos constituintes da cena por ordem
crescente da sua menor coordenada Z (ou ordem decrescente da sua
maior coordenada Z num referencial mo esquerda)
Resolver situaes ambguas, nalguns casos em que os intervalos de
ocupao dos polgonos segundo ZZ se sobrepem. Por vezes, a
resoluo dessas ambiguidades passa pela fragmentao dos polgonos
Rasterizar os polgonos (originais e resultantes da fragmentao) por
ordem crescente da sua menor coordenada (desenhar os polgonos por
ordem decrescente de profundidade)
Algoritmo do Pintor
Consiste numa verso simplificada do algoritmo Depth-Sort onde os
polgonos pertencem a planos com Z constante
Resoluo de ambiguidades
Antes de rasterizar o primeiro polgono (P) da lista, ou seja, o mais afastado do
observador, compar-lo com todos os polgonos (Q) cujos intervalos de ocupao
segundo z sobreponham o intervalo z do primeiro.
O processo de comparao tem por objectivo provar que P no obstrui a visibilidade de
Q. Basta que uma das 5 condies seguintes se verifique:

1) Os intervalos de ocupao de P e Q, segundo XX , no se sobrepem.


2) Os intervalos de ocupao de P e Q, segundo YY , no se sobrepem.
3) P encontra-se totalmente contido no semi-espao definido pelo plano de Q, oposto
aquele em que se encontra o ponto de observao da cena.
4) Q encontra-se totalmente contido no mesmo semi-espao, definido pelo plano de P,
em que se encontra o ponto de observao da cena.
5) As projeces de P e Q no plano (x, y) no se sobrepem.
Se P passa no teste de no obstruo com todos os polgonos Q pode ser rasterizado e o
prximo polgono da lista passa a ser o novo polgono P.
Se o teste falha com um dos polgonos Q, deve fragmentar-se P segundo um plano de
corte coplanar com Q (ou vice-versa), descartar o polgono original, inserir na lista os
fragmentos resultantes por ordem crescente de Zmin e repetir o algoritmo.

Algoritmo Scan-Line
Coerncia de linha de varrimento e de aresta
Algoritmo:
Construo da tabela de arestas (ET) para todas as arestas no horizontais de
todos os polgonos, projectadas no plano de visualizao, ordenadas com base
na menor coordenada Y e em cada tabela no declive, contendo:
- coordenada X do vrtice com menor Y
- coordenada Y do outro vrtice
- incremento em X (dx o inverso do declive)
- identificao do polgono
Polgonos organizados em tabela de polgonos (PT) contendo:
- coeficiente equao do plano
- cor do polgono
- etiqueta de entrada/sada (inicialmente a falso)
Manipulao da tabela de arestas activas (AET)
Se os polgonos no se interpenetram
Alguns clculos de profundidade podem ser evitados.
Com base na coerncia de profundidade se esto presentes na AET de uma
linha de varrimento os mesmos lados estavam na AET da linha anterior, e pela
mesma ordem, ento as relaes de profundidade entre polgonos permanecem
inalteradas em todos os intervalos da linha (spans).
Para polgonos interpenetrantes deve calcular-se a interseco entre
polgonos, criar um falso lado, e com ele fragmentar um dos polgonos
originais em dois novos polgonos no penetrantes.

O plano de fundo da cena pode ser tratado de uma das seguintes formas:
- inicializar o frame-buffer com a cor de fundo
- modificar o algoritmo para atribuir cor de fundo a todos os pixis
tratados nas situaes em que todos os polgonos esto out
- introduzir na cena um polgono de grandes dimenses, paralelo ao
plano de projeco e mais afastado do observador que qualquer outro
polgono (atribuir cor e sombreamento desejados).

RECORTE
Neste captulo pretende-se identificar quais os objectos que se encontram
totalmente dentro do volume cannico, os quais so trivialmente aceites, e
quais os que se encontram parcialmente dentro do volume, pelo que tm que
ser recortados pelas faces da fronteira do volume cannico.
O objectivo do recorte ser eliminar as partes dos objectos da cena que se
encontrem fora do volume cannico

Recorte de Linhas
O recorte de segmentos de recta consiste em identificar os valores das
coordenadas X, Y e Z que correspondem aos pontos de interseco com cada
uma das faces do volume cannico, caso esses pontos existam.
Algoritmo da Fora Bruta
Efectua o clculo de recorte de um segmento de recta atravs do clculo da
sua interseco com cada uma das arestas que limitam o rectngulo de recorte.
Algoritmo:
Testar extremos do segmento com rectngulos de recorte
Tratar os casos triviais de incluso total
Casos no triviais: usar equao paramtrica da recta

Resolver equaes simultneas para segmento de recta (taresta) e os 4


lados do rectngulo (tseg). Existe interseco se:

Algoritmo de Cohen-Sutherland
O algoritmo inicia-se com o clculo do sub espao em que se encontra cada
um dos vrtices do segmento de recta a recortar. Para simplificar a
identificao dos sub espaos em que se encontram os vrtices recorre-se a
uma codificao dos 9 sub espaos usando uma codificao com 4 bits
(outcodes), em que cada um dos bits define a posio do sub espao
relativamente a uma das arestas do polgono de recorte.

Considera-se que OC0 o cdigo do sub espao dentro do qual se encontra o


primeiro vrtice do segmento de recta a recortar e que OC1 o cdigo do sub
espao dentro do qual se encontra o segundo vrtice do segmento.

Nas situaes em que necessrio subdividir o segmento de recta tem que se


calcular a interseco com a recta sobre a qual assenta uma das arestas do
rectngulo de recorte. O algoritmo de Cohen-Sutherland no garante que o
clculo de interseces seja efectuado s quando necessrio.
Este algoritmo eficiente nas situaes em que a maioria dos segmentos de
recta so trivialmente aceites ou trivialmente rejeitados.
Sempre que o rectngulo de recorte muito pequeno comparado com a cena a
maioria dos segmentos de recta so trivialmente rejeitados. Sempre que o
rectngulo muito grande a maioria dos objectos so trivialmente aceites.
O algoritmo facilmente estendido para 3D, bastando para tal identificar 27
sub espaos e utilizar cdigos compostos por 6 bits.
Algoritmo Paramtrico de Cyrus-Beck
Algoritmo que permite o recorte de um segmento de recta por qualquer
polgono convexo, em 2D, ou de um segmento de recta em 3D por qualquer
poliedro convexo. Tal como o nome indica, este algoritmo baseia-se na
equao paramtrica da recta
Este algoritmo aplica-se sucessivamente a cada uma das arestas do polgono
convexo.
ainda necessrio identificar se o primeiro vrtice do segmento de recta est
no exterior e o segundo no interior, situao em que a interseco definida
como Potencialmente de Entrada (PE), ou em que a interseco definida
como Potencialmente de Sada (PS).
Identifica-se a interseco do tipo PE que corresponde ao maior t e a
interseco do tipo PS que corresponde ao menor t e comparam-se os dois
valores de t. Se o valor de t da interseco do tipo PE for superior ao valor de t
da interseco do tipo PS, ento todo o segmento de recta pode ser rejeitado.
Se o valor de t da interseco do tipo PE for inferior ao valor de t na
interseco do tipo PS, ento usam-se os dois valores para obter as
coordenadas dos vrtices do segmento de recta recortado.

Recorte de Polgonos
O recorte de polgonos implica a identificao do lugar geomtrico dos pontos
que simultaneamente pertencem ao polgono a recortar e ao polgono de
recorte.
Algoritmo de Sutherland-Hodgman
Este algoritmo permite o recorte de qualquer tipo de polgono por um
polgono convexo de recorte. Baseia-se na aproximao de dividir para
conquistar segundo a qual se obtm um polgono recortado por recorte
sucessivamente efectuado por cada uma das arestas de suporte de cada uma
das arestas do polgono de recorte.
Dada a descrio de um polgono atravs de uma lista de vrtices, o algoritmo
consiste em, ao recortar o polgono contra cada uma das rectas sobre a qual
assenta uma aresta do polgono de recorte, obter uma nova lista de vrtices, ou
mais do que uma lista se houver lugar ao aparecimento de polgonos
degenerados que so separados. Cada uma destas listas descreve um dos
polgonos recortados contra cada um desses limites.
Em primeiro lugar necessrio identificar se o 1 vrtice se encontra dentro
ou fora do polgono de recorte. Este vrtice colocado na lista de vrtices do
polgono j recortado se o vrtice se encontrar dentro do polgono de recorte,
caso contrrio, a lista permanecer vazia.
Transio Interior-Interior: Quando ambos os vrtices esto
contidos no semi-plano interior, o 2 vrtice da aresta adicionado
lista de vrtices do polgono recortado
Transio Interior-Exterior: Quando ocorre uma transio do
semi-espao interior para o exterior necessrio calcular o vrtice de
interseco o qual adicionado lista de vrtices do polgono
recortado
Transio Exterior-Exterior: Quando ambos os vrtices esto
contidos no semi-plano exterior nada adicionado lista de vrtices do
polgono recortado
Transio Exterior-Interior: Quando ocorre uma transio do
semi-espao exterior para o interior necessrio calcular o vrtice de
interseco o qual adicionado lista de vrtices do polgono
recortado, assim como o 2 vrtice da aresta

Você também pode gostar