Escolar Documentos
Profissional Documentos
Cultura Documentos
COMPUTAC
AO
Helio Pedrini
2009
Conte
udo
1 Introdu
c
ao
1.1
1.2
1.3
1.4
1.5
Rela
ionamento entre Areas
. . . .
Computa
~ao Gra
a . . . . . . . .
Alguns Mar
os Histori
os . . . . .
Padr~oes Gra
os . . . . . . . . . .
Apli
a
o~es da Computa
~ao Gra
a
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2 Equipamentos Gr
aficos
2.1
2.2
2.3
2.4
2.5
2.6
Dispositivos de Entrada . .
Dispositivos de Sada . . . .
Sistemas de Coordenadas .
Resolu
~ao Gra
a . . . . . .
Visualiza
~ao . . . . . . . . .
Mapeamento entre Sistemas
1
2
2
7
8
11
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
de Coordenadas
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3 Modelos de Cores
11
14
19
20
20
20
23
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4 Algebra
Linear
23
25
27
27
28
28
29
29
30
30
31
32
34
35
36
36
CONTEUDO
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.9
4.10
4.11
4.12
4.13
4.14
4.1.2 Reta . . . . . . . . . . . . . . . . .
4.1.3 Equa
o~es entre Pontos e Retas . .
Geometria em Tr^es Dimens~oes . . . . . .
4.2.1 Ponto . . . . . . . . . . . . . . . .
4.2.2 Reta . . . . . . . . . . . . . . . . .
Se
~oes C^oni
as . . . . . . . . . . . . . . .
Vetores . . . . . . . . . . . . . . . . . . .
Corpo Numeri
o . . . . . . . . . . . . . .
Espa
os Vetoriais . . . . . . . . . . . . . .
Subespa
os . . . . . . . . . . . . . . . . .
Combina
~ao Linear . . . . . . . . . . . . .
Conjuntos Geradores . . . . . . . . . . . .
Independ^en
ia Linear . . . . . . . . . . . .
Base e Dimens~ao . . . . . . . . . . . . . .
Opera
~oes . . . . . . . . . . . . . . . . . .
Algumas Apli
a
o~es de Determinantes . .
Retas e Planos no Espa
o Tridimensional
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5 Transforma
co
es Geom
etricas
5.1
5.2
5.3
5.4
5.5
5.6
5.7
5.8
5.9
61
. . . . . . . . . . .
de Transforma
~ao
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
6 Proje
co
es Planares
6.1
6.2
6.3
6.4
6.5
36
38
39
39
40
40
41
42
43
44
45
46
47
49
50
57
58
62
67
72
72
74
78
79
80
84
87
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7 Tra
cado de Primitivas Gr
aficas
.
.
.
.
.
87
89
90
93
95
97
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 97
. 98
. 98
. 99
. 102
CONTEUDO
8 Preenchimento de Regi
oes
107
111
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
10 Modelagem Geom
etrica
112
112
112
113
114
117
118
118
120
121
123
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
11 Modelos de Ilumina
c
ao
123
123
123
124
124
125
126
126
127
128
129
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
129
129
131
131
133
135
136
137
137
139
139
146
146
CONTEUDO
147
Captulo 1
Introduc
ao
1.1
Computa
~ao Gra
a: estuda a gera
~ao de representa
~oes visuais a partir das espe
i
a
~oes
geometri
as de seus
omponentes.
Pro
essamento de Imagens: estuda as te
ni
as de transforma
~ao de imagens visando melhorar
suas
ara
tersti
as visuais, tais
omo aumento do
ontraste, fo
o, elimina
~ao de rudo, dete
~ao
de bordas, et
.
Analise de Imagens: pro
ura obter a espe
i
a
~ao dos
omponentes de uma imagem a partir
de sua representa
~ao visual.
Sntese
de
Imagens
imagem
descrio
geomtrica
Processamento
de
Imagens
imagem
Anlise
de
Imagens
A area de Visualiza
~ao Cient
a utiliza te
ni
as de sntese, pro
essamento e analise de imagens para representar informa
~ao de forma a fa
ilitar o entendimento de
onjuntos de dados de alta
omplexidade.
Computa
c
ao Gr
afica
1.2
H
elio Pedrini
Computac
ao Gr
afica
Passado:
dis
iplina restrita e altamente espe
ializada
baixa intera
~
ao usuario-
omputador
Presente:
alta intera
~
ao
om usuario-
omputador
equipamentos gr
a
os de baixo
usto
1.3
1826: primeira imagem fotogra a (inventor fran ^es Joseph Ni ephore Niep e).
(a)
(b)
1884: s
anner para
apturar e transmitir imagens (te
ni
o e inventor alem~ao Paul Nipkow)
1885: Tubos de Raios Catodi
os (Cathode Ray Tube - CRT)
1887: patente de
^amera para lmes (inventor e empresario ameri
ano Thomas Alva Edison)
1888: grava
~ao de imagens em um
ilindro de
era (Thomas Alva Edison e William Di
kson)
1926: primeira televis~ao (engenheiro es
o
^es John Logie Baird)
Introdu
c
ao
(a)
(b)
( )
(d)
1960: introdu
~ao do termo
omputa
~ao gra
a pelo ameri
ano William Fetter (Boeing), rela
ionado
a desenhos de
o
kpit
1961:
ria
~ao do jogo Spa
ewars, o primeiro vdeo game interativo, desenvolvido pelo estudante Steve
Russell no MIT para o
omputador PDP-1
1963: teoria de splines (matemati
o romeno Isaa
Ja
ob S
hoenberg)
1963: introdu
~ao das superf
ies de Coons
1966: primeiro Head-Mounted Display
Computa
c
ao Gr
afica
H
elio Pedrini
(a)
(b)
(a)
(b)
Introdu
c
ao
Computa
c
ao Gr
afica
H
elio Pedrini
mation
Introdu
c
ao
(a) Doom
(b) Myst
( ) The Sims
1995: Toy Story (Pixar): primeiro lme totalmente animado por
omputador.
1995: John Lasseter da Pixar ganha Os
ar pelo desenvolvimento e apli
a
~ao de te
ni
as usadas em
Toy Story
1996: lan
amento de Quake
1997: Apple Computer
ompra NexT
1998: padr~ao MPEG-4 e anun
iado
1999: Toy Story 2 produzido pela Pixar
2000: Playstation 2 (Sony)
1.4
Padr
oes Gr
aficos
Com o
res
ente aumento do interesse em Computa
~ao Gra
a, torna-se
onveniente a exe
u
~ao das
apli
a
~oes em diferentes plataformas. Um padr~ao para desenvolvimento de programas gra
os fa
ilita
essa tarefa, eliminando a ne
essidade de es
rever
odigos para equipamentos gra
os distintos.
Alguns exemplos de padr~oes gra
os desenvolvidos s~ao:
Linguagem
2D.
PostS ript: fa ilita a publi a ~ao de do umentos estati os ontendo textos e gra os
Computa
c
ao Gr
afica
H
elio Pedrini
Core Graphi
s System: a primeira espe
i
a
~ao foi publi
ada em 1977 pelo Graphi
Standards
Planning Committee (GSPC). Uma vers~ao
ompleta do padr~ao foi publi
ada em 1979. O
padr~ao e a primeira proposta para gera
~ao de gra
os 3D e foi implementada em alguns sistemas
gra
os nos Estados Unidos.
Graphi
al Kernel System (GKS): espe
i
a
~ao gra
a padronizada pela Ameri
an National Standards Institute (ANSI) e International Organization for Standardization (ISO) em
1985. Suporta um
onjunto de primitivas gra
as tais
omo desenho de linhas, polgonos,
ara
teres, et
, bem
omo seus atributos. N~ao suporta agrupamentos de primitivas hierarqui
as
de estruturas 3D.
Programmer's Hierar
hi
al Intera
tive Graphi
s System (PHIGS): baseado no GKS, PHIGS
e um padr~ao ANSI que prov^e meios para manipular e desenhar gra
os 3D en
apsulando des
ri
~oes de objetos e atributos. Isto possibilita que um objeto
omplexo seja des
rito uma uni
a
vez, mesmo exibindo-o varias vezes. PHIGS n~ao possui suporte a re
ursos avan
ados
omo
mapeamento de textura.
PEX: extens~ao para o PHIGS em ambiente X Window, permitindo que o X pudesse manipular
e desenhar objetos 3D. Tambem n~ao suporta re
ursos avan
ados.
OpenGL: sistema relativamente novo (sua primeira vers~ao e de 1992) que prov^e
ara
tersti
as
baseado nas bibliote
as GL (Graphi
s Library) das esta
~oes de trabalho
gra
as avan
adas. E
da SGI. Atualmente um
onsor
io de industrias e responsavel pelo geren
iamento da evolu
~ao
do OpenGL. Existe uma implementa
~ao livre do OpenGL
onhe
ida
omo MesaGL ou Mesa3D.
1.5
Aplica
c
oes da Computac
ao Gr
afica
Diversas apli
a
~oes fazem uso da Computa
~ao Gra
a, alguns exemplos s~ao apresentados a seguir:
Interfa es: a maioria dos apli ativos para omputadores pessoais e esta ~oes de trabalho atualmente disp~oe de interfa es gra as baseadas em janelas, menus, ones, et .
Automa
~ao de Es
ritorios e Editora
~ao Eletr^oni
a: permite a
ria
~ao de do
umentos que
ombinam texto, tabelas e gra
os.
Projeto Auxiliado por Computador (CAD): sistemas gra
os interativos utilizados para projetar
omponentes, pe
as e sistemas de dispositivos me
^ani
os, eletri
os, eletro-me
^ani
os e
eletr^oni
os. Isto in
lui edif
ios, automoveis, avi~oes, navios,
ir
uitos eletr^oni
os, sistemas
opti
os, redes telef^oni
as e de
omputador.
Introdu
c
ao
Simula
~ao e anima
~ao para visualiza
~ao
ient
a: anima
~oes
omputadorizadas utilizadas
para estudar entidades matemati
as abstratas e modelos matemati
os de fen^omenos
omo
uxo
de
uidos, relatividade, rea
~oes qumi
as e nu
leares, deforma
~ao de estruturas me
^ani
as sob
diferentes tipos de press~ao, meteorologia, medi
ina, biologia, et
.
Controle de Pro
essos: sistemas de
ontrole de trafego aereo e espa
ial, sistemas de
ontrole
de renarias e de usinas de energia mostram gra
amente os dados
oletados por sensores
one
tados a
omponentes
rti
os dos sistemas, de forma que os operadores possam responder
adequadamente a
ondi
~oes
rti
as.
Geopro
essamento: utilizada para produzir representa
~oes pre
isas e esquemati
as de
fen^omenos geogra
os obtidos a partir da
oleta de dados.
Entretenimento / Arte: e possvel utilizar os re
ursos de
omputa
~ao gra
a para produzir
efeitos artsti
os
omo a extra
~ao de texturas, padr~oes e estruturas a partir de fotos digitalizadas,
efeitos espe
iais para lmes e
omer
iais de televis~ao, jogos et
.
Gra
os de Apresenta
~ao: utiliza
~ao de te
ni
as gra
as para demonstra
~ao de resultados,
om o objetivo de mostrar ou transmitir
onhe
imento espe
o
omo, por exemplo, em uma
aula ou reuni~ao.
Captulo 2
Equipamentos Gr
aficos
Equipamentos asso
iados a area de Computa
~ao Gra
a
onsistem essen
ialmente em dispositivos
gra
os de entrada e sada ligados a um
omputador.
Diversas te
nologias e diferentes tipos de dispositivos s~ao utilizados para gerar representa
~oes
visuais, sendo que o desenvolvimento dessas te
nologias teve um papel fundamental na evolu
~ao da
Computa
~ao Gra
a.
possvel ainda
lassi
ar os dispositivos gra
os em duas
ategorias prin
ipais, segundo a forma
E
pela qual as imagens s~ao geradas: vetoriais e matri
iais.
2.1
Dispositivos de Entrada
Te
lado: o te
lado e o periferi
o mais utilizado na
omuni
a
~ao entre o usuario e o
omputador,
permitindo a entrada de textos, dados numeri
os e
omandos. As te
las, representando letras,
numeros, smbolos e outras fun
~oes, s~ao ligadas a um
ir
uito no interior no te
lado, que e
responsavel por identi
ar
ada te
la pressionada e enviar as informa
~oes ao
omputador. O
meio de
onex~ao dessas informa
~oes entre o te
lado e o
omputador pode ser por
abo (PS/2
ou USB) ou sem o. Te
lados modernos in
luem te
las adi
ionais para a sele
~ao de op
~oes em
menus e para a ativa
~ao de fun
~oes, bot~oes para apli
a
~oes espe
as, te
las de movimento de
ursor para sele
~ao de
oordenadas de um ponto em uma tela gra
a.
12
Computa
c
ao Gr
afica
H
elio Pedrini
Joysti
k: dispositivo que informa a posi
~ao do
ursor na tela. A informa
~ao de posi
ionamento
n~ao e dada ex
lusivamente pela pequena alavan
a, tambem e indispensavel o a
ompanhamento
visual atraves de um
ursor, um smbolo espe
ial que se move na tela. Os joysti
ks podem
indi
ar a posi
~ao em um plano, a partir da medida do deslo
amento da alavan
a em rela
~ao ao
entro. A manipula
~ao e per
ebida por poten
i^ometros
olo
ados na base da alavan
a. O sinal
eletri
o e
odi
ado e enviado ao
omputador. Os joysti
ks s~ao usados frequentemente para
ontrolar jogos de vdeo.
Caneta Opti
a
: e um dispositivo que fun
iona asso
iado a um monitor de vdeo, sendo
apaz
de dete
tar luz. A
aneta tem em sua ponta uma
elula fotoeletri
a e um interruptor de press~ao.
Ao ser pressionado
ontra a tela, o interruptor habilita a
elula a dete
tar o pulso de luz emitido
pelo fosforo que re
obre a tela no ponto sendo apontado. Quando a
aneta dete
ta um pulso de
luz em um terminal de varredura, o
onteudo dos registradores X e Y do
ontrolador de vdeo
e armazenado e o pro
essamento e interrompido. Atraves dos valores armazenados, o programa
gra
o determina as
oordenadas do pixel apontado pela
aneta.
Equipamentos Gr
aficos
13
Mesa Digitalizadora: dispositivo que permite o desenho de imagens diretamente no
omputador. Uma mesa digitalizadora
onsiste em uma superf
ie plana e um dispositivo semelhante a
uma
aneta que pode ser posi
ionado sobre a superf
ie. Um tipo de te
nologia utiliza indu
~ao
eletromagneti
a, em que a propria mesa fun
iona
omo bobina transmissora e re
eptora. A mesa
gera um sinal, que e re
ebido por um
ir
uito na
aneta. A mudan
a de press~ao na
aneta se
re
ete no sinal gerado pela
aneta.
Tela Sensvel ao Toque: e um tipo de tela sensvel a press~ao. O dispositivo e utilizado para a
sele
~ao de op
o~es de
omandos, dispensando a ne
essidade de outro periferi
o de entrada
omo o
te
lado. O usuario to
a a tela indi
ando o
omando sele
ionado. A posi
~ao do dedo e identi
ada
por um
onjunto de sensores dispostos em torno da tela. O tipo mais
omum emprega diodos
14
Computa
c
ao Gr
afica
H
elio Pedrini
emissores de radia
~ao infravermelha e
elulas fotoeletri
as. Ao
olo
ar o dedo na tela, o usuario
interrompe os feixes de luz nos dois eixos. As
elulas que deixaram de re
eber luz podem ser
identi
adas e um
al
ulo simples pode rela
ionar o par de
elulas
om a op
~ao da tela. O uso
de infravermelho evita a interfer^en
ia da luz ambiente.
Luva: dispositivo de intera
~ao utilizado em apli
a
~oes de realidade virtual. Consiste de um
onjunto de sensores a
oplados a uma luva que dete
tam movimento e for
a dos dedos. Antenas
de transmiss~ao e re
ep
~ao s~ao responsaveis por forne
er o posi
ionamento das m~aos. Assim, a
posi
~ao das m~aos pode indi
ar a posi
~ao de objetos que s~ao ent~ao mapeados para a tela ou outro
dispositivo.
2.2
Dispositivos de Sada
Impressoras
Matri
iais: tipo de impressora de impa
to,
ujos
ara
teres s~ao impressos por meio de
Equipamentos Gr
aficos
15
Cada padr~ao a ser impresso e denido por uma pequena matriz de pontos, onde
ada ponto
pode ser tra
ado ou n~ao.
Laser: tipo de impressora que produz textos ou gra
os
om alta qualidade. O pro
esso
de impress~ao e semelhante ao das foto
opiadoras. Um feixe de raio laser
ria uma imagem
eletrostati
a de uma pagina
ompleta a ser impressa. O bombardeio do feixe
arrega um
tambor fotossensvel
om uma
arga eletrostati
a n~ao uniforme. Por efeito da intensidade
da
arga, um po (toner) adere ao tambor apenas nas areas sensibilizadas, que e transferido
ao papel por meio de press~ao e aque
imento, formando as letras e imagens da pagina.
Jato de Tinta: tipo de impressora que possui um
abe
ote que transporta um pequeno
bi
o que expele a tinta em um jato
urto e no sobre o papel por meio de pequenos
or
ios. Pode-se variar a intensidade do jato, obtendo assim
ontrole sobre a densidade de
impress~ao. Algumas impressoras disp~oem de varios
artu
hos
om tintas de
ores diferentes,
uja mistura produz diversas tonalidades.
( ) laser
Tra
adores Gra
os: os tra
adores gra
os (plotters) s~ao dispositivos eletrome
^ani
os que
produzem o desenho pelo movimento de uma
aneta sobre a superf
ie do papel. A primitiva
gra
a basi
a nesse tipo de dispositivo e o segmento de reta. Ar
os,
urvas e
ara
teres s~ao
produzidos pelo tra
ado de uma serie de pequenos segmentos.
Figuras s~ao tra
adas pela varia
~ao
ontrolada da posi
~ao da
aneta (eixo x e y) e pelo
ontrole
do estado da
aneta (abaixada ou levantada).
Tra
adores de Mesa: o papel e xado sobre uma superf
ie plana retangular sobre a qual
esta lo
alizado um bra
o me
^ani
o que se movimenta por transla
~ao. Ao longo do bra
o
deslo
a-se um
abe
ote que suporta uma
aneta perpendi
ularmente a mesa, a qual pode
ser pressionada
ontra o papel ou levantada de forma a n~ao to
a-lo.
Tra
adores de Rolo: o bra
o e xo e o papel e movimentado para frente e para tras por
Terminais de Vdeo:
Os terminais ou monitores de vdeo s~ao o meio de sada mais utilizado em Computa
~ao Gra
a,
devido a sua
apa
idade de representar imagens de forma din^ami
a.
16
Computa
c
ao Gr
afica
H
elio Pedrini
O projeto dos terminais de vdeo teve, durante sua evolu
~ao, muitas abordagens te
nologi
as
diferentes que resultaram em
omportamentos distintos, tanto do ponto de vista do programador
do sistema gra
o quanto do ponto de vista do usuario.
Duas te
nologias bastante difundidas na fabri
a
~ao de terminais de vdeo s~ao tubos de raios
atodi
os (CRT, do ingl^es Cathodi
Ray Tube) e tela de
ristal lquido (LCD, do ingl^es Liquid
Cristal Display).
A te
nologia CRT utiliza o mesmo prin
pio dos aparelhos de televis~ao. Um
atodo aque
ido
emite um feixe eletr^oni
o que e
onvenientemente fo
alizado por um
onjunto de lentes e a
elerado por uma diferen
a de poten
ial. O feixe, de alta velo
idade, in
ide sobre a superf
ie
do tubo, que e re
oberta
om fosforo. O ponto de fosforo bombardeado pelos eletrons emite
luz. O
onjunto de pontos a
esos forma a gura. Um
onjunto de bobinas e utilizado para
desviar o feixe eletr^oni
o sobre o ponto a ser a
eso, o que e feito atraves da apli
a
~ao de tens~ao
propor
ional ao deslo
amento que se pretende obter.
No
aso de terminais
oloridos, tem-se um
onjunto de tr^es
anh~oes que emitem tr^es feixes de
eletrons. Os
anh~oes s~ao dispostos de tal forma que in
idam sobre a tela em tr^es pontos distintos,
onde se en
ontram depositados tr^es tipos diferentes de fosforo: o verde, o vermelho e o azul.
Os tr^es pontos de fosforo
am bastante proximos entre si, de tal forma que o olho humano v^e
um so ponto
olorido na tela. A intensidade luminosa de
ada ponto de fosforo pode ser obtida
variando-se a a
elera
~ao de
ada feixe, obtendo-se os inumeros tons de
ores.
Equipamentos Gr
aficos
17
bobinas de deflexo
feixe
catodo
tela revestida
de fsforo
lentes
Fsforo em Linha
Mscara
Canhes
A disposi
~ao dos
anh~oes e dos pontos de fosforo e geralmente arranjada em ret^angulos, formando
linhas verti
ais. Cada um dos tr^es
anh~oes re
ebe uma entrada de tens~ao que regula a intensidade
do feixe eletr^oni
o em
ada ponto da linha de varredura. A de
ex~ao dos tr^es feixes eletr^oni
os e
ontrolada por pulsos de sin
ronismo horizontal e verti
al, re
ebidos pelo monitor. Estes sinais
ontrolam o retra
o do feixe, isto e, o reposi
ionamento do feixe durante sua movimenta
~ao, ate
o in
io da proxima linha de varredura no
aso de retra
o horizontal, ou ate o topo da tela no
aso de retra
o verti
al.
A sequ^en
ia de varredura de um terminal e mostrada na gura 2.13, desta
ando-se o uso de
entrela
amento, ou seja, a varredura de todas as linhas mpares seguida de varredura das linhas
pares. Esta te
ni
a e usada para diminuir a
intila
~ao da imagem: devido a baixa persist^en
ia
do fosforo, as linhas superiores
ome
am a se apagar quando o feixe esta desenhando as linhas
inferiores.
18
Computa
c
ao Gr
afica
H
elio Pedrini
1
2
3
4
5
6
7
Os terminais CRT apresentam
omo prin
ipais vantagens sua vida util longa e alta faixa din^ami
a
de
ores e
ontrastes. As prin
ipais desvantagens desses terminais s~ao suas dimens~oes e peso,
elevado
onsumo de energia e possibilidade de
ausar danos a saude no
aso de longos perodos
de exposi
~ao de emiss~ao de radia
~ao.
Por outro lado, a te
nologia LCD
onsiste em um lquido polarizador da luz, eletri
amente
ontrolado, que se en
ontra
omprimido entre duas l^aminas transparentes polarizadoras. Os
eixos polarizadores das duas l^aminas est~ao alinhados perpendi
ularmente entre si.
As prin
ipais vantagens da te
nologia LCD s~ao as dimens~oes reduzidas, o baixo
onsumo de
energia, a aus^en
ia de emiss~ao de radia
o~es no
ivas a saude e
apa
idade de forma
~ao de imagens
ntidas e sem
intila
~ao. As prin
ipais desvantagens s~ao maior
usto de fabri
a
~ao (embora
a tend^en
ia
om a populariza
~ao desses terminais seja um menor impa
to no
usto nal do
produto) e menor vida util.
Os terminais usados em Computa
~ao Gra
a devem ser
apazes de reter indenidamente a
imagem apresentada. Esta reten
~ao e obtida pelo redesenho
ontnuo da imagem na tela.
Os dados dessa imagem
am armazenados em uma memoria de tela (frame buer) que e
onstantemente lida pelo
ir
uito
ontrolador para regenerar a imagem no vdeo. Esta memoria
e normalmente grande. Um monitor
olorido que exibe 16 milh~oes de
ores requereria 24 bits
para representar o intervalo
ompleto de
ores, resultando em 3 bytes para
ada pixel na memoria
de tela. Para uma tela
om resolu
~ao de 640 480 pixels, por exemplo, o monitor requereria
921.600 bytes (64048024), ou seja, aproximadamente 1 Mbyte.
Ao inves de armazenar o valor de 24 bits de
ada pixel diretamente na memoria de tela, a pla
a
de vdeo poderia restringir o numero de
ores que podem ser exibidas simultaneamente. Por
exemplo, as 256
ores mais relevantes para a apli
a
~ao dentre as 16 milh~oes possveis podem
ser armazenadas em uma tabela ou mapa de
ores. Assim, a pla
a de vdeo teria a
esso ao
intervalo total de
ores, embora apenas 256 possam ser exibidas em um determinado instante
(gura 2.14).
Equipamentos Gr
aficos
19
75%
25%
0
1
...
12 100%
12
...
Memria de Tela
Tabela de Cores
R
0
0
0
0
1
1
1
1
G
0
0
1
1
0
0
1
1
B
0
1
0
1
0
1
0
1
Valor Binario
0
1
2
3
4
5
6
7
Cor
preto
azul
verde
iano
vermelho
magenta
amarelo
bran
o
2.3
Sistemas de Coordenadas
A obten
~ao de uma imagem a partir de objetos em uma
ena requer a transforma
~ao entre diferentes
sistemas de
oordenadas. A gura 2.15 ilustra os prin
ipais sistemas de
oordenadas envolvidos no
pro
esso.
coordenadas
do
objeto
coordenadas
do
mundo
coordenadas
da
cmera
coordenadas
normalizadas
coordenadas
da
tela
sistema de
oordenadas do mundo: utilizado pelo usuario para denir das
oordenadas dos
objetos;
20
Computa
c
ao Gr
afica
H
elio Pedrini
sistema de
oordenadas da tela:
onjunto de pixels endere
aveis pelo dispositivo. Os pixels
s~ao endere
ados por dois numeros inteiros que d~ao suas
oordenadas horizontal e verti
al. Em
geral, o pixel (0, 0) lo
aliza-se no
anto superior esquerdo do ret^angulo de visualiza
~ao.
2.4
Resoluc
ao Gr
afica
A resolu
~ao de um dispositivo e dada pela densidade de pontos, em
ada dimens~ao, que podem ser
exibidos, por exemplo, 400 pontos por polegada. A resolu
~ao gra
a de um dispositivo normalmente
e utilizada para denir dimens~oes de imagens formadas no dispositivo, denida
omo o numero de
pontos horizontais e verti
ais que podem ser exibidos.
2.5
Visualiza
c
ao
Janela de Desenho (Janela): dene a por
~ao do desenho que deve apare
er no dispositivo
gra
o. Normalmente esta janela e denida por meio de um ret^angulo indi
ado por dois pontos:
anto inferior (xd1 , yd1 ) e
anto superior (xd2 , yd2 ). O sistema de
oordenadas de desenho
asso
iado a janela e denominado de
oordenadas do usuario.
Janela de Visualiza
~ao (Viewport): dene a por
~ao do dispositivo gra
o de sada onde deve
ser apresentada a por
~ao do desenho denida por sua janela. O sistema de
oordenadas asso
iado
e denominado de sistema de
oordenadas do dispositivo.
4
(a) quatro janelas denidas
sobre um desenho
2.6
O pro
esso de visualiza
~ao baseia-se na mudan
a de sistemas de
oordenadas. Este mapeamento e
matemati
amente des
rito atraves de formulas expressando a propor
ionalidade, ou seja, o posi
ionamento relativo de um ponto (xd, yd) na janela de desenho deve
orresponder ao ponto (xv, yv) na
janela de visualiza
~ao.
Assim,
xd xd1
xv xv1
xv xv1
=
(xd xd1 )
xv = xv1 + 2
(2.1)
xd2 xd1
xv2 xv1
xd2 xd1
Equipamentos Gr
aficos
21
ou seja
x
(2.2)
(2.3)
Captulo 3
Modelos de Cores
Cor e uma propriedade importante na analise de imagens realizada pelos seres humanos
om ou
sem o auxlio de
omputador. A identi
a
~ao de objetos e a interpreta
~ao de uma
ena podem, em
geral, ser simpli
adas
om o uso de
or. Com base em experimentos realizados
om o sistema visual
humano, o olho humano pode dis
ernir milhares de tons e intensidades de
ores,
omparado
om
apenas algumas dezenas de nveis de
inza.
Este
aptulo des
reve os prin
ipais aspe
tos fsi
os das
ores e apresenta um
onjunto de modelos
de representa
~ao para fa
ilitar a espe
i
a
~ao e a manipula
~ao de
ores.
3.1
Fundamentos de Cor
Embora o pro
esso psi
osiologi
o de per
ep
~ao de
ores pelo
erebro humano n~ao seja
ompletamente
ompreendido, os aspe
tos fsi
os da
or, estudados ha muitos anos por diversos pesquisadores, podem
ser expressos por meio de uma base formal fundamentada por resultados teori
os e experimentais.
A
ompreens~ao da natureza da luz e essen
ial no estudo das
ores. A
or e uma manifesta
~ao
per
eptual da luz que, por sua vez, e um sinal eletromagneti
o. Um raio luminoso e
onstitudo de
part
ulas,
hamadas fotons,
uja frequ^en
ia e velo
idade determinam o
omprimento de onda dos
fotons.
Na forma
~ao das
ores, dois pro
essos prin
ipais podem ser desta
ados, o pro
esso aditivo e o
subtrativo. No pro
esso aditivo de forma
~ao de
or, as energias dos fotons
orrespondentes a dois ou
mais raios luminosos que est~ao sendo
ombinados s~ao somadas. O pro
esso subtrativo de forma
~ao de
or o
orre quando a luz que os olhos re
ebem e proveniente de material transparente (ltro),
orantes
ou pigmentos, em que parte da energia luminosa in
idente e absorvida e parte e transmitida.
Do ponto de vista per
eptual, os diferentes
omprimentos de onda est~ao asso
iados a diferentes
ores. Em 1666, Isaa
Newton (1642-1727) des
obriu que um feixe de luz bran
a ao atravessar um
prisma de vidro poderia ser de
omposto em um espe
tro
ontnuo de
ores, variando do violeta ao
vermelho. Esse intervalo, denominado de faixa visvel do espe
tro,
orresponde a uma pequena
regi~ao do espe
tro eletromagneti
o
ujo
omprimento de onda e
apaz de sensibilizar o olho humano.
A gura 3.1 mostra o espe
tro total de radia
~oes eletromagneti
as, in
luindo as ondas de radio,
24
Computa
c
ao Gr
afica
H
elio Pedrini
mi
roondas, os raios infravermelhos, os raios X e os raios gama,
om destaque para a faixa visvel do
espe
tro.
4
10
10
10
10
10
Rdio
Microondas
12
14
10
16
10
Infravermelho
18
10
Ultravioleta
22
20
10
10
10
Raios X
Raios Gama
frequncia
(Hertz)
Faixa Visvel
700
600
Vermelho Alaranjado
500
Amarelo
Verde
400
Azul
Violeta
comprimento
de onda (nm)
Figura 3.1: Espe tro eletromagneti o om destaque para sua faixa visvel.
A
or e per
ebida pelo olho quando a luz e re
etida por um objeto. Isaa
Newton a
reditava
que o olho humano possua inumeras
elulas fotossensveis as diversas faixas do espe
tro visvel.
Em 1801, o fsi
o Thomas Young (1773-1829) prop^os o modelo tri
romati
o para a per
ep
~ao de
ores do olho humano. Segundo o modelo de Young, os
ones (
elulas fotossensveis que
omp~oem a
retina juntamente
om os bastonetes) s~ao subdivididos em tr^es
ategorias,
ujos valores maximos de
sensibilidade situam-se proximos do vermelho, verde e azul.
Dessa forma, todas as sensa
~oes de
or per
ebidas pelo olho humano s~ao, na verdade,
ombina
~oes
das intensidades dos estmulos re
ebidos pelos tr^es tipos de
ones. Ini
ialmente, houve muita resist^en
ia por parte da
omunidade
ient
a em a
eitar a teoria tri
romati
a formulada por Young.
Varios experimentos de per
ep
~ao de
or realizados pelo fsi
o alem~ao Hermann von Helmholtz (18211894)
ontriburam para apoiar a teoria de Young, que assim
ou
onhe
ida
omo teoria de YoungHelmholtz.
Em 1931, a Comiss~ao Interna
ional de Ilumina
~ao (CIE, do fran
^es Commission Internationale
de l'E
lairage
) adotou um sistema de representa
~ao do espa
o de
ores,
uja base e
onstituda
por tr^es
ores nas faixas vermelha, verde e azul do espe
tro visvel. A
ada uma dessas tr^es
ores,
onhe
idas
omo
ores primarias, a CIE atribuiu os valores de
omprimentos de onda 435.8 nm para
azul, 546.1 nm para verde e 700 nm para vermelho.
As
ara
tersti
as normalmente usadas para distinguir uma
or de outra s~ao o brilho, o matiz e a
satura
a~o. O brilho ou lumin^an
ia representa a no
~ao de intensidade luminosa da radia
~ao. O matiz
e uma propriedade asso
iada ao
omprimento de onda predominante na
ombina
~ao de ondas de luz.
A satura
~ao expressa a pureza do matiz ou, de modo similar, o grau de mistura do matiz original
om
a luz bran
a. As
ores puras s~ao
ompletamente saturadas.
O matiz e a satura
~ao, quando tomados juntos, s~ao
hamados de
romin^an
ia e, portanto, uma
or
pode ser
ara
terizada pelo seu brilho e
romin^an
ia. No modelo de
ores desenvolvido pela CIE,
ores
s~ao espe
i
adas pela
ombina
~ao das
ores primarias X, Y e Z. As quantidades das
ores primarias
presentes em uma
or s~ao
hamadas de
oe
ientes tri
romati
os, dados por
x=
X
X+Y +Z
y=
Y
X+Y+Z
z=
Z
X+Y +Z
(3.1)
Modelos de Cores
25
A soma dos tr^es
oe
ientes tri
romati
os reduz o espa
o de
ores tridimensional a um plano
bidimensional que satisfaz a restri
~ao
x+y+z = 1
(3.2)
Esse plano,
onhe
ido
omo plano de
romin^an
ia ou plano de Maxwell, ilustrado na gura 3.2,
forma uma rela
~ao entre
oordenadas de
romati
idade (x, y) e
oordenadas tri
romati
as (X, Y, Z).
Como z = 1 x y, o
omponente z e redundante, tal que o par (x, y) espe
i
a a
romin^an
ia da
or.
Y
(0,1,0)
(1,0,0)
X
(0,0,1)
Z
Os valores dos
oe
ientes tri
romati
os de
ada
or podem ser obtidos a partir de
urvas ou
tabelas que foram
al
uladas
om base em resultados experimentais. A CIE
riou uma representa
~ao
bidimensional do espa
o de
or
hamada diagrama de
romati
idade, ilustrado na gura 3.3, o qual
mostra a
omposi
~ao de
ores
omo uma fun
~ao das
ores primarias X e Y , ou seja, a ultima
oordenada
do espa
o e ex
luda. Conforme pode ser observado na gura, a luz bran
a esta no
entro do diagrama
de
romati
idade. Cores totalmente saturadas est~ao lo
alizadas ao longo da borda do diagrama. A
medida que um ponto se afasta da borda e se aproxima do
entro do diagrama, mais luz bran
a e
adi
ionada a
or, tornando-a menos saturada.
3.2
Modelos de Cores
Os modelos ou espa
os de
ores permitem a espe
i
a
~ao de
ores em um formato padronizado para
atender a diferentes dispositivos gra
os ou apli
a
~oes que requerem a manipula
~ao de
ores.
Um modelo de
or e essen
ialmente uma representa
~ao tridimensional na qual
ada
or e espe
i
ada por um ponto no sistema de
oordenadas tridimensionais.
O universo de
ores que podem ser reproduzidas por um modelo e
hamado de espa
o ou gamute
de
ores. N~ao ha um modelo que des
reva todos os aspe
tos referentes as
ores, portanto, modelos
diferentes s~ao utilizados para espe
i
ar as
ara
tersti
as das
ores.
Os modelos de
ores podem ser aditivos ou subtrativos. Nos modelos aditivos, a
or e gerada
pela
ombina
~ao de varios
omprimentos de onda luminosa. A
or bran
a e gerada pela adi
~ao das
ores primarias verde, vermelha e azul. A
or preta indi
a que nenhuma luz esta sendo transmitida.
26
Computa
c
ao Gr
afica
H
elio Pedrini
Y
1.0
0.9
0.8
0.7
520
regio de energia espectral
(comprimento de onda em nanmetros)
540
510
Verde
560
0.6
0.5
500
Ciano
Amarelo
0.4
580
600
Branco
490
Azul
0.3
0.2
480
0.1
Vermelho
700
Prpura
400
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
Exemplos de modelos aditivos in
luem XYZ, RGB, HSV e HLS, des
ritos a seguir. Nos modelos
subtrativos, a
or preta e produzida pela
ombina
~ao das
ores primarias
iano, magenta e amarelo. A
or bran
a
orresponde a aus^en
ia dessas
ores primarias. Exemplos de modelos subtrativos in
luem
CMY e CMYK. A gura 3.4 ilustra a
ombina
~ao de
ores nos modelos aditivos e subtrativos.
vermelho
amarelo
verde
azul
ciano
preto
branco
magenta
magenta
ciano
verde
vermelho
azul
amarelo
(a)
(b)
As proximas se
~oes des
revem os modelos mais utilizados para representa
~ao de
ores, in
luindo
suas
ara
tersti
as basi
as e apli
a
~oes em pro
essamento de imagens.
Modelos de Cores
3.2.1
27
Modelo de Munsell
O modelo de Munsell, desenvolvido por Albert Henry Munsell (1858-1918), e uma das representa
~oes
mais antigas para espe
i
ar
ores. O modelo, ilustrado na gura 3.5, dene uma
or
omo um ponto
no espa
o tridimensional que representa os tr^es atributos de per
ep
~ao de
ores, que s~ao o matiz, o
valor e o
roma.
Valor
10
Branco
9
8
5YR
5R
5Y
5GY
7
6
5RP
5G
2
4
6
5P
Matiz
5PB 3
5B
5BG
10
12
14
2
1
Preto
Croma
O eixo
entral do modelo representa os valores de brilho, que podem variar de 1 (preto) a 10
(bran
o). Os matizes s~ao organizados ao redor do eixo
entral, enquanto o
roma aumenta a medida
que se distan
ia da origem do modelo. O
roma e analogo ao
omponente de satura
~ao na representa
~ao
CIE, des
revendo a pureza da
or.
O modelo de Munsell e
onstitudo de
in
o
ores primarias, que s~ao o vermelho (R, red), amarelo
(Y, yellow), verde (G, green), azul (B, blue) e purpura (P, purple). As
ombina
o~es de
ores YR,
GY, BG, PB e RP formam
in
o meio-matizes. A espe
i
a
~ao de uma
or e dada por meio de uma
nota
~ao que in
lui os atributos de matiz, valor e
roma. Por exemplo, para a
or 5R 7/12, em que 5R
representa o matiz vermelho, 7 representa o brilho e 12 e a satura
~ao da
or.
3.2.2
Modelo RGB
Este modelo de
ores e baseado em um sistema de
oordenadas
artesianas, em que o espa
o de
ores
e um
ubo,
omo mostrado na gura 3.6. As
ores primarias vermelho (R, red), verde (G, green) e
azul (B, blue) est~ao em tr^es verti
es do
ubo, as
ores primarias
omplementares
iano, magenta e
amarelo est~ao em outros tr^es verti
es, o verti
e junto a origem e o preto e o mais afastado da origem
orresponde a
or bran
a.
No modelo RGB, a es
ala de
inza se estende atraves da diagonal do
ubo, ou seja, a reta que une
a origem (preto) ate o verti
e mais distante (bran
o). Por
onveni^en
ia, geralmente assume-se que os
valores R, G e B est~ao normalizados entre 0 e 1. O modelo RGB e muito utilizado em dispositivos
omo monitores e
^ameras de vdeo.
28
Computa
c
ao Gr
afica
H
elio Pedrini
G
Verde
Ciano
Amarelo
Branco
Escala de cinza
Vermelho
Preto
Azul
Magenta
B
3.2.3
Modelo XYZ
O modelo de
ores XYZ foi proposto pela CIE e e baseado nas
ores primarias imaginarias X, Y e Z.
Neste modelo teori
o, qualquer
ombina
~ao aditiva entre duas
ores sempre sera lo
alizada na reta
que
one
ta estas duas
ores no plano XY.
As
ores primarias X, Y e Z est~ao linearmente rela
ionadas
om o modelo RGB por
R
X
0.490 0.310 0.200
Y = 0.177 0.813 0.010 G
0.000 0.010 0.990
B
Z
(3.3)
3.2.4
Modelo CMY
Este modelo e baseado nas
ores primarias
omplementares
iano (C,
yan), magenta (M, magenta)
e amarelo (Y, yellow), as quais podem ser obtidas
omo
B
G
M = R + B
Y
R
G
C
(3.4)
Uma outra maneira de obter o modelo CMY e realizar uma mudan
a de
oordenadas tomando-se
omo refer^en
ia o modelo RGB. Essa
onvers~ao e feita subtraindo-se as
ores primarias R, G e B da
Modelos de Cores
29
(3.5)
em que 0 R, G, B 1.
O modelo CMY e muito utilizado em dispositivos que depositam pigmentos
oloridos sobre papel,
omo as impressoras de jato de tinta ou foto
opiadoras
oloridas. Entretanto, algumas di
uldades
surgem ao tentar reproduzir a
or preta a partir das tr^es
ores primarias CMY. A sobreposi
~ao dessas
ores primarias para gerar a
or preta normalmente impli
a um
onsumo elevado de tinta, aumentando
o
usto da impress~ao e
riando problemas de umidade no papel. Alem disso, a
ombina
~ao em iguais
quantidades das
ores CMY para produzir a
or preta tipi
amente gera uma tonalidade proxima do
marrom es
uro.
Devido a esses problemas, normalmente adi
iona-se o
omponente de
or preta ao modelo de
ores
CMY, obtendo-se assim o modelo CMYK1 .
3.2.5
Modelo YIQ
(3.6)
Modelo YUV
O modelo YUV e utilizado para representar
ores nos padr~oes de televis~ao PAL (do ingl^es, Phase
Alternation by Line) e SECAM (do fran
^es, Sequentiel Couleur a Memoire). O
omponente Y
orresponde a lumin^an
ia e os
omponentes U e V
odi
am as informa
~oes de
romin^an
ia.
1
A letra K e utilizada para representar a
or preta (bla
k, em ingl^es), ja que o uso da letra B e
onsagrado para a
or
azul (blue, em ingl^es).
30
Computa
c
ao Gr
afica
H
elio Pedrini
em que 0 R, G, B 1.
3.2.7
(3.7)
Modelo YCbCr
O modelo YCbCr e largamente utilizado em vdeos digitais. Neste modelo, a informa
~ao de lumin^an
ia
e representada pelo
omponente Y , enquanto a informa
~ao de
or e armazenada nos
omponentes Cb
e Cr. O
omponente Cb e a diferen
a entre a
or azul e um valor de refer^en
ia, o
omponente Cr e a
diferen
a entre a
or vermelha e um valor de refer^en
ia.
A
onvers~ao do sistema RGB para YCbCr e dada por
R
Cb = 0.169 0.331
0.5
G
Cr
0.5
0.419 0.081
B
3.2.8
0.299
0.587
0.114
(3.8)
Modelo HSV
O modelo HSV e denido pelos par^ametros matiz (H, hue), satura
~ao (S, saturation) e lumin^an
ia (V,
value). A representa
~ao gra
a tridimensional do modelo HSV e uma pir^amide hexagonal derivada
do
ubo RGB,
omo mostrado na gura 3.7(a).
Luminncia
Verde
Amarelo
Luminncia
Ciano
Vermelho
Branco
Azul
(Luminncia = 1)
Magenta
Saturao
Matiz
(b)
Preto
(Luminncia = 0)
(a)
Figura 3.7: Modelo HSV. (a) representa ~ao gra a do modelo; (b) varia ~ao dos par^ametros no modelo HSV.
Os diferentes matizes est~ao representados na parte superior da pir^amide, a satura
~ao e medida ao
longo do eixo horizontal e a lumin^an
ia e medida ao longo do eixo verti
al, o qual passa pelo
entro
Modelos de Cores
31
da pir^amide. Nessa base hexagonal da pir^amide,
ada verti
e
orresponde a uma das
ores primarias
RGB ou as
ores primarias
omplementares (
iano, magenta e amarelo). O ^angulo entre os verti
es e
de 60 . O vermelho e dado pelo ^angulo 0 , o amarelo igual a 60 e assim por diante.
A satura
~ao varia de 0 a 1 e e representada
omo sendo a raz~ao entre a pureza de um determinado
matiz e sua pureza maxima (S = 1). Um determinado matiz possui 1/4 de pureza em S = 0.25.
Quando S = 0, tem-se a es
ala de
inzas. A lumin^an
ia varia de 0 (no pi
o da pir^amide), que
representa a
or preta, a 1 (na base), onde as intensidades das
ores s~ao maximas. A gura 3.7(b)
mostra a varia
~ao desses par^ametros na pir^amide do modelo HSV.
A
onvers~ao do modelo RGB para o modelo HSV pode ser realizada por meio das seguintes
equa
~oes:
(G B)
60
, se M = R
(M m)
(B R)
+ 120, se M = G
H = 60
(M m)
(R G)
+ 240, se M = B
60
(M m)
(M m) , se M 6= 0
M
S=
0, aso ontrario
(3.9)
V=M
3.2.9
Modelo HSL
O modelo HSL e denido pelos par^ametros matiz (H, hue), satura
~ao (S, saturation) e luminosidade
(L, lightness). A representa
~ao gra
a do modelo HSL e formada por dois
ones de altura 1,
ujas
bases s~ao
oin
identes,
onforme mostra a gura 3.8.
O matiz e determinado pelos pontos no
r
ulo da borda das duas bases
omuns aos
ones. A
satura
~ao varia de 0 a 1,
onforme a dist^an
ia ao eixo do
one. A luminosidade varia de 0 (preto) a
1 (bran
o) ao longo do eixo
omum aos dois
ones, onde se en
ontra a es
ala de
inza. Os matizes
puros s~ao en
ontrados no plano onde a luminosidade e igual a 0.5 e a satura
~ao e igual a 1.
32
Computa
c
ao Gr
afica
Branco
Vermelho
(Luminosidade = 1)
Magenta
Amarelo
Azul
Verde
H
elio Pedrini
(Luminosidade = 0.5)
Ciano
Escala de cinza
Preto
(Luminosidade = 0)
A
onvers~ao do modelo RGB para o modelo HSL pode ser realizada por meio das seguintes
equa
~oes:
(G B)
, se M = R
60
(M m)
(B R)
+ 120, se M = G
H = 60
(M m)
(R G)
+ 240, se M = B
60
(M m)
0, se M = m
(M m)
S = (M + m) , se 0 < L 0.5
(M m)
, se L > 0.5
2 (M + m)
M+m
L=
2
(3.10)
3.2.10
Modelo HSI
O modelo HSI representa uma
or em termos do matiz (H, hue), satura
~ao (S, saturation) e intensidade
(I, intensity). A
ombina
~ao desses par^ametros em um espa
o de
ores tridimensionais resulta uma
estrutura piramidal de tr^es lados, mostrada na gura 3.9(a).
Qualquer ponto na superf
ie dessa estrutura representa uma
or puramente saturada. Os verti
es
do tri^angulo da base
omum as duas pir^amides
orrespondem as
ores primarias vermelho, verde e
azul (gura 3.9(b)). Cada se
~ao transversal da estrutura piramidal e um tri^angulo
om as propor
~oes
das
ores primarias para produzir um determinado valor de intensidade.
Modelos de Cores
33
Branco
Azul
Azul
Vermelho
Magenta
Verde
Ciano
H
Vermelho
Amarelo
Verde
(b)
(a)
Preto
Figura 3.9: Modelo HSI. (a) representa ~ao gra a do modelo; (b) varia ~ao dos par^ametros no modelo HSI.
A partir da gura 3.9(b), pode-se observar que o matiz H e determinado pelo ^angulo do vetor
om
respeito ao eixo da
or vermelha. Assim, quando H = 0 , a
or e vermelha, quando H = 60 , a
or e
amarela, e assim por diante. A satura
~ao de uma
or esta asso
iada a pureza do matiz, ou seja, se a
or esta diluda pelo bran
o e e propor
ional a dist^an
ia da
or ao
entro do tri^angulo. Quanto mais
distante uma
or estiver do
entro do tri^angulo, maior sua satura
~ao.
O
omponente de intensidade no modelo HSI e medida
om respeito a uma linha perpendi
ular
ao tri^angulo, passando atraves de seu
entro. As intensidades ao longo dessa linha que
am abaixo
do tri^angulo s~ao mais es
uras, enquanto as intensidades a
ima do tri^angulo s~ao mais
laras.
Os
omponentes da representa
~ao RGB podem ser
onvertidos para o modelo HSI pelas express~oes
H = ar
os
(R G) + (R B)
2
(R G)2 + (R B)(G B)
3 min(R, G, B)
R+G+B
R+G+B
I=
3
S=1
(3.11)
34
3.2.11
Computa
c
ao Gr
afica
H
elio Pedrini
No modelo XYZ, des
rito anteriormente, duas dist^an
ias iguais em regi~oes diferentes do diagrama de
romati
idade n~ao indi
am varia
~oes equivalentes das
ores em termos de per
ep
~ao visual. Em 1976,
a CIE deniu dois modelos de
ores para permitir es
alas per
eptualmente mais uniformes.
O modelo L*u*v* e derivado do modelo XYZ da CIE, des
rito na se
~ao 3.2.3. O
omponente
L*
orresponde a lumin^an
ia, enquanto os
omponentes u* e v*
orrespondem a informa
~ao de
romin^an
ia, dados por
Y
Y
> 0.008856
116( )1/3 16, se
Yn
Yn
L =
Y
Y
903.3( ), se
0.008856
Yn
Yn
u = 13L (u
(3.12)
un
)
v = 13L (v vn
)
em que u = 4X/(X + 15Y + 3Z) e v = 9Y/(X + 15Y + 3Z). Os valores un e vn s~ao denidos de maneira
similar aos valores u e v , entretanto, s~ao apli
ados
om refer^en
ia ao bran
o (Xn, Yn, Zn). Assim,
= 4Xn/(Xn + 15Yn + 3Zn) e v = 9Yn/(Xn + 15Yn + 3Zn). O valor de L varia de 0 a 100, sendo
un
n
que a lumin^an
ia relativa (Y/Yn) varia de 0 a 1.
O modelo L*a*b* tambem e derivado do modelo XYZ da CIE. O
omponente L*
orresponde a
lumin^an
ia, enquanto os
omponentes u* e v*
orrespondem a informa
~ao de
romin^an
ia, dados por
Y
Y
> 0.008856
116( )1/3 16, se
Yn
Yn
L =
Y
Y
903.3( ), se
0.008856
Y
Yn
n
X
Y
a = 500 f
f
Xn
Yn
Y
Z
b = 200 f
f
Yn
Zn
em que f(t) = t1/3 se t > 0.008856 ou, aso ontrario, f(t) = 7.787t + 16/116.
(3.13)
Captulo 4
Algebra
Linear
angular superior)
Determinantes
(2,1,3)
(2,3,1)
(3,1,2)
(3,2,1)
Invers~ao: diz-se que o
orre uma invers~ao todas as vezes que um inteiro maior pre
eder um
menor.
Permuta
a~o par e aquela
ujo numero total de invers~oes e um inteiro par e permuta
~ao
mpar e aquela
ujo numero total de invers~oes e um inteiro mpar. A seguinte tabela
lassi
a as diversas permuta
~oes de {1, 2, 3}
omo sendo par ou mpar.
Permuta
~ao
(1,2,3)
(1,3,2)
(2,1,3)
(2,3,1)
(3,1,2)
(3,2,1)
Numero de Invers~oes
0
1
1
2
2
3
Classi
a
~ao
par
mpar
mpar
par
par
mpar
a12a21a33
a13a21a32
a11a23a32
a12a23a31
a13a22a31
36
Computa
c
ao Gr
afica
H
elio Pedrini
Como ilustra o exemplo a
ima, uma matriz Ann possui n! produtos elementares. S~ao
os produtos da forma a1j1a2j2...anjn, onde (j1, j2, ..., jn) e uma permuta
~ao do
onjunto
{1, 2, ..., n}.
multipli
ado por 1 ou +1. Usa-se o sinal se (j1, j2, ..., jn) for uma permuta
~ao mpar e
o sinal + se (j1, j2, ..., jn) for uma permuta
~ao par.
Exemplos:
a
11
a)
a21
a11
b) a21
a31
a12
= a11a22 a12a21
a22
a12 a13
a22 a23 = a11a22a33+a21a32a13+a31a12a23a13a22a31a23a32a11a33a12a21
a32 a33
Propriedades da Fun
c
ao Determinante:
4.1
4.1.1
Ponto
Um ponto P no plano pode ser lo
alizado por meio do sistema de
oordenadas retangular e do sistema
de
oordenadas polar, ilustrados na gura 4.1.
y
b
y
P(a,b)
a
x
(a) retangular
(b) polar
Reta
forma expl ita: y = mx + b, em que m e a in lina ~ao da reta e b e ponto de interse ~ao no eixo
y, onforme ilustrado na gura 4.2. Uma desvantagem e que retas verti ais, tais omo x = 1,
Algebra
Linear
37
y
y = mx + b
m = tan
x
Figura 4.2: Forma expl
ita da reta.
forma impl ita: expressa em termos de dois pontos (x1, y1) e (x2, y2) perten entes a reta (-
x2 x
reta e e o ^angulo da reta perpendi
ular
om rela
~ao ao eixo x (gura 4.4).
y
x
Figura 4.4: Forma perpendi
ular da reta.
(gura 4.5)
equa
~
ao parametri
a: a reta ax + by + c = 0 possui as seguintes equa
~oes parametri
as:
x = x1 + t(x2 x1)
y = y1 + t(y2 y1)
38
Computa
c
ao Gr
afica
H
elio Pedrini
y
P
r
1
P2
t
P
P1
Q
x
Figura 4.6: Forma parametri
a da reta.
O resultado anterior pode ser veri
ado atraves da similaridade entre os tri^angulos P1PQ e
P1P2R.
4.1.3
Equac
oes entre Pontos e Retas
dist^
an
ia entre dois pontos P1(x1, y1) e P2(x2, y2)
d=
dist^
an
ia entre ponto P1(x1, y1) e a reta ax + by + c = 0
d=
interse
~
ao de duas retas a1x + b1y + c1 = 0 e a2x + b2y + c2 = 0
x=
b1c2 b2c1
a1b2 a2b1
y=
c1a2 c2a1
a1b2 a2b1
a menos que a1b2 = a2b1,
aso onde as retas s~ao paralelas (ou id^enti
as)
^
angulo entre duas retas, a1x + b1y + c1 = 0 e a2x + b2y + c2 = 0
= ar os q
a1a2 + b1b2
(a21 + b21)(a22 + b22)
Algebra
Linear
39
duas retas s~
ao paralelas se
a1b2 = a2b1
ou
m1 = m2
ou
m1m2 = 1
duas retas s~
ao perpendi
ulares se
a1a2 + b1b2 = 0
4.2
4.2.1
Geometria em Tr
es Dimens
oes
Ponto
z
P(x,y,z)
z
P( r, ,z)
0
eixo de
referncia
x2 + y2
y
= tan1
x
x = r
os
r=
y = r sen
(r,)
x = sen os
P(, , )
0
eixo de
referncia
y = sen sen
z =
os
0
0 2
40
Computa
c
ao Gr
afica
4.2.2
H
elio Pedrini
Reta
equa
~
ao parametri
a:
x = x1 + t(x2 x1)
y = y1 + t(y2 y1)
z = z1 + t(z2 z1)
em que o ponto P(x, y, z) divide a reta unindo P1(x1, y1, z1) e P2(x2, y2, z2) om raz~ao t : 1 t.
4.3
Se
c
oes C
onicas
A equa
~ao geral de uma se
~ao
^oni
a e representada pela forma quadrati
a
Ax2 + Bxy + Cy2 + Dx + Ey + F = 0
v Mv
A B/2 D/2
M=
B/2
C
E/2
D/2 E/2
F
Note que M e simetri
a
om rela
~ao a diagonal prin
ipal. Os
oe
ientes A, B, C, D, E e F uni
amente identi
am uma
urva. A
urva e
um
r
ulo se B = 0 e A = C
uma elipse se B2 4AC < 0
uma hiperbole se B2 4AC > 0
uma par
abola se B2 4AC = 0
1. Cr
ulo: a equa
~ao impl
ita de um
r
ulo
om
entro em (x0, y0) e raio r e dado por
(x x0)2 + (y y0)2 = r2
parametri a: x = x0 + r sen(t)
y = y0 + r os(t)
2. Elipse: a equa
~ao de uma elipse
om
entro em (x0, y0),
omprimento do semi-eixo maior a e
omprimento do semi-eixo menor b e
(x x0)2 (y y0)2
+
=1
a2
b2
Algebra
Linear
41
1111
0000
0000
1111
0000
1111
1111
0000
0000
1111
0000
1111
(a)
r
ulo
1111
0000
0000
1111
0000
1111
0000
1111
0000
1111
11111
00000
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
111111
000000
000000
111111
000000
111111
000000
111111
000000
111111
(
)
(b) elipse
(d) parabola
hiperbole
parametri a: x = x0 + a sen(t)
y = y0 + b os(t)
=1
a2
b2
y = y0 + b sen(t)
parametri
a: y = ac2t2 + b
y
y
r
y
b
a
(h,k)
b a
(h,k)
(h,k)
p
p (h,k)
(b) elipse
( ) hiperbole
4.4
Vetores
(d) parabola
42
Computa
c
ao Gr
afica
H
elio Pedrini
Um vetor v no espa
o n-dimensional pode ser denido
omo uma n-tupla v = (v1, v2, . . . , vn) ou,
na forma de representa
~ao matri
ial,
omo:
v1
v2
v= .
..
vn
Exemplo: Vetores n~ao nulos, por exemplo em 2, podem ser representados geometri
amente
atraves de segmentos de reta dire
ionados. Esta representa
~ao geometri
a e util para visualizar
omo
as opera
~oes de adi
~ao e multipli
a
~ao es
alar fun
ionam em 2. Dado um vetor n~ao nulo v = (v1, v2),
ele pode ser interpretado
om um segmento de reta no plano de (0, 0) a (v1, v2),
omo mostrado na
gura 4.12.
y
(v1,v2 )
v1
v
v2
4.5
Corpo Num
erico
Um
orpo numeri
o e um sub
onjunto dos numeros
omplexos, fe
hado em rela
~ao as opera
~oes de
adi
~ao, subtra
~ao, multipli
a
~ao e divis~ao (
om divisor diferente de zero). Ou seja, se K e um
orpo
numeri
o e x, y K, ent~ao x + y, x y e x.y s~ao tambem elementos de K, e se y 6= 0, ent~ao x/y K.
Exemplos de
orpos numeri
os:
onjunto dos numeros
omplexos, dos reais e dos ra
ionais. O
onjunto dos numeros inteiros n~ao
onstitui um
orpo numeri
o (mostre!).
Defini
c
ao: Um
orpo numeri
o K e um sub
onjunto dos n
umeros
omplexos tal que:
1. x, y K, ent~ao x + y K e x.y K
2. os numeros 0 e 1 s~ao elementos de K
3. x K, ent~ao x K
4. x K,
om x 6= 0, ent~ao 1/x K
5. x, y, z K, ent~ao x + (y + z) = (x + y) + z, x(yz) = (xy)z
6. x, y K, temos que x + y = y + x e xy = yx
7. x, y, z K, temos que (x + y)z = xz + yz
(asso iatividade)
(
omutatividade)
(distributividade)
Algebra
Linear
4.6
43
Espa
cos Vetoriais
Seja V um
onjunto arbitrario de elementos sobre o qual se denem duas opera
~oes: a soma e a
multipli
a
~ao por es
alares (numeros reais). Por soma, entende-se uma lei que asso
ia a
ada par
de elementos u e v em V um elemento u + v,
hamado soma de u e v; e, por multipli
a
~ao por
es
alar, entende-se uma lei que asso
ia a
ada es
alar a e a
ada elemento u em V um elemento au,
hamado multiplo es
alar de u por a. Se todos os elementos u, v, w em V e todos os es
alares a e b
satiszerem os axiomas apresentados a seguir, ent~ao V e denominado espa
o vetorial e tais elementos
em V , vetores.
1. se u e v forem elementos perten
entes a V , ent~ao u + v perten
era a V
2. u + v = v + u
( omutatividade)
3. u + (v + w) = (u + v) + w
(asso iatividade)
4. existe um elemento 0 perten
ente a V , tal que 0 + u = u + 0 = u para todo u perten
ente a V
5. para
ada u perten
ente a V existe um elemento u perten
ente a V
hamado negativo de u,
de modo que u + (u) = (u) + u = 0
6. se a for um numero real qualquer e u um elemento qualquer perten
ente a V ent~ao au perten
era
aV
7. a(u + v) = au + av
(distributividade)
8. (a + b)u = au + bu
(distributividade)
9. a(bu) = (ab)u
10. 1u = u
Exerccio: Provar que u + v = v + u.
Solu
c
ao: u + v = (u1, u2, ..., un) + (v1, v2, ..., vn) = (u1 + v1, u2 + v2, ..., un + vn) = (v1 + u1, v2 +
u2, ..., vn + un) = (v1, v2, ..., vn) + (u1, u2, ..., un) = v + u
Exemplo 1: O
onjunto V = n
om as opera
~oes usuais de soma e multipli
a
~ao por es
alar e
um espa
o vetorial.
Exemplo 2: Os pontos sobre uma reta V passando pela origem em 3 formam um espa
o vetorial
sob as opera
~oes usuais de soma e multipli
a
~ao por es
alar nos vetores de 3. O argumento baseia-se
no fato de que os pontos de V satisfazem as equa
~oes parametri
as da forma
x = at
y = bt
z = ct
< t < +
opera ~oes de soma de matrizes e multipli a ~ao por es alar, e um espa o vetorial. A matriz zero m n
44
Computa
c
ao Gr
afica
H
elio Pedrini
e o vetor 0, e se u for uma matriz Amn, ent~ao a matriz (A)
orrespondera ao vetor (u) do axioma
5 a
ima.
Exemplo 4: Seja V o
onjunto das fun
~oes reais denidas em toda a reta real. Se f = f(x) e
g = g(x) forem duas destas fun
o~es e se k for um n
umero real qualquer, dene-se a fun
~ao soma f + g
e o multiplo es
alar kf por
(f + g)(x) = f(x) + g(x)
(kf )(x) = kf(x)
Em outras palavras, o valor da fun
~ao f + g em x sera obtido pela soma dos valores de f e de g
em x. O
onjunto V e um espa
o vetorial sob tais opera
~oes. O vetor zero, neste espa
o, e a fun
~ao
onstante zero, isto e, a fun
~ao
ujo gra
o e uma reta horizontal passando pela origem.
Exemplo 5: Seja V o
onjunto de todos os pontos (x, y) em 2 perten
entes ao primeiro quadrante, isto e, pontos tais que x 0 e y 0. O
onjunto V n~ao e um espa
o vetorial sob as opera
~oes
usuais em 2, ja que os axiomas 5 e 6 n~ao se veri
am. Para visualizar tal fato, observar que u = (1, 1)
perten
e a V , mas (1)u = u = (1, 1) n~ao perten
e a V (gura 4.13).
y
V
(1,1)
(1,1)
denido por
0+0=0
k0 = 0
fa
il
on
luir que todos os axiomas de espa
o vetorial s~ao satisfeitos. Tal
para todos os es
alares k. E
onjunto
hama-se espa
o vetorial nulo.
4.7
Subespacos
Defini
c
ao: O sub
onjunto W de um espa
o vetorial V
hama-se subespa
o de V , quando W por si
proprio e um espa o vetorial sob as opera ~oes de soma e multipli a ~ao por es alar denidas em V .
Algebra
Linear
45
Em geral, deve-se testar os dez axiomas de espa
o vetorial para mostrar que um
onjunto W
juntamente
om a soma e a multipli
a
~ao por es
alar
onstituem um espa
o vetorial. No entanto, se
W zer parte de um
onjunto maior V (espa
o vetorial), ent~ao n~ao havera ne
essidade de veri
ar
ertos axiomas para W , pois ja haviam sido herdados de V . O teorema abaixo esta rela
ionado a este
fato.
Teorema: Se W for um
onjunto
om um ou mais vetores provenientes de um espa
o vetorial V ,
ent~ao W sera um subespa
o de V se, e somente se, as seguintes
ondi
o~es forem satisfeitas:
1. Se u e v forem vetores perten
entes a W , ent~ao u + v perten
era a W .
2. Se k for um es
alar qualquer e u um vetor qualquer perten
ente a W , ent~ao ku perten
era a W .
Todo espa
o vetorial V admite pelo menos dois subespa
os. V e um subespa
o de si mesmo e
o
onjunto 0 que
onsiste apenas no vetor zero (perten
ente a V ) e um subespa
o, que se
hama
subespa
o nulo.
Exemplo: Mostrar que o
onjunto W de todas as matrizes 2 2, possuindo zeros na diagonal
A=
"
0
a21
#
a12
0
B=
"
0
b21
#
b12
0
"
0
ka21
#
ka12
0
A+B=
"
0
a21 + b21
#
a12 + b12
0
Como kA e A + B possuem zeros na diagonal prin
ipal,
on
lui-se que perten
em a W . Logo, W
e um subespa
o de M22.
4.8
Combina
c
ao Linear
Defini
c
ao: Se V e um espa
o vetorial sobre um
orpo K, e v1, v2, . . . , vn s~ao vetores de V , dizemos
que w V e uma
ombina
~ao linear de v1, v2, . . . , vn se existem es
alares k1, k2, . . . , kn K tais que
w = k1v1 + k2v2 + . . . + knvn
uma ombina ~ao linear de u e v e que w = (4, 1, 8) n~ao e uma ombina ~ao linear de u e v.
Solu
a~o: A m de que w seja uma
ombina
~ao linear de u e v, e pre
iso que existam es
alares k1
e k2 de modo que w = k1u + k2v, ou seja
(9, 2, 7) = k1(1, 2, 1) + k2(6, 4, 2) = (k1 + 6k2, 2k1 + 4k2, k1 + 2k2)
46
Computa
c
ao Gr
afica
H
elio Pedrini
Analogamente, para que w seja uma
ombina
~ao linear de u e v, e pre
iso existir es
alares k1 e
k2 de modo que w = k1u + k2v, ou seja
(4, 1, 8) = k1(1, 2, 1) + k2(6, 4, 2) = (k1 + 6k2, 2k1 + 4k2, k1 + 2k2)
Tal sistema de equa o~es e in onsistente (veri ar) e, portanto, tais es alares n~ao existem. Consequentemente, w n~ao e uma ombina ~ao linear de u e v.
4.9
Conjuntos Geradores
Defini
c
ao: Se v1, v2, . . . , vn forem vetores perten
entes a um espa
o vetorial V e se todo vetor
perten
ente a V puder ser expresso
omo uma
ombina
~ao linear de v1, v2, . . . , vn, diz-se ent~ao que
tais vetores geram V .
Exemplo 1: Os vetores i = (1, 0, 0), j = (0, 1, 0) e k = (0, 0, 1) geram o espa
o 3, pois todo vetor
(a, b,
) em 3 pode ser es
rito
omo
(a, b, c) = ai + bj + ck
Algebra
Linear
47
dos vetores v1, v2 e v3. Expressando-se tal equa
~ao em termos de
omponentes, resulta em
(w1, w2, w3) = k1(1, 1, 2) + k2(1, 0, 1) + k3(2, 1, 3)
ou
k1 + k2+2k3 = w1
+k3 = w2
k1
2k1 + k2+3k3 = w3
O problema, portanto, reduz-se a veri
ar se tal sistema e
onsistente ou n~ao. O sistema sera
onsistente se, e somente se, a matriz dos
oe
ientes
1 1 2
A=
1 0 1
2 1 3
for inversvel. Como det(A) = 0, ent~ao A n~ao e inversvel e,
onsequentemente, v1, v2 e v3 n~ao geram
3.
4.10
Independ
encia Linear
Defini
c
ao: Os vetores v1, v2, . . . , vn V s~ao
torna-se
k1(1, 0, 0) + k2(0, 1, 0) + k3(0, 0, 1) = (0, 0, 0)
48
Computa
c
ao Gr
afica
H
elio Pedrini
Os dois exemplos seguintes apresentam uma interpreta
~ao geometri
a de depend^en
ia linear em
2 e em 3.
Exemplo 1: Dois vetores v1 e v2 formam um
onjunto linearmente dependente se, e somente se,
um dos vetores for um multiplo es
alar do outro. Para entender a raz~ao, suponha que S = {v1, v2}
seja linearmente dependente. Como a equa
~ao vetorial k1v1 + k2v2 = 0 admite uma solu
~ao diferente
de k1 = k2 = 0, a equa
~ao podera ser rees
rita
omo
v1 =
k1
v2
k2
ou
v1 =
k1
v2
k2
Ou seja, isto diz que v1 e um multiplo es
alar de v2, ou v2 e um multiplo de v1. Segue-se que
dois vetores em 2 ou 3 s~ao linearmente dependentes se, e somente se, perten
erem a mesma reta
passando pela origem (gura 4.14).
y
v2
v1
v1
v1
v2
v2
x
x
z
z
(a) linearmente dependente
x
z
( ) linearmente independente
linearmente dependente se, e somente se, os tr^es vetores perten
erem a um mesmo plano que passa
pela origem e quando forem
olo
ados de forma que seus pontos ini
iais
oin
idam na origem. Isto
o
orre porque se v1, v2 e v3 s~ao linearmente dependentes ent~ao pelo menos um dos vetores e uma
ombina
~ao linear dos outros dois ou, de modo equivalente, pelo menos um dos vetores perten
e ao
espa
o gerado pelos outros dois. Mas o espa
o gerado por dois vetores quaisquer em 3 ou e uma
reta que passa pela origem, ou um plano que passa pela origem, ou ent~ao a propria origem. Em
qualquer
aso, o espa
o gerado por dois vetores em 3 perten
era a um plano que passa pela origem
(gura 4.15).
y
v2
v2
x
z
v1
v3
v3
v1
(a) linearmente dependente
v2
x
v1
(b) linearmente dependente
x
z
v1
(
) linearmente independente
Algebra
Linear
4.11
49
Base e Dimens
ao
Defini
c
ao: Se V for um espa
o vetorial qualquer e S = {v1, v2, v3} um
onjunto nito de vetores
Para mostrar que S gera o espa
o 3, deve-se mostrar que um vetor arbitrario w = (w1, w2, w3)
pode ser expresso
omo uma
ombina
~ao linear
w = k1v1 + k2v2 + k3v3
ou
k1 + 2k2+3k3 = w1
2k1 + 9k2+3k3 = w2
k1
+4k3 = w3
Portanto, para mostrar que S gera V , deve-se demonstrar que o sistema a
ima admite uma solu
~ao
para quaisquer valores de w = (w1, w2, w3). Para provar que S e linearmente independente, deve-se
mostrar que a uni
a solu
~ao de
k1v1 + k2v2 + k3v3 = 0
e k1 = k2 = k3 = 0.
Pode-se provar que S e linearmente independente e gera o espa
o 3, demonstrando-se que a
matriz dos
oe
ientes
1 2 3
A = 2 9 3
1 0 4
50
Computa
c
ao Gr
afica
4.12
H
elio Pedrini
Opera
c
oes
y
(a+v1, b+v2 )
v
(v1 , v2 )
(a,b)
(0,0)
adi
~
ao: a adi
~ao de dois vetores v = (v1, v2) 2 e w = (w1, w2) 2 e denida por
v+w
v
x
y
v
x
multipli
a
~
ao es
alar: o vetor v e um vetor possuindo a mesma dire
~ao de v, mas a magnitude
Algebra
Linear
51
2v
v
x
(v1 , v2 )
x
(v1 , v2 , v3)
x
z
Figura 4.21: Norma de vetor em 3 .
Vetor unit
ario: e um vetor
ujo
omprimento e 1 (um vetor unitario e tambem
hamado de vetor
v
kvk
j = (0, 1, 0)
k = (0, 0, 1)
Ent~ao, todo vetor pode ser es
rito
omo uma
ombina
~ao linear de i, j e k. Por exemplo, se
v = (x0, y0, z0), tem-se:
v = (x0, y0, z0) = (x0, 0, 0) + (0, y0, 0) + (0, 0, z0) =
= x0(1, 0, 0) + y0(0, 1, 0) + z0(0, 0, 1) = x0 i + y0 j + z0 k
52
Computa
c
ao Gr
afica
H
elio Pedrini
Produto Es alar:
Dados dois vetores em n, v = (v1, v2, . . . , vn) e w = (w1, w2, . . . , wn), o produto entre v e w
e dado por:
v w = v1w1 + v2w2 + v3w3 + . . . + vnwn =
n
X
viwi
i=1
^
angulo entre dois vetores
u v = kukkvk os
ou seja
os =
uv
kukkvk
vu
u
^
Figura 4.22: Angulo
entre dois vetores.
^
Figura 4.23: Angulo
entre vetores.
Exerccio 1: Determinar o ^angulo entre a diagonal de um
ubo e um de seus lados.
Solu
c
ao: Seja l o
omprimento de um lado.
Algebra
Linear
53
y
(0,l,0)
u2
(1,0,0)
u1
u3
(0,0,l)
z
^
Figura 4.24: Angulo
entre a diagonal e um dos lados de um
ubo.
1
l2
u1 d
=
=
2
ku1kkdk
3
l( 3l )
Logo
=
os
54
^
Figura 4.25: Angulo
entre diagonais de fa
es adja
entes de um
ubo.
Tomando as diagonais (ver gura) representada pelos vetores u = (0, l, l) e v = (l, 0, l), o ^angulo
formado entre u e v e
os =
uv
1
l2
(0, l, l) (l, 0, l)
=
=
=
2
2
2
2
2
2
2
kukkvk
2
(l 2)
0 +l +l l +0 +l
Logo
=
os
1
= 60
2
54
Computa
c
ao Gr
afica
H
elio Pedrini
=
se, e somente se, u v = 0. Nesse
aso, os vetores u e v s~ao denominados
2
ortogonais.
vetores
Demonstra
~ao:
(a) Como o ^angulo entre v e v e 0, tem-se que
v v = kvkkvk
os = kvk2
os 0 = kvk2
(b) Como kuk > 0, kvk > 0 e u v = kuk kvk
os , u.v tera o mesmo sinal que
os . Como
satisfaz 0 , o ^angulo sera agudo se, e somente se,
os > 0; sera obtuso se, e somente
( omutatividade)
b) u (v + w) = uv + uw
(distributividade)
= (kuk + kvk)2
Produto Vetorial
Algebra
Linear
55
O produto vetorial entre dois vetores u = (u1, u2, u3) e v = (v1, v2, v3) em 3 e denido
omo
u v = (u2v3 u3v2, u3v1 u1v3, u1v2 u2v1)
u2
uv=
v2
u
u3
1
,
v1
v3
u3 u1
,
v3 v1
u2
v2
Alternativamente, o produto vetorial entre dois vetores em 3 pode ser expresso atraves do
determinante:
j
k
i
u v = u1 u2 u3
v1 v2 v3
Portanto, u (u v) = v (u v) = 0.
Exemplo: Sejam os vetores de u = (1, 2, 2) e v = (3, 0, 1), ent~ao o produto vetorial
i j k
u v = 1 2 2 = 2i 7j 6k = (2, 7, 6)
3 0 1
56
Computa
c
ao Gr
afica
H
elio Pedrini
Rela
co
es entre produtos escalar e vetorial
b) v (u v) = 0 (u v e ortogonal a v)
) ku vk2 = kuk2kvk2 (u v)2
(identidade de Lagrange)
d) u (v w) = (u w)v (u v)w
e) (u v) w = (u w)v (v w)u
Interpreta
c
ao Geom
etrica
Se u e v s~ao vetores no espa
o, o produto vetorial u v tem uma interpreta
~ao geometri
a.
ku vk = kukkvk sen
Area
de um paralelogramo: base altura
v
|| v||
|| v|| sen
u
|| u||
Figura 4.27: Area
de paralelogramo.
Como a altura do paralelogramo e kvk sen , a area do paralelogramo e kukkvk sen = ku vk.
Area
de um tri^angulo
=
1
1
1
AC AB sen = b a sen = ka bk
2
2
2
Produto Triplo
(A B) C
Algebra
Linear
57
B
a
A B sen
Figura 4.28: Area
de tri^angulo.
O produto triplo e um es
alar e pode ser visto
omo o volume de um paraleleppedo,
onforme
ilustrado na gura 4.29.
AxB
||C|| cos
C
B
rea da base: ||A x B||
A
Exerccio:
j
A1
B1
k
A2 = (A1 B2 A2 B1 )i + (A2 B0 A0 B2 )j + (A0 B1 A1 B0 )k
B2
Cal ular a area do tri^angulo formado pelos pontos P1(2, 2, 0), P2(1, 0, 2) e
P3(0, 4, 3).
Solu
~ao: a area de um tri^angulo pode ser vista
omo a metade da area de um paralelogramo, ou
seja, 12 ku vk. O paralelogramo e formado pelos vetores P1P2 e P1P3. Ent~ao
1
1
1
= kP1P2 P1P3k = (10, 5, 10) = 15 = 7.5
Area
2
4.13
Algumas Aplica
c
oes de Determinantes
1. produto vetorial
2. area e volume de paralelogramo
58
Computa
c
ao Gr
afica
H
elio Pedrini
3. retas e planos
Suponha dois pontos distintos (x1, y1) e (x2, y2) em um plano. A reta que passa por esses pontos
e da forma geral ax+by+c = 0. Como os pontos est~ao sobre a reta, suas
oordenadas satisfazem
a equa
~ao. Assim
ax1 + by1 + c = 0
ax2 + by2 + c = 0
As equa
~oes podem ser vistas
omo um sistema de equa
~oes lineares nas variaveis a, b e c.
Como existe uma solu
~ao n~ao trivial (pois a reta existe), a matriz dos
oe
ientes n~ao pode ser
inversvel:
x y 1
x1 y1 1
x2 y2 1
onsequentemente, seu determinante deve ser zero. Assim, a equa
~ao da reta que passa pelos
pontos (x1, y1) e (x2, y2) e dada por
Exerccios
x y 1
x1 y1 1 = 0
x2 y2 1
1. En
ontre a equa
~ao da reta que passa pelos pontos (2, 3) e (1, 0).
2. Prove que tr^es pontos (x1, y1), (x2, y2) e (x3, y3) s~ao
olineares se, e somente se
x1 y1 1
x2 y2 1 = 0
x3 y3 1
3. Mostre que a equa
~ao do plano que passa pelos tr^es pontos n~ao
olineares (x1, y1, z1), (x2, y2, x2)
e (x3, y3, z3) e dada por
4.14
x y z
x1 y1 z1
x2 y2 z2
x3 y3 z3
1
1
=0
1
1
Um metodo para des
rever a in
lina
~ao de um plano e espe
i
ar um vetor n~ao nulo,
hamado vetor
normal, que e perpendi
ular ao plano. Suponha que queremos en
ontrar a equa
~ao do plano que
evidente pela gura a
passa pelo ponto P0(x0, y0, z0) e que tenha o vetor normal n = (a, b, c). E
Algebra
Linear
59
seguir que o plano
onsiste pre
isamente nos pontos P(x, y, z) para os quais o vetor P0P e ortogonal a
n, ou seja
n P0P = 0
(4.1)
z
P(x,y,z)
Po
x
Como P0P = (x x0, y y0, z z0), a equa
~ao 4.1 pode ser rees
rita
omo
(4.2)
Resolvendo o sistema
a=
9
t
16
b=
16
t
c=
5
t
16
d=t
Captulo 5
Transformac
oes Geom
etricas
Defini
c
ao: Sejam V e W dois espa
os vetoriais sobre um mesmo
orpo K. Uma
linear T
transforma ~ao
Desde que
e
T (ku) = 3(ku) = k(3u) = kT (u)
e
T (ku) = (ku1, ku2) = k(u1, u2) = kT (u)
62
Computa
c
ao Gr
afica
H
elio Pedrini
Portanto,
T (u + v) = T (u) + T (v) e T (ku) = kT (u)
Exemplo 6: Seja T : Mnn R a transforma
~ao que leva uma matriz n n em seu determinante,
Transforma
~oes geometri
as s~ao a base de inumeras apli
a
~oes gra
as, permitindo a altera
~ao de
ara
tersti
as de desenhos, tais
omo es
ala e orienta
~ao.
As guras s~ao formadas por primitivas gra
as, as quais t^em
omo par^ametros
oordenadas
artesianas de pontos no espa
o. As transforma
~oes agem sobre estas
oordenadas, de modo que, ao
desenhar novamente estas primitivas
om as novas
oordenadas transformadas, o desenho tambem
a transformado.
A seguir ser~ao apresentados os tipos fundamentais de transforma
o~es geometri
as.
5.1
Transformac
oes Geom
etricas 2D
Escala
A transforma
~ao de es
ala e obtida pela multipli
a
~ao de todas as
oordenadas que denem o desenho
por fatores de es
ala n~ao nulos. Estes fatores, no
aso bidimensional, s~ao o fator de es
ala horizontal
que multipli
a as
oordenadas referentes ao eixo x do sistema
artesiano e o fator de es
ala verti
al
que multipli
a as
oordenadas referentes ao eixo y.
Transforma
co
es Geom
etricas
63
" #
x
y
"
#" #
x
Sx
Sy
ou
P = S P
2
1
1
4
(a) original
8
2
(b) apos es
ala
Translac
ao
A transforma
~ao de transla
~ao
orresponde a movimenta
~ao de uma gura para uma outra posi
~ao no
sistema de
oordenadas, de modo que todos os pontos da imagem sejam deslo
ados de uma mesma
dist^an
ia em rela
~ao a sua posi
~ao anterior.
A transforma
~ao de transla
~ao e obtida adi
ionando-se
onstantes de transla
~ao a todas as
oordenadas que denem o desenho. No
aso bidimensional, existem duas
onstantes: uma referente ao
deslo
amento paralelo ao eixo x e outra referente ao deslo
amento paralelo ao eixo y. Chamando-se
estas
onstantes, respe
tivamente, de Tx e Ty, as
oordenadas (x , y ) obtidas pela transla
~ao do ponto
de
oordenadas (x, y) valem:
x = Tx + x
y = Ty + y
" #
x
y
"
Tx
Ty
" #
x
y
ou
P = T + P
Rotac
ao
A transforma
~ao de rota
~ao em torno da origem
orresponde a movimenta
~ao de uma gura para
uma outra posi
~ao no sistema de
oordenadas, de modo que todos os pontos da imagem mantenham
a mesma dist^an
ia da origem que possuam antes da transforma
~ao. Para a obten
~ao de uma rota
~ao
64
Computa
c
ao Gr
afica
H
elio Pedrini
6
4
3
1
1
4
(a) original
3
6
(b) apos transla
~ao
em torno de um ponto qualquer que n~ao a origem, deve-se fazer uma
ombina
~ao de transforma
~oes
de transla
~ao e de rota
~ao em torno da origem.
O uni
o par^ametro da transforma
~ao de rota
~ao e o ^angulo , que indi
a o valor do deslo
amento
angular no sentido anti-horario. Um exemplo de rota
~ao e mostrado na gura 5.3.
y
P
os sen
=
sen
os
"
#" #
x
y
ou
P = R P
Sendo r a dist^an
ia de P a origem e o ^angulo que este segmento forma
om o eixo x, tem-se que:
r=
x 2 + y2
x = r
os
y = r sen
Transforma
co
es Geom
etricas
65
y
6
4
3
2
1
4
(a) original
x
2
(b) apos rota
~ao
Como o novo ponto x , y deve manter a mesma dist^an
ia da origem, o tamanho do segmento que
une este ponto a origem tambem deve valer r. Assim temos:
r=
x 2 + y 2
Reflex
ao ou Espelhamento
y
P
P
x
P
y
(a)
(b)
" #
x
y
"
1 0
0
#" #
x
y
ou
P = Ey P
66
Computa
c
ao Gr
afica
H
elio Pedrini
" #
x
y
"
#" #
x
0 1
ou
P = Ex P
Cisalhamento
" #
x
y
"
1 a
0 1
#" #
x
y
ou
P = Cx P
" #
x
y
"
#" #
1 0 x
b 1
ou
P = Cy P
y
ay
x= x + ay
P
P
y= bx + y
bx
(a)
(b)
Transforma
co
es Geom
etricas
5.2
67
Coordenadas Homog
eneas e Matrizes de Transformac
ao
Para a es
ala, transla
~ao e rota
~ao, as matrizes de transforma
~ao s~ao respe
tivamente:
P = S P
P = T + P
P = R P
Entretanto, a transla
~ao e tratada diferentemente (
omo uma soma) da es
ala e rota
~ao, que s~ao
tratadas por meio de multipli
a
~oes. Para que possamos
ombinar fa
ilmente essas transforma
~oes,
devemos poder tratar do mesmo modo todas as tr^es transforma
~oes de uma forma
onsistente.
Se os pontos s~ao expressos em
oordenadas homog^eneas, todas as tr^es transforma
~oes podem ser
tratadas
omo multipli
a
o~es. Em
oordenadas homog^eneas, adi
ionamos um ter
eira
oordenada ao
ponto. Logo, ao inves de um ponto ser representado por um par de valores (x, y), ele e representado
por um tripla (x, y, W). Pelo menos uma das
oordenadas homog^eneas ne
essita ser diferente de zero,
assim (0, 0, 0) n~ao e permitido.
Se W e a
oordenada n~ao zero, podemos dividir (x, y, W) por ela, obtendo o mesmo ponto
(x/W, y/W, 1). Os n
umeros x/W e y/W s~ao
hamados de
oordenadas
artesianas do ponto homog^eneo. Usualmente, triplas representam pontos em um espa
o 3D, mas agora est~ao sendo usadas
para representar pontos em 2D. Se homogeneizamos o ponto, ou seja, dividimos por W , obtemos
um ponto da forma (x, y, 1). Logo, os pontos homogeneizados formam o plano denido pela equa
~ao
W = 1 no espa
o (x, y, W). A gura 5.7 mostra esse rela
ionamento.
W
X
Y
Plano W=1
Figura 5.7: O espa
o de
oordenadas homog^eneas XYW ,
om o plano W = 1 e o ponto P(X, Y, W) projetado
sobre o plano W = 1.
Como agora os pontos s~ao vetores de 3 elementos, as matrizes de transforma
~oes que multipli
am
um ponto tambem pre
isam ser de 3 3.
Translac
ao
68
Computa
c
ao Gr
afica
H
elio Pedrini
O que a
onte
e se um ponto P e transladado por T1 para P e ent~ao e transladado por T2 para P ?
Intuitivamente esperamos que essas transla
~oes sejam equivalentes a T (Tx1 + Tx2 , Ty1 + Ty2 ). Ou seja,
se:
P = T1 P
P = T2 P
1 0 Tx2
1 0 Tx1
1 0 Tx1 + Tx2
0 1 Ty 0 1 Ty = 0 1 Ty + T y
1
1
2
2
0 0 1
0 0
1
0 0 1
Essa transforma
~ao expressa pelas duas transforma
~oes e
hamada de transforma
~ao de
omposi
~ao. Podemos mostrar similarmente que e tambem possvel realizar
omposi
~oes
om a es
ala e a
rota
~ao.
Escala
P = S P
O que a
onte
e se um ponto P e es
alado por S1 para P e ent~ao e es
alado por S2 para P ?
Intuitivamente esperamos que essas es
alas sejam equivalentes a S(Sx1 .Sx2 , Sy1 .Sy2 ). Ou seja, se:
P = S1 P
P = S2 P
Transforma
co
es Geom
etricas
69
e substituindo
P = S2 S1 P
Sx
2
0
0
Sy2
0
0 Sx1
0
0
0
1
0
Sx .Sx
1 2
0
= 0
1
0
0
Sy1
0
0
Sy1 .Sx2
0
Rotac
ao
Denindo
os sen 0 x
x
y = sen
os 0 y
1
0
0
1
1
os sen 0
R=
sen
os 0
0
temos que:
P = R P
Como exer
io, mostre que duas rota
~oes s~ao aditivas.
Reflex
ao ou Espelhamento
A transforma
~ao de re
ex~ao ou espelhamento, apli
ada a um objeto, produz um objeto que e o
espelho do original. No
aso de uma re
ex~ao 2D, o espelho e gerado relativamente a um eixo de
re
ex~ao apli
ando uma rota
~ao de 180 no objeto em torno do eixo de re
ex~ao. Por exemplo, pode-se
apli
ar uma re
ex~ao em torno da linha y = 0 (eixo x) usando a seguinte matriz de transforma
~ao:
0 1 0
0 0 1
Esta transforma
~ao mantem as
oordenadas x do objeto inalteradas, porem inverte os valores das
oordenadas y, alterando a orienta
~ao espa
ial do objeto.
Analogamente, pode-se denir uma re
ex~ao em torno do eixo y que inverteria as
oordenadas x
do objeto.
Pode-se tambem denir uma re
ex~ao em torno de um eixo perpendi
ular ao plano xy e passando,
por exemplo, pela origem do sistema de
oordenadas, invertendo nesse
aso ambas as
oordenadas x
70
Computa
c
ao Gr
afica
H
elio Pedrini
y
1
1 0 0
0 1 0
0
0 1
A opera
~ao e ilustrada na gura 5.9. Observe que a matriz de re
ex~ao a
ima e id^enti
a a matriz
de rota
~ao R()
om = 180 , ou seja, o objeto esta apenas sofrendo uma rota
~ao de 180 em torno
da origem.
y
3
2
1
1
2
3
A opera
~ao pode ser generalizada para adotar qualquer ponto de re
ex~ao lo
alizado no plano xy
e o efeito e o mesmo que apli
ar uma rota
~ao de 180 em torno do ponto de refer^en
ia da re
ex~ao.
Cisalhamento
Shearing ou
isalhamento e uma transforma
~ao que distor
e o formato de um objeto. Uma distor
~ao
na dire
~ao x e produzida
om a seguinte matriz de transforma
~ao:
1 a 0
0 1 0
0 0 1
Transforma
co
es Geom
etricas
71
Similarmente, a matriz
1 0 0
b 1 0
0 0 1
(a) original
(b) isalhamento em x
( ) isalhamento em y
Qualquer numero real pode ser usado
omo par^ametro. O resultado e que as
oordenadas (x, y) s~ao
deslo
adas horizontalmente segundo um valor propor
ional a sua dist^an
ia em torno do eixo x. Por
exemplo, se Cx e igual a 2, um quadrado sera transformado em um paralelogramo. Valores negativos
deslo
am as
oordenadas para a esquerda.
Pode-se gerar distor
o~es na dire
~ao relativamente a outros eixos de refer^en
ia y = yref
om a
matriz
1 a ayref
0 1
0
0 0
1
Esta transforma ~ao deslo a as oordenadas de uma posi ~ao verti almente segundo um fator propor ional a sua dist^an ia da linha de refer^en ia x = xref.
72
Computa
c
ao Gr
afica
5.3
H
elio Pedrini
b) suponha que desejamos apli
ar uma rota
~ao no ponto P de volta para P, ou seja, realizar a
transforma
~ao inversa da rota
~ao. O ^angulo de rota
~ao requerido e, obviamente, . Da equa
~ao de
transforma
~ao de rota
~ao temos:
os() sen()
os sen
=
R1
=
sen()
os()
sen
os
#
"
"
os sen
=
sen
os
"
"
#"
os sen
os2 + sen2
sen
os sen
os
=
sen
os sen
os
sen2 +
os2
sen
os
#
"
#
1 0
0 1
"
(5.1)
Portanto, a inversa de qualquer matriz de rota
~ao R e sua transposta. Desde que formalmente
a determina
~ao da inversa de uma matriz e
omputa
ionalmente mais
ara do que determinar sua
transposta, o resultado a
ima e importante e prati
o.
5.4
Transformac
oes Geom
etricas 3D
Escala
Sx
0
S(Sx, Sy, Sz) =
0
0
Sy
Sz
0
1
Transforma
co
es Geom
etricas
73
Translac
ao
0
T (Tx, Ty, Tz) =
0
0
0 0 Tx
1 0 Ty
0 1 Tz
0 0 1
Rotac
ao
os sen 0 0
sen os 0 0
Rz() =
0
0
0
0
1 0
0 1
Isto e fa
ilmente veri
ado: uma rota
~ao de 90 de [1 0 0 1]T , o qual e o vetor unitario ao longo
do eixo x deve produzir o vetor unitario [0 1 0 1]T ao longo do eixo y. Avaliando o produto
1
0 0
0
1 0 0
0 1
1
0 1 0 0
0
0
0
0
0
0
1
resulta o valor
0
1
1
0
0
0
os sen
Rx() =
0 sen
os
0
0
0
0
1
0 sen 0
0
1
0
0
Ry() =
sen 0
os 0
0
0
0
1
os
Reflex
ao
Em uma re
ex~ao atraves do plano xy, apenas os valores de
oordenadas z dos vetores de posi
~ao do
objeto sofrem altera
~ao (invers~ao de sinal). Portanto,
0 1 0 0
Exy =
0 0 1 0
0 0 0 1
1 0
74
Computa
c
ao Gr
afica
H
elio Pedrini
1 0 0 0
0 1 0 0
Eyz =
0 0 1 0
0 0 0 1
0 0
0 1 0 0
Exz =
0
0
1
0
0 0 0 1
1
Cisalhamento
1 a b 0
c 1 d 0
C=
e f 1 0
0 0
5.5
0 1
Composi
c
ao de Transformac
oes
Usaremos
omposi
~ao
omo uma
ombina
~ao de matrizes de transforma
~ao T , S e R. O proposito
de se
ompor transforma
~oes e o ganho de e
i^en
ia que se obtem ao apli
armos uma transforma
~ao
omposta a um ponto em vez de apli
armos uma serie de transforma
~oes, uma apos a outra.
Rotac
ao em torno de um ponto arbitr
ario
Considere a rota
~ao 2D de um objeto em torno de um ponto arbitrario P1. Sabemos apenas apli
ar
a rota
~ao em um ponto em torno da origem. Assim, podemos dividir este problema de rota
~ao em 3
problemas simples, ou seja:
1) efetuar transla
~ao, levando P1 a origem;
2) efetuar a rota
~ao desejada;
3) efetuar transla
~ao oposta a realizada em (1), levando P1 a posi
~ao anterior.
Esta sequ^en
ia e ilustrada na gura 5.11, onde o objeto sofre uma rota
~ao em P1(x1, y1). A
primeira transla
~ao e por (x1, y1) e a ultima transla
~ao (oposta a primeira) e por (x1, y1).
Transforma
co
es Geom
etricas
y
75
P1
P1
P1
P1
os sen 0 1 0 x1
sen
os 0 0 1 y1
T (x1, y1) R() T (x1, y1) =
0
1
y
1
1 0 x1
0 0
0 0
=
sen
os
y
(1
os
)
x
sen
1
1
0
0
1
Esse pro
edimento pode ser usado de forma similar para se efetuar a es
ala de um objeto em
rela
~ao a um ponto arbitrario P1. Primeiramente, o ponto P1 e transladado para a origem, ent~ao e
feita a es
ala desejada e, ent~ao, o ponto P1 e transladado de volta. Dessa forma, a transforma
~ao em
sequ^en
ia e:
Sx 0 x1(1 Sx)
Sx 0 0 1 0 x1
1 0 x1
Vamos supor que se deseja apli
ar as transforma
~oes de es
ala, rota
~ao e transla
~ao em um objeto
onforme mostrado na gura 5.12, em que o ponto P1(x1, y1) e o
entro da rota
~ao e da es
ala. A
sequ^en
ia de transforma
~oes
aria a seguinte:
1) efetuar transla
~ao, levando P1 a origem;
2) efetuar a es
ala e a rota
~ao desejadas;
3) efetuar transla
~ao da origem a nova posi
~ao P2, onde o objeto deve ser posi
ionado.
y
y
P2
P1
x
76
Computa
c
ao Gr
afica
H
elio Pedrini
A ordem na qual as transforma
~oes s~ao realizadas pode afetar o resultado nal. Considere, por
exemplo, a transla
~ao e a rota
~ao de um objeto. Observe a diferen
a quando fazemos (a) uma rota
~ao
seguida de uma transla
~ao e (b) uma transla
~ao seguida de uma rota
~ao.
y
final
rotao
final
rotao
translao
translao
inicial
inicial
Se M1 e M2 representam duas transforma
~oes fundamentais (es
ala, transla
~ao ou rota
~ao), em
quais
asos M1 M2 = M2 M1, ou seja, quando suas matrizes de transforma
~ao s~ao
omutativas?
Sabemos que nem sempre a multipli
a
~ao de matrizes e
omutativa, entretanto, n~ao e dif
il mostrar
que nos
asos espe
iais mostrados na tabela 5.1 a
omutatividade existe. Nestes
asos, a ordem das
matrizes de transforma
~ao n~ao e relevante.
M1
M2
Transla
~ao
Es
ala
Rota
~ao
Es
ala (Sx = Sy)
Transla
~ao
Es
ala
Rota
~ao
Rota
~ao
Rotac
ao em torno de um eixo arbitr
ario
Um exemplo de
omposi
~ao de transforma
~oes 3D e a rota
~ao de um objeto em torno de um eixo
arbitrario. Uma solu
~ao para esse problema e fazer
om que o eixo de rota
~ao arbitrario
oin
ida
om
um dos eixos de
oordenadas. Seja o eixo arbitrario formado pelos pontos P1(x1, y1, z1) e P2(x2, y2, z2),
onforme a gura 5.14(a). A rota
~ao sobre esse eixo em um ^angulo e realizada por meio dos seguintes
passos:
1) transladar o ponto P1 para a origem do sistema de
oordenadas;
2) apli
ar rota
o~es apropriadas tal que o eixo de rota
~ao
oin
ida
om um dos eixos de
oordenadas,
por exemplo, o eixo z;
3) apli
ar rota
~ao no objeto ao longo do eixo z pelo ^angulo ;
4) apli
ar inversa da rota
~ao
ombinada;
5) apli
ar inversa da transla
~ao no ponto P1.
Transforma
co
es Geom
etricas
77
Ini
ialmente, um dos pontos do eixo, por exemplo, P1 e transladado para a origem,
onforme a
gura 5.14(b). Em geral, fazer um eixo arbitrario que passa pela origem
oin
idir
om um dos eixos
de
oordenadas requer duas rota
o~es su
essivas ao longo dos outros dois eixos de
oordenadas. Para
fazer o eixo de rota
~ao arbitrario
oin
idir
om o eixo z (gura 5.14(
)), primeiro pode-se apli
ar uma
rota
~ao sobre o eixo x e ent~ao sobre o eixo y. Para determinar o ^angulo de rota
~ao sobre o eixo x
usado para posi
ionar o eixo arbitrario no plano xz, primeiro projeta-se o vetor unitario ao longo do
eixo sobre o plano yz,
omo ilustrado na gura 5.14(d). Os
omponentes y e z do vetor projetado s~ao
cy e cz, ou seja, os
ossenos de dire
~ao do vetor unitario ao longo do eixo arbitrario. Da gura 5.14(d),
obtem-se que
q
c2y + c2z
d=
e tambem
os =
y
cz
d
sen =
cy
d
y
y
P2
P2
P1
P1
z
P1
(a)
(b)
P2
(
)
z
cy
cx
cz
cx
P(c x,0,d)
y
O
y
d
x
(d)
(e)
Depois da rota
~ao sobre o eixo x no plano xz, o
omponente z do vetor unitario e d e o
omponente
x e cx, ou seja, o
osseno dire
~ao da dire
~ao x,
omo mostrado na gura 5.14(e). O
omprimento do
vetor unitario, e
laro, e igual a 1. Ent~ao, o ^angulo de rota
~ao ao longo do eixo y ne
essario para
fazer
om que o eixo arbitrario
oin
ida
om o eixo z e
os = d
sen = cx
78
Computa
c
ao Gr
afica
H
elio Pedrini
1 0 0 x0
0 1 0 y0
T =
0 0 1 z0
0 0 0
1
0
0
0
os sen
Rx =
0 sen
os
0
0
0
e sobre o eixo y
os()
1
0
0
0
= 0 cz/d cy/d
0 0 cy/d cz/d
1
0
0
0
0
0 sen() 0
0
1
0
0
= 0
Rx =
sen() 0
os() 0 cx
0
0
0
1
0
0
1
0 cx 0
1
0
0
0 d 0
0
0
1
A rota
~ao ao longo do eixo arbitrario e dada pela matriz de rota
~ao no eixo z
os sen 0 0
sen os 0 0
R =
0
0
1 0
0 1
Finalmente, a transla ~ao de P1(x1, y1, z1) para a posi ~ao original e
1 0 0 x0
0 1 0 y0
T =
0 0 1 z0
0 0 0 1
5.6
Transformac
oes Afins
As transforma
o~es vistas anteriormente (es
ala, transla
~ao, rota
~ao, re
ex~ao e
isalhamento) s~ao
asos
parti
ulares das transforma
~oes ans,
uja forma
artesiana no plano e dada por:
x = ax + by + e
y = cx + dy + f
" #
x
y
"
#" #
a b x
c d
" #
e
f
Transforma
co
es Geom
etricas
79
Toda transforma
~ao am preserva o paralelismo entre retas e planos. Em geral, as transforma
~oes
ans n~ao preservam
omprimentos, dist^an
ias, areas, volumes, ^angulos ou perpendi
ularidade. Podese mostrar, no entanto, que elas preservam a raz~ao entre os volumes de dois solidos, a raz~ao entre
as areas de duas guras planas
oplanares ou paralelas, e a raz~ao entre os
omprimentos de dois
segmentos
olineares ou paralelos. Em parti
ular, o ponto medio de um segmento e mapeado para o
ponto medio da imagem desse segmento.
5.7
N
umeros Complexos
Antes de des
rever os quaternios, algumas
onsidera
~oes importantes sobre numeros
omplexos ser~ao
des
ritas.
Imaginria
Imaginria
z = a + bi
z = a + bi
(a)
Real
(b)
Real
Figura 5.15: Numeros omplexos. (a) forma artesiana; (b) forma polar.
em que a e b perte
em ao
onjunto dos numeros reais e e a unidade imaginaria. Nesta representa
~ao,
a e a parte real e y e
hamada parte imaginaria do n
umero
omplexo. A unidade imaginaria satisfaz
i2 = 1.
As opera
~oes de adi
~ao e produto de dois numeros
omplexos z1 e z2 s~ao denidas respe
tivamente
omo
z1 + z2 = (a1 + b1 i) + (a2 + b2 i) = (a1 + a2) + (b1 + b2 i)
z1 z2 = (a1 + b1 i)(a2 + b2 i) = (a1a2 b1b2) + (a1b2 + b1a2) i
80
Computa
c
ao Gr
afica
H
elio Pedrini
a2 + b2
Exer
io: Mostre que, para dois numeros
omplexos z1 e z2: kz1z2k = kz1kkz2k
Prova: kz1z2k2 = (z1z2)(z1z2) = z1z2z1z2 = z1z1z2z2 = kz1k2kz2k2
Assim, kz1z2k = kz1kz2k
5.8
Quat
ernios
Numeros
omplexos s~ao estendidos para dimens~oes mais altas usando quaternios:
q = s +xi + yj + zk
Transforma
co
es Geom
etricas
81
em que os
oe
ientes x, y e z nos termos imaginaveis s~ao numeros reais e o par^ametro s e um numero
real
hamado parte es
alar. Os par^ametros i, j e k s~ao denidos
om as propriedades:
i2 = j2 = k2 = 1
i j = j i = k
j k = k j = i
k i = i k = j
i jk = 1
O produto de quaternios e asso
iativo, porem, n~ao
omutativo, ou seja, existem q1 e q2 tais que
q1 6= q2.
O
onjugado de um quaternio e denido
omo
q = s x i y j z k
qq =
p
s2 + x2 + y2 + z2
q
q
=
qq
kqk2
Se um quaternio tem norma igual a 1, diz-se que o quaternio e unitario. A inversa de um quaternio
unitario e seu
onjugado, ou seja, q1 = q .
Um quaternio tambem pode ser representado
omo um par ordenado
q = (s, v)
O par^ametro v e o vetor (x, y, z). Nessa nota
~ao, a adi
~ao de dois quaternios q1 e q2 torna-se
q1 + q2 = (s1 + s2, v1 + v2)
82
Computa
c
ao Gr
afica
H
elio Pedrini
A norma de um quaternio e denida por analogia
om opera
~oes de numero
omplexo, usando a
seguinte soma dos quadrados dos
omponentes do quaternio:
kqk2 = s2 + vv
1
(s, v), tal que qq1 = q1q = (1, 0)
kqk2
Quat
ernios e Rotac
oes no Espaco 3D
Como visto na se
~ao 5.5, a rota
~ao de um vetor no espa
o pode ser representada por meio de uma
matriz obtida pelo produto de matrizes su
essivas. Caso a rota
~ao seja efetuada em torno de um vetor
(eixo) arbitrario, uma de
omposi
~ao deve ser realizada para alinhar o vetor em torno de um dos eixos
x, y ou z. Essa opera
~ao se torna mais simples
om o uso de quaternios.
Um ponto P = (x, y, z) no espa
o 3D pode ser representado pelo quaternio p = (0, P). A rota
~ao
do ponto P por um ^angulo em torno do vetor unitario u pode ser es
rita pela seguinte transforma
~ao
p = qpq
os , u sen
= os
+ u sen
2
2
A norma de u e
2
3
+ u sen =
os 60 + u sen 60
2
2
3 1 (i + j + k) 3
1
+
= +u
2
2 2
2
3
1+i+j+k
=
2
1 1 1 1
=
,( , , )
2 2 2 2
q = os
Transforma
co
es Geom
etricas
83
Composic
ao de Quat
ernios
A
omposi
~ao de rota
o~es pode ser des
rita pelo produto de quaternios
r = pq
ent~ao
r(0, u)r = pq(0, u)(pq) = pq(0, u)q p = p(q(0, u)q )p
Assim
omo visto anteriormente em
omposi
~ao de rota
~oes, deve-se ter
uidado
om a ordem das
transforma
~oes. Na nota
~ao utilizada aqui, rota
~oes devem ser apli
adas da direita para a esquerda.
Convers
ao de Quat
ernios na Forma Matricial
As rota
o~es em sistemas gra
os, tais
omo o OpenGL, normalmente s~ao representadas por matrizes.
Dessa forma, deve-se transformar as rota
~oes espe
i
adas por quaternios em nota
~ao matri
ial.
Dada uma rota
~ao espe
i
ada pelo quaternio q = (s, x, y, z), a matriz pode ser derivada do
produto qpq , resultando
1 2y2 2z2
2xy 2sz
2xz 2sy
2
2
2xy + 2sz
1 2x 2z
2yz 2sx
Mq =
2yz + 2sx
1 2x2 2y2
2xz 2sy
0
0
0
0
1
(5.2)
pode-se
al
ular s asso
iado ao quaternio observando que a soma da diagonal da matriz (ou seja, o
tra
o da matriz) e dada por
4 2(2x2 + 2y2 + 2z2) = 1 + m11 + m22 + m33
ou seja
4 4(1 s2) = 1 + m11 + m22 + m33
assim
s=
1p
1 + m11 + m22 + m33
2
84
Computa
c
ao Gr
afica
H
elio Pedrini
Os
al
ulos envolvidos na matriz podem ser reduzidos substituindo valores expl
itos para os
par^ametros s, x, y e z, ent~ao usar as seguintes igualdades trigonometri
as para simpli
ar os termos
sen2 = 1 2 sen2 =
os
2
2
2
2
os sen = sen
2
2
os2
uxuy(1
os ) + uz sen
u2y(1
os ) +
os
uyuz(1
os ) ux sen 0
MR() =
2(1
os ) +
os
u
u
(1
os
)
u
sen
u
u
(1
os
)
+
u
sen
u
0
x z
y
y z
x
z
0
0
0
1
u2x(1 os ) + os
5.9
Exerccios
Transforma
co
es Geom
etricas
85
os sen
sen
os
"
e igual a
os
os
"
#"
tan
#
tan
1
ou seja, qualquer rota ~ao em duas dimens~oes e uma ombina ~ao de es ala e isalhamento (verdadeiro para todos os ^angulos satisfazendo tan 6= ).
7) Es
reva o quaternio que representa uma rota
~ao de 60 graus em torno do eixo (2, 1, 0) que passa
pela origem.
Captulo 6
Proje
c
oes Planares
Paralela
Ortogrfica
Perspectiva
Axonomtrica
Oblqua
Cavalier
Trimtrica
Dimtrica
Cabinet
Isomtrica
6.1
Proje
c
oes Paralelas
Em proje
~oes paralelas, os raios de proje
~ao s~ao paralelos entre si. Dessa forma, retas paralelas no
objeto produzem retas paralelas no plano de proje
~ao. Quando os raios de proje
~ao interse
tam o
plano de proje
~ao em ^angulo perpendi
ular, a proje
~ao e denominada ortogra
a ou axonometri
a.
88
Computa
c
ao Gr
afica
H
elio Pedrini
Quando os raios de proje
~ao interse
tam o plano de proje
~ao em ^angulo oblquo para produzir a
imagem projetada, a proje
~ao e denominada oblqua.
Projec
ao Ortogr
afica
A proje
~ao paralela mais simples e a proje
~ao ortogra
a, normalmente utilizada em desenhos de
engenharia. Nesta proje
~ao, o tamanho e a forma dos objetos s~ao mostradas sem distor
~oes. Proje
~oes
ortogra
as s~ao proje
o~es em um dos planos x = 0, y = 0 ou z = 0.
No
aso de proje
~ao no plano z = 0, o ponto P e projetado
omo:
xp = x
yp = y
zp = 0
Mortz
1 0 0 0
0 1 0 0
0 0 0 0
0 0 0 1
Mortx
Morty
0 0 0 0
0 1 0 0
0
0
1
0
0 0 0 1
1 0 0 0
0 0 0 0
0 0 1 0
0 0 0 1
Proje
co
es Planares
89
y
x
z
y
y
x
z
x
z
y=0
z=0
x=0
x
y
topo
trs
esquerda
z
y
z
x
z
baixo
frente
direita
Por exemplo, a vista de tras e obtida pela re
ex~ao atraves do plano z = 0, seguida pela proje
~ao
no plano z = 0. Semelhantemente, a vista esquerda e obtida pela rota
~ao de 90 em torno do eixo y,
seguida pela proje
~ao no plano z = 0.
Uso das proje
o~es ortogra
as: desenho de pe
as, projetos de engenharia/arquitetura.
vantagens: possveis medidas pre
isas; todas as vistas
om a mesma es
ala.
desvantagens: n~
ao forne
e vista \realista" ou senso da natureza 3D.
6.2
Proje
c
ao Axonom
etrica
Uma uni a proje ~ao ortogra a falha em ilustrar a forma 3D geral de um objeto. Proje ~oes axonometri as orrigem essa limita ~ao. Uma proje ~ao axonometri a e onstruda manipulando-se o ob-
90
Computa
c
ao Gr
afica
H
elio Pedrini
jeto por meio de rota
o~es, tal que no mnimo tr^es fa
es adja
entes s~ao mostradas. O resultado e
ent~ao projetado a partir de um
entro de proje
~ao no innito em um dos planos de
oordenadas,
normalmente o plano z = 0.
Nas proje
~oes axonometri
as, os raios de proje
~ao s~ao perpendi
ulares ao plano de proje
~ao, entretanto, o plano de proje
~ao pode ter qualquer orienta
~ao
om respeito ao objeto. Se o plano de
proje
~ao e posi
ionado de maneira simetri
a
om rela
~ao aos tr^es eixos de
oordenadas, tem-se a
proje
~ao isometri
a. Se o plano de proje
~ao e posi
ionado simetri
amente
om rela
~ao a dois dos
eixos de
oordenadas, a proje
~ao e
hamada dimetri
a. O
aso mais geral e
onhe
ido
omo proje
~ao
trimetri
a.
Na proje
~ao isometri
a, o
omprimento de um segmento de reta no espa
o da imagem e menor do
que o
omprimento medido no espa
o do objeto. Esta redu
~ao de dist^an
ias e a mesma nas tr^es dire
~oes
prin
ipais, tal que medidas de dist^an
ias ainda possam ser realizadas. Na proje
~ao dimetri
a, ha dois
fatores de redu
~ao, enquanto na proje
~ao trimetri
a ha tr^es fatores. Embora retas paralelas sejam
preservadas na imagem, ^angulos n~ao s~ao preservados. Proje
o~es axonometri
as s~ao muito utilizadas
em desenho me
^ani
o e arquitet^oni
o.
(a)
(b)
( )
Figura 6.4: Proje o~es axonometri as. (a) isometri a; (b) dimetri a; ( ) trimetri a.
isometri
a: ^
angulos entre todos os 3 eixos prin
ipais s~ao iguais (120 ); mesmo fator de es
ala e
Uso das proje
~oes axonometri
as: ilustra
~oes em
atalogos; projeto de moveis; desenho estrutural.
vantagens: n~
ao ne
essita de multiplas vistas; ilustra natureza 3D do objeto; medidas podem ser
6.3
Proje
c
ao Oblqua
Em
ontraste
om as proje
~oes ortogra
as e axonometri
as para as quais os projetores s~ao perpendi
ulares ao plano de proje
~ao, uma proje
~ao oblqua e formada por projetores paralelos a partir de
um
entro de proje
~ao no innito que interse
ta o plano de proje
~ao em um ^angulo oblquo.
Proje
co
es Planares
91
y
Proje
~oes oblquas ilustram a forma 3D geral de um objeto. Entretanto, apenas fa
es do objeto
paralelas ao plano de proje
~ao s~ao mostradas em seus tamanhos e forma reais, ou seja, ^angulos e
omprimentos s~ao preservados para estas fa
es apenas. De fato, a proje
~ao oblqua destas fa
es e
equivalente a uma vista frontal ortogra
a. Fa
es n~ao paralelas ao plano de proje
~ao s~ao distor
idas.
Duas proje
~oes oblquas s~ao de parti
ular interesse:
avalier e
abinet. Uma proje
~ao
avalier
e obtida quando o ^angulo entre os projetores oblquos e o plano de proje
~ao e igual a 45 . Em uma
proje
~ao
avalier, os fatores de redu
~ao para todas as tr^es dire
~oes prin
ipais s~ao iguais. Uma proje
~ao
oblqua em que o fator de redu
~ao para arestas perpendi
ulares ao plano de proje
~ao e 0.5 e
onhe
ida
omo proje
~ao
abinet. O ^angulo entre os raios de proje
~ao e o plano de proje
~ao em uma proje
~ao
abinet e igual a ar
tan(2) 63.4 .
1
= 45
1
cavalier
2/3
3/4
avalier e abinet.
1/2
= arctan(2)
1
cabinet
Considere a gura 6.7(a), onde um
ubo unitario e projetado no plano xy. Desta gura pode-se
veri
ar que o ponto P(0, 0, 1) do
ubo e projetado em P (l
os , l sen , 0) no plano xy,
onforme
ilustrado na gura 6.7(b). Por deni
~ao, isto signi
a que a dire
~ao de proje
~ao e a mesma dada pela
linha PP passando atraves destes dois pontos. Esta dire
~ao e P P = (l
os , l sen , 1). A dire
~ao
de proje
~ao faz um ^angulo
om o plano xy. Agora
onsidere um ponto generi
o x, y, z. Qual sua
proje
~ao oblqua (x , y ) no plano xy? A gura 6.7(
) mostra duas vistas do ponto e o projetor, o
qual e paralelo ao projetor da gura anterior.
92
Computa
c
ao Gr
afica
H
elio Pedrini
y
l sen
Projetor
P(0,0,1)
l cos
(a)
(b)
y
y
x,y,z
y=(l sen)z + y
z
z
x=(l cos)z + x
x,y,z
x
x
( )
As equa
~oes s~ao para os valores x e y do projetor
omo uma fun
~ao de z e s~ao da forma y = mz+b.
Resolvendo as duas equa
~oes para x e y , obtemos
x = x + z(l
os )
y = y + z(l sen )
A matriz 4 4 que realiza estas opera ~oes e, portanto, representa a proje ~ao oblqua e:
Mob
1 0 l os 0
0 1 l sen 0
0
0
0
0
0 0
0
1
Para uma proje
~ao
avalier, l = 1, tal que o ^angulo e 45 ( = 45 tambem). Para a proje
~ao
abinet, l = 1/2 e = 45 (o ^angulo e ar
tan(2) = 63.4 ). Para uma proje
~ao ortogra
a, l = 0 e
= 90 , tal que Mob e reduzida a matriz ortogra
a Mort vista anteriormente.
Uso da proje
~ao oblqua: proje
~oes de
idades (arranha-
eus)
Proje
co
es Planares
93
vantagens: pode apresentar a mesma forma de uma fa e de um objeto (pode ter medidas pre i-
sas); melhor para formas elpti
as do que proje
~oes axonometri
as; falta de redu
~ao (perspe
tiva
torna
ompara
~ao de tamanhos mais simples; exibe alguma apar^en
ia 3D;
desvantagens: objetos podem pare
er distor
idos se es
olha n~ao e feita
uidadosamente sobre o
plano de proje ~ao (ex: r ulos se tornam elipses); falta de redu ~ao (apar^en ia n~ao realista).
6.4
Proje
c
ao Perspectiva
Em
ontraste
om as proje
~oes paralelas dis
utidas anteriormente, em proje
~oes perspe
tivas o tamanho do objeto e reduzido
om o aumento da dist^an
ia do
entro de proje
~ao. Tambem o
orre uma
redu
~ao n~ao uniforme de linhas no objeto
omo uma fun
~ao de orienta
~ao e dist^an
ia do objeto do
entro de proje
~ao. Estes efeitos ajudam na per
ep
~ao de profundidade do sistema visual humano,
mas a forma do objeto n~ao e preservada.
O ponto para o qual um
onjunto de retas paralelas projetadas pare
e
onvergir e
hamado de ponto
de fuga. A gura 6.8 ilustra alguns tipos de proje
~oes perspe
tivas para um
ubo. Em perspe
tiva
om
um ponto de fuga, as fa
es da frente e de tras do
ubo s~ao paralelas ao plano da gura. Em perspe
tiva
om dois pontos de fuga, quatro arestas verti
ais do
ubo s~ao agora paralelas. Em perspe
tiva
om
tr^es pontos de fuga, os tr^es eixos
onvergem em pontos de fuga.
(a)
(b)
( )
Figura 6.8: Perspe tiva. (a) um ponto de fuga; (b) dois pontos de fuga; ( ) tr^es pontos de fuga.
O
al
ulo da proje
~ao perspe
tiva e simples. Suponha um ponto P no espa
o,
onforme ilustrado
na gura 6.9. O sistema projetivo e denido pelo
entro de proje
~ao C
olo
ado na origem dos eixos
e pelo plano de proje
~ao, em z = d perpendi
ular a este eixo.
Pode-se observar que os tri^angulos s~ao formados pela proje
~ao do ponto P nos planos yz e xz. No
plano yz, os tri^angulos CSV e CTQ s~ao semelhantes. Da semelhan
a extrai-se a seguinte rela
~ao que
94
Computa
c
ao Gr
afica
H
elio Pedrini
y
S
T
y
Q
P
V
z
W
R
x
y =
y.d
y
=
z
z/d
Analogamente, dos tri^angulos CQW e CVR, no plano xz, extraem-se as rela
o~es que permitem
al
ular x :
x
x
=
d
z
x =
x.d
x
=
z
z/d
0 1 0 0
Mpersp =
0 0 1 0
0 0 1/d 0
1 0
P4D =
z/d
z/d
P3D =
Uma formula
~ao alternativa para a proje
~ao perspe
tiva posi
iona o plano de proje
~ao em z = 0 e
o
entro de proje
~ao em z = d,
omo mostrado na gura 6.10.
Proje
co
es Planares
95
plano de projeo
x
P(x,y,z)
x
d
d
P(x,y,z)
y
plano de projeo
x =
y
y
=
d
z+d
y =
x.d
x
=
z+d
z/d + 1
y.d
y
=
z+d
z/d + 1
0 1 0 0
Mpersp =
0
0
0
0
0 0 1/d 1
1 0
Esta formula
~ao permite que d, a dist^an
ia ao
entro de proje
~ao, tenda para innito. A proje
~ao
ortogra
a em um plano de proje
~ao em z = 0 pode ser agora diretamente derivada desta formula
~ao.
A dire
~ao de proje
~ao e no eixo z, ent~ao o ponto P projeta-se
omo
x = x
y = y
z = 0
6.5
Exerccios
1) Es reva
equivalente
a
gluPerspective(30,1.5,2,100).
hamada
de
glFrustum
para
hamada
de
Captulo 7
Tracado de Primitivas Gr
aficas
A exibi
~ao de primitivas gra
as requer pro
edimentos para a
onstru
~ao da forma geometri
a
orrespondente ao elemento desejado na matriz de pixels do dispositivo de sada. Esses pro
edimentos
onvertem elementos gra
os em representa
~ao vetorial para a representa
~ao matri
ial.
Os prin
ipais tipos de primitivas geometri
as s~ao pontos, segmentos de reta,
urvas e polgonos.
Cada tipo de primitiva requer algoritmos espe
os para exibi
~ao no dispositivo de sada.
7.1
Segmentos de Reta
Um segmento de reta em uma
ena e denido pelas
oordenadas dos pontos ini
ial e nal do segmento. A gera
~ao de segmentos de reta em dispositivos matri
iais apresenta algumas di
uldades,
uma vez que a matriz da tela e formada por um
onjunto de pontos dis
retos (pixels). O segmento
de reta deve ini
iar e terminar nos pontos espe
i
ados, n~ao deve apresentar interrup
~oes indesejaveis
(des
ontinuidades), manter espessura uniforme e ter apar^en
ia linear. A linearidade e trivial quando
o segmento de reta possui orienta
~ao
ujo ^angulo e multiplo de 45 ; em outros
asos, a dis
retiza
~ao
pode a
arretar apar^en
ia serrilhada do segmento de reta,
omo ilustrado na gura 7.1.
y
98
Computa
c
ao Gr
afica
7.1.1
H
elio Pedrini
Equac
ao da Reta
Uma primeira abordagem para se obter um segmento de reta entre os pontos (x1, y1) e (x2, y2) e
utilizar a equa
~ao analti
a da reta
y = y1 + m(x + x1)
(7.1)
em que m = (y2 y1)/(x2 x1) e o
oe
iente angular da reta, ou seja, a tangente do ^angulo de
in
lina
~ao.
Dados os pontos extremos do segmento de reta (x1, y1) e (x2, y2), pode-se
al
ular os valores de
y a partir de in
rementos unitarios em x. O algoritmo 7.1 ilustra a te
ni
a para segmentos de reta
perten
entes ao primeiro o
tante (0 m 1). Alem disso, ele requer opera
o~es
om ponto
utuante,
o que
ompromente o desempenho
omputa
ional.
1
2
3
4
if (x1 != x2) {
m = (float) (y2 - y1) / (x2 - x1);
for (x = x1; x <= x2; x++) {
y = y1 + m * (x - x1);
PutPixel(x, y, cor);
}
}
else for (y = y1; y <= y2; y++)
PutPixel(x, y, cor);
6
7
8
9
10
11
12
13
14
15
Algoritmo 7.1: Tra ado de segmento de reta pela equa ~ao expl ita da reta.
Os segmentos de reta gerados pelo algoritmo 7.1 tornam-se
ada vez mais des
ontnuos quando a
in
lina
~ao m da reta e maior do que 1. Como o algoritmo
al
ula valores de x entre x1 e x2, ha um
pixel desenhado em
ada
oluna. Quando a in
lina
~ao e maior do que 1, normalmente mais do que
um pixel deve ser desenhado em
ada
oluna para que o segmento de reta pare
a
ontnuo.
7.1.2
Algoritmo DDA
Um algoritmo in
remental bastante
onhe
ido e
hamado de digital dierential analyzer (DDA), o
qual utiliza a equa
~ao diferen
ial da reta
dy
=
onstante
dx
ou
y
y2 y1
=
x
x2 x1
(7.2)
y2 y1
x
x2 x1
(7.3)
em que x1, x2, y1 e y2 s~ao os pontos extremos do segmento de reta e yi e o valor ini
ial para
ada
passo ao longo da reta. O maior valor entre x e y e es
olhido
omo uma unidade de dis
retiza
~ao.
Tra
cado de Primitivas Gr
aficas
99
O pseudo
odigo 7.2 apresenta a te
ni
a DDA para segmentos de reta
om in
lina
~oes arbitrarias.
Diferen
as na horizontal e verti
al entre os pontos ini
ial e nal s~ao atribudos, respe
tivamente, a dx e
dy. A maior diferen
a determina o valor do par^ametro passos. A partir do pixel (x0, y0), determina-se
o deslo
amento a
ada passo para gerar o proximo pixel ao longo da reta. Caso o valor de dx seja
maior do que dy e x1 seja menor do que x2, ent~ao s~ao usados de
rementos -1 e in
lina
~ao m para
gerar
ada um dos novos pontos da reta. Caso
ontrario, usa-se in
remento ou de
remento unitario
na dire
~ao y e um in
remento e de
remento unitario de 1/m.
O algoritmo DDA e mais rapido do que o metodo para
al
ulo das
oordenadas de pixels que
implementa diretamente a equa
~ao 7.1, pois elimina a multipli
a
~ao e utiliza in
rementos apropriados
nas dire
~oes x ou y. Entretanto, o a
umulo de erro de arredondamento em adi
~oes su
essivas de
in
rementos em numeros fra
ionarios pode desviar o tra
ado do segmento de reta em rela
~ao a reta
real. Alem disso, as opera
~oes de arredondamento e aritmeti
a n~ao inteira demandam tempo adi
ional.
1
2
3
4
x = x1 + 0.5;
y = y1 + 0.5;
dx = abs(x2 - x1);
dy = abs(y2 - y1);
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
7.1.3
Algoritmo de Bresenham
100
Computa
c
ao Gr
afica
H
elio Pedrini
Ini
ialmente, apenas segmentos de reta
om in
lina
~ao 0 < m < 1 ser~ao
onsiderados. Assim,
ada
oluna su
essiva (posi
~ao x) e in
rementada em uma unidade e es
olhe-se o pixel
ujo valor y
estiver mais proximo da reta real. Assumindo que o pixel (xi, yi) sera exibido, deve-se de
idir qual a
oordenada do pixel na
oluna xi+1 = xi + 1, ou seja, o pixel
om posi
~ao (xi + 1, yi) ou (xi+1, yi+1).
As dist^an
ias verti
ais, na
oluna xi+1, entre a reta real e o pixel a ser es
olhido s~ao d1 e d2,
onforme
ilustrado na gura 7.2.
y
(7.4)
Ent~ao
d1 = y yi = m(xi + 1) + b yi
(7.5)
d2 = yi + 1) y = yi + 1 m(xi + 1) b
(7.6)
(7.7)
Um par^ametro de de
is~ao pi para a i-esima itera
~ao pode ser denido para determinar qual dos
dois pixels esta mais proximo da reta. Substituindo m = y/x, a equa
~ao 7.7 pode ser rees
rita de
forma a envolver apenas aritmeti
a inteira
pi = x(d1 d2) = 2yxi 2xyi + c
(7.8)
em que a
onstante c tem o valor 2y + x(2b 1), ou seja, e independente da posi
~ao do pixel,
podendo ser eliminada do
al
ulo de pi. O par^ametro pi e negativo se o pixel na posi
~ao yi estiver
mais proximo da reta real do que o pixel na posi
~ao yi + 1.
Como as mudan
as de
oordenadas o
orrem em passos unitarios em x ou em y, pode-se obter os
valores su
essivos de par^ametros usando
al
ulos inteiros. Na itera
~ao i + 1, o par^ametro de de
is~ao e
avaliado a partir da equa
~ao 7.9
omo
pi+1 = 2yxi+1 2xyi+1 + c
(7.9)
Tra
cado de Primitivas Gr
aficas
101
(7.10)
(7.11)
A equa
~ao 7.11 permite o
al
ulo do valor de
ada par^ametro su
essivo a partir da anterior. O
primeiro par^ametro, p0, e obtido avaliando-se a equa
~ao 7.9
om (x0, y0)
omo o ponto ini
ial e
m = y/x
p0 = 2y x
(7.12)
A te
ni
a de Bresenham para o primeiro o
tante (0 < m < 1) e apresentada no algoritmo 7.3.
1
2
3
4
5
6
7
8
9
10
x = x1;
y = y1;
dx = x2 - x1;
dy = y2 - y1;
e = dy / dx - 1/2;
11
12
13
14
15
16
17
18
19
20
Algoritmo 7.3: Tra
ado de segmento de reta no primeiro o
tante pela te
ni
a de Bresenham.
Uma vers~ao da te
ni
a de Bresenham utilizando apenas aritmeti
a inteira para o primeiro quadrante e dada no algoritmo 7.4.
O algoritmo de Bresenham pode ser estendido para segmentos de reta
om in
lina
~oes arbitrarias
levando-se em
onta a simetria entre os demais o
tantes do plano xy. Para um segmento
om in
lina
~ao
maior do que 1, tro
a-se o
omportamento das
oordenadas x e y, ou seja, a itera
~ao o
orre ao longo
da dire
~ao y em passos unitarios e
al
ula-se posi
~oes su
essivas de x. Para in
lina
~oes negativas,
o pro
edimento e similar, ex
eto que agora uma
oordenada e de
rementada enquanto a outra e
in
rementada. Finalmente,
asos parti
ulares de segmentos de reta horizontais (y = 0), segmentos
verti
ais (x = 0) e segmentos diagonais (|x| = |y|) s~ao manipulados separadamete.
A implementa
~ao do algoritmo de Bresenham para fun
ionar em outros o
tantes requer a analise
da posi
~ao da reta e sua in
lina
~ao. Quando a magnitude absoluta da in
lina
~ao da reta for maior do
que 1, y e in
rementado de um e o
riterio de erro de Bresenham e utilizado para determinar quando
102
1
2
3
Computa
c
ao Gr
afica
H
elio Pedrini
4
5
6
7
8
9
x = x1;
y = y1;
dx = x2 - x1;
dy = y2 - y1;
e = 2 * dy - dx;
10
11
12
13
14
15
16
17
18
19
Algoritmo 7.4: Tra
ado de segmento de reta
om aritmeti
a inteira pela te
ni
a de Bresenham.
in
rementar x. Se x ou y deve ser in
rementado por 1 ou +1 depende do quadrante. Isto e ilustrado
na gura 7.3.
x=x1
y=y+1
x=x+1
y=y+1
x=x1
y=y1
x=x+1
y=y1
O algoritmo 7.5 apresenta a te
ni
a de Bresenham para todos os quadrantes utilizando apenas
aritmeti
a inteira.
7.2
Tra
cado de Circunfer
encia
A equa
~ao de uma
ir
unfer^en
ia
om
entro na origem e raio r, em
oordenadas
artesianas, e dada
por:
x2 + y2 = r2
(7.13)
Cir
unfer^en
ias n~ao
entradas na origem podem ser transladadas para a posi
~ao (0, 0), e os pixels
reais podem ser tra
ados apli
ando-se um deslo
amento aos pixels gerados pelo algoritmo de tra
ado.
Tra
cado de Primitivas Gr
aficas
1
2
3
4
5
6
7
8
9
103
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
e = 2 * dy - dx;
for (i = 1; i < dx; i++) {
PutPixel(x, y, cor);
while (e >= 0) {
if (trocou == 1)
x = x + s1;
else
y = y + s2;
e = e - 2 * dx;
}
if (trocou == 1)
y = y + s1;
else
x = x + s1;
e = e + 2 * dy;
}
Algoritmo 7.5: Tra ado de segmento de reta om aritmeti a inteira pela te ni a geral de Bresenham.
104
Computa
c
ao Gr
afica
H
elio Pedrini
(7.14)
y = r sen(t)
(7.15)
em que 0 t 2
Note que o tra
ado de uma
ir
unfer^en
ia pode tirar proveito de sua simetria. Considere uma
ir
unfer^en
ia
entrada na origem. Se o ponto (x, y) perten
e a
ir
unfer^en
ia, pode-se
al
ular de
maneira trivial sete outros pontos da
ir
unfer^en
ia,
onforme ilustrado na gura 7.4. Consequentemente, basta
al
ular um ar
o de
ir
unfer^en
ia de 45 graus para obter a
ir
unfer^en
ia toda. Para
uma
ir
unfer^en
ia
om
entro na origem, os oito pontos simetri
os podem ser tra
ados usando o
algoritmo 7.6.
(y, x)
(y, x)
(x, y)
(x, y)
(x, y)
(x, y)
(y, x)
(y, x)
1
2
3
4
5
6
7
8
9
10
11
O algoritmo 7.7 ilustra a te
ni
a de Bresenham para tra
ado de
ir
unfer^en
ia
om
entro em
(0, 0).
Tra
cado de Primitivas Gr
aficas
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
x = 0;
y = raio;
d = 3 - 2 * raio;
while (x < y) {
CirclePoints(x, y, cor)
if (d < 0)
d = d + 4 * x + 6;
else {
d = d + 4 * (x - y) + 10;
y = y - 1;
}
x = x + 1;
}
if (x == y)
CirclePoints(x, y, cor);
end
105
Captulo 8
Preenchimento de Regi
oes
Regi~oes exibidas em um dispositivo de sada podem ser preen
hidas
om uma
or ou textura. As
regi~oes normalmente s~ao denidas por um
onjunto de pixels que delimitam suas por
~oes internas e
externas ou por um
onjunto de primitivas geometri
as tais
omo segmentos de retas ou
urvas.
A gura 8.1 ilustra regi~oes denidas por pixels e por segmentos de reta.
(a)
(b)
Figura 8.1: Regi~oes. (a) regi~oes denidas por pixels; (b) regi~oes denidas por segmentos de reta.
8.1
Um algoritmo para preen
himento de regi~ao denida por pixels e
onhe
ido
omo algoritmo por
inunda
a~o, onde o preen
himento e espe
i
ado partindo-se de um pixel do interior da regi~ao (pixel
semente) e progredindo para os pixels vizinhos que s~ao
onexos entre si.
Ha duas formas
omuns para denir
one
tividade entre pares de pixels. Um pixel possui vizinhan
a-4 se apenas os quatro vizinhos horizontais e verti
ais s~ao
onsiderados. Um pixel possui
vizinhan
a-8 se ele possui vizinhan
a-4 e ainda os quatro vizinhos diagonais s~ao
onexos. A gura 8.2
ilustra a vizinhan
a-4 e vizinhan
a-8.
Uma vers~ao re
ursiva do algoritmo de preen
himento por inunda
~ao para regi~oes formadas por
pixels
one
tados por meio de vizinhan
a-4 e mostrada no algoritmo 8.1.
Uma forma de melhorar o desempenho do algoritmo de preen
himento por inunda
~ao e evitar
estouro da pilha devido a exe
u
~ao do metodo em regi~oes muito extensas. Isto pode ser realizado
108
Computa
c
ao Gr
afica
(a)
H
elio Pedrini
(b)
Figura 8.2: Tipos de vizinhan a. (a) vizinhan a-4; (b) vizinhan a-8.
1
2
3
4
5
6
7
8
9
10
nova)
cor
cor
cor
cor
nova)
nova)
nova)
nova)
om o uso de
orridas de pixels, ou seja, um grupo de pixels horizontalmente adja
entes no interior
da regi~ao.
Um exemplo e ilustrado na gura 8.3(a). O pixel mar
ado
om a letra s indi
a o pixel semente. A
orrida entre a e b, na qual s e lo
alizada, e preen
hida primeiro. Ent~ao, a linha a
ima e per
orrida
de a a b bus
ando-se
orridas adi
ionais. Para o exemplo dado, o pixel mais a direita, c, e salvo (seu
endere
o e guardado na pilha) para ser manipulado posteriormente. Em seguida, a linha abaixo e
per
orrida entre a e b; uma
orrida e en
ontrada e seu pixel mais a direita, d, e salvo na pilha. A
gura 8.3(b) ilustra a situa
~ao ate o momento.
Agora, um pixel e retirado da pilha para produzir um novo pixel semente, d, e o pro
esso e
repetido. A
orrida entre d e e e preen
hida; a linha a
ima e per
orrida, tal que nenhuma
orrida e
en
ontrada; a linha abaixo e per
orrida entre d e e, en
ontrando-se tr^es
orridas. Pixels f, g e h s~ao
armazenados na pilha. O pixel h e ent~ao retirado da pilha e sua
orrida e preen
hida, tal que duas
orridas adi
ionais i e j s~ao identi
adas. A gura 8.3(
) ilustra este estagio. O pro
esso
ontinua ate
que a pilha que vazia, em que todos os pixels do interior da regi~ao al
an
ados pelo pixel semente
ter~ao sido preen
hidos.
c
s
a
d
e
h
d
f
i
g
j
(a)
(b)
( )
Preenchimento de Regi
oes
8.2
109
O exemplo da gura 8.4 ilustra o fun
ionamento do algoritmo. Os oito lados do polgono podem
ser armazenados
onforme a tabela 8.1 forne
ida para fa
ilitar o
al
ulo da interse
~ao
om a linha de
varredura.
(60,70)
4
5
(20,50)
3
(40,30)
(100,30)
(110,30)
2
y = 20
7
(0,10)
1
(80,0)
(130,0)
Figura 8.4: Exemplo de preen himento pelo algoritmo baseado em linha de varredura.
Lado
1
2
3
4
5
6
7
8
ymin
0
10
30
50
30
0
0
0
ymax
10
30
50
70
70
30
30
30
x para ymin
80
0
40
20
110
130
130
80
1/m
-8,0
2,0
-1,0
2,0
-1,25
-0,67
-1,0
0,67
Tabela 8.1: Exemplo de preen himento pelo algoritmo baseado em linha de varredura.
Uma analise da interse
~ao do polgono
om a linha de varredura y = 20 pode ser realizada. Uma
veri
a
~ao previa da tabela permite ex
luir do tratamento os lados que
ertamente n~ao interse
tam a
linha y = 20. Ex
luem-se os lados que possuem ymin > 20, isto e, aqueles que est~ao a
ima da linha de
110
Computa
c
ao Gr
afica
H
elio Pedrini
varredura, e os que t^em ymax < 20, ou seja, os que est~ao totalmente abaixo dela. Enquadram-se no
primeiro
aso, as arestas denotadas por 3, 4 e 5 e, no segundo, a aresta 1. Resta analisar as interse
~oes
om as arestas 2, 6, 7 e 8.
Cal
ula-se uma interse
~ao pela formula:
x=
1
(yvarredura ymin) + xymin
m
Captulo 9
Recorte
Os pro
essos de manipula
~ao de desenhos apresentados pelos sistemas gra
os devem dar a impress~ao aos seus usuarios de que estes est~ao observando o seu desenho atraves de uma pequena janela
retangular. Estes pro
essos s~ao obtidos por meio de utiliza
~ao sistemati
a de te
ni
as de transforma
~oes de
oordenadas, tais
omo rota
~ao, transla
~ao, es
ala e mapeamento em janelas.
Para se apresentar um desenho ou parte dele no dispositivo de sada, o sistema deve tomar a
pre
au
~ao de veri
ar as por
o~es visveis a serem enviadas ao dispositivo e as partes invisveis que
devem ser des
artadas. Esse pro
edimento de elimina
~ao de partes n~ao visveis e denominado re
orte.
O pro
esso de re
orte e efetuado em fun
~ao de uma area normalmente retangular. Todo o tre
ho do
desenho situado no interior do ret^angulo pode ser enviado ao dispositivo de sada; os que re
aem fora
dessa area retangular s~ao des
artados.
A gura 9.1 ilustra o pro
esso de re
orte
om base na area denida pela janela de desenho. Assim,
todo o re
orte e efetuado no sistema de
oordenadas do usuario, e os dispositivos de sada re
ebem os
valores
orretos, prontos para serem visualizados.
Desde que um grande numero de pontos ou segmentos de reta pode ser re
ortado em uma
ena
tpi
a, a e
i^en
ia dos algoritmos de re
orte e extremamente importante. Em muitos
asos, a maioria
dos pontos ou segmentos de reta esta no interior ou no exterior da janela de re
orte. Portanto,
e importante ser
apaz de rapidamente a
eitar um segmento de reta
omo AB ou um ponto P ou
rejeitar um segmento
omo IJ ou um ponto Q na gura 9.2.
112
Computa
c
ao Gr
afica
F
E
Q
H
elio Pedrini
G
N
C
B
M
9.1
Recorte de Pontos
ymin y ymax
(9.1)
em que xmin, xmax , ymin ymax s~ao as oordenadas que delimitam a janela de re orte retangular.
9.2
Alguns algoritmos para re
orte de segmentos de reta em rela
~ao a uma janela retangular s~ao apresentados nas proximas se
~oes.
9.2.1
Para re
ortar uma reta, e ne
essario apenas
onsiderar seus pontos extremos, n~ao seus pontos interiores. A partir da gura 9.2, pode-se observar que, se ambos os pontos extremos do segmento de
reta est~ao no interior do ret^angulo de re
orte (exemplo, AB), toda o segmento lo
aliza-se dentro da
janela e pode ser trivialmente a
eito. Se um ponto extremo esta dentro do ret^angulo de re
orte e
um fora (exemplo, CD), o segmento de reta interse
ta a janela de re
orte e deve-se
al
ular o ponto
de interse
~ao. Se ambos os pontos extremos est~ao fora da janela de re
orte, o segmento de reta pode
ou n~ao interse
tar a janela (EF, GH e KL) e deve-se realizar
al
ulos adi
ionais para determinar se
existem interse
~oes e, se elas existirem, onde elas o
orrem.
A abordagem da for
a bruta para re
ortar um segmento de reta que n~ao pode ser trivialmente
a
eito e interse
tar o segmento
om
ada uma das quatro arestas da janela de re
orte para veri
ar
se algum de seus pontos de interse
~ao est~ao nestas arestas; se sim, a reta
orta a janela e esta
par
ialmente visvel. Para
ada segmento de reta e aresta da janela, deve-se, portanto, tomar as retas
matemati
amente innitas que as
ont^em e interse
ta-las. A seguir, testa-se se o ponto de interse
~ao e
interior, ou seja, se ele esta dentro de ambos a aresta da janela e a reta; se sim; existe uma interse
~ao
om a janela de re
orte.
Equa
~oes de in
lina
~ao da reta n~ao tratam retas
omo segmentos nitos. Alem disso, retas verti
ais
n~ao s~ao denidas pela equa
~ao. A formula
~ao parametri
a para segmentos de reta resolve esses dois
Recorte
113
problemas
x = xo + t(x1 x0)
y = yo + t(y1 y0)
(9.2)
Estas equa
~oes des
revem (x, y) no segmento dire
ionado de (x0, y0) a (x1, y1) para o par^ametro
t no intervalo [0, 1].
A abordagem da for
a bruta envolve
onsideravel
omputa
~ao e testes, sendo ent~ao ine
iente.
9.2.2
Um algoritmo de re
orte mais e
iente foi
riado por Dan Cohen e Ivan Sutherland, o qual realiza
testes ini
iais no segmento de reta para determinar se
al
ulos de interse
~ao podem ser evitados.
Primeiro, pares de pontos extremos s~ao testados para a
eita
~ao trivial. Se o segmento n~ao pode ser
trivialmente a
eito, testes de regi~oes s~ao feitos. Por exemplo, duas
ompara
~oes simples em x mostram
que os pontos extremos do segmento de reta IJ possuem
oordenada x maior do que xmax e ent~ao
est~ao na regi~ao a direita da janela de re
orte. Portanto, o segmento IJ pode ser trivialmente rejeitado
e n~ao ne
essita ser re
ortado ou mostrado. Similarmente, pode-se des
artar segmentos de retas em
que ambos os pontos extremos est~ao em regi~oes a esquerda de xmin, abaixo de ymin e a
ima de ymax.
Se o segmento de reta n~ao pode ser trivialmente a
eito ou rejeitado, ele e dividido em dois segmentos
na aresta de re
orte. Ent~ao, um segmento e iterativamente re
ortado por testes de a
eita
~ao ou rejei
~ao
triviais e e ent~ao subdividido ate que permane
a
ompletamente dentro da janela de re
orte ou possa
ser trivialmente rejeitado.
O algoritmo possui dois passos. O primeiro e imediato: veri
a se o segmento de reta esta totalmente dentro ou totalmente fora da janela. Nesse
aso, o pro
edimento se en
erra. O segundo passo
e iterativo: re
orta su
essivamente o segmento, des
artando as partes que n~ao perten
em a janela.
O teste de rejei
~ao e implementado da seguinte forma: estendem-se as bordas da janela de forma
a dividir a regi~ao do desenho em nove subregi~oes,
omo mostrado na gura 9.3. A
ada uma dessas
regi~oes e asso
iado um
odigo de 4 bits.
1001 1000 1010
0001 0000 0010
0101 0100 0110
Figura 9.3: Codi
a
~ao de regi~oes.
114
Computa
c
ao Gr
afica
H
elio Pedrini
9.2.3
Algoritmo de Cyrus-Beck
Os algoritmos de re
orte apresentados anteriormente assumem que a janela de re
orte e uma area
poligonal retangular. Para muitos propositos, isso n~ao o
orre. Suponha que a janela de re
orte
retangular tenha sofrido uma rota
~ao
om respeito ao sistema de
oordenadas. Ent~ao, os algoritmos
dis
utidos anteriormente n~ao s~ao apli
aveis. Cyrus e Be
k desenvolveram um algoritmo de re
orte
para regi~oes
onvexas arbitrarias.
y
janela de recorte
x
Retornando ao algoritmo de Cohen-Sutherland para segmentos que n~ao podem ser trivialmente
a
eitos ou rejeitados, deve-se
al
ular a interse
~ao (x, y) de um segmento de reta
om uma aresta da
janela substituindo-se o valor
onhe
ido de x ou y pela aresta verti
al ou horizontal, respe
tivamente.
O algoritmo da reta parametri
a, entretanto, a
ha o valor do par^ametro t na representa
~ao parametri
a
do segmento de reta para o ponto no qual aquele segmento interse
ta a reta innita onde a aresta de
re
orte esta situada. Como todas as arestas de re
orte s~ao, em geral, interse
tadas pela reta, quatro
valores de t s~ao
al
ulados. Uma serie de
ompara
~oes simples e usada para determinar qual (se existir
algum) dos quatro valores de t
orrespondem as interse
~oes reais.
O algoritmo de Cyrus-Be
k e baseado na seguinte formula
~ao da interse
~ao entre duas retas. A
gura 9.5 mostra uma uni
a aresta Ei do ret^angulo de re
orte e sua normal externa Ni a aresta, assim
omo o segmento de reta de P1 a P2 que deve ser re
ortada na aresta. A aresta ou o segmento de reta
pode ser estendido para se a
har o ponto de interse
~ao.
A reta entre P1 e P2 pode ser parametri
amente representada
omo
P(t) = P1 + t(P2 P1)
(9.3)
Recorte
115
Aresta Ei
fora da regio
dentro da regio
de recorte
de recorte
PEi P(t) PE
Ni . [P(t) P ] > 0
Ei
P1
P2
Ni . [P(t) P ] < 0
Ei
Ni . [P(t) P ] = 0
Ei
Ni
ser determinado, um ponto extremo da reta no semi-plano interno da aresta e um ponto extremo da
reta no semi-plano externo da aresta. Pode-se distinguir em qual regi~ao um ponto estara lo
alizado
veri
ando-se o valor do produto es
alar Ni.[P(t) PEi ]. Este valor e negativo para um ponto no
semi-plano interno, zero para um ponto na reta
ontendo a aresta e positivo para um ponto que
esta lo
alizado no semi-plano exterior. As deni
~oes de semi-plano interno e externo de uma aresta
orrespondem a uma enumera
~ao anti-horaria das arestas da regi~ao de re
orte. Agora pode-se resolver
para qual valor de t na interse
~ao de P1P2
om a aresta
Ni.[P(t) PEi ] = 0
(9.4)
(9.5)
(9.6)
Ni.[P1 PEi ]
Ni.D
(9.7)
Note que isto da um valor valido de t apenas se o denominador da express~ao e diferente de zero.
Para isto ser verdadeiro, o algoritmo veri
a que
Ni 6= 0 (ou seja, a normal deveria ser diferente de 0)
D 6= 0 (ou seja, P2 6= P1)
Ni.D 6= 0 (ou seja, a aresta Ei e a reta de P1 a P2 n~ao s~ao paralelas. Se elas fossem paralelas,
n~ao haveria nenhuma interse ~ao para esta aresta, ent~ao o algoritmo iria para o proximo aso).
A equa
~ao 9.7 pode ser usada para en
ontrar as interse
~oes entre P1P2 e
ada aresta do ret^angulo de
re
orte. Esse
al
ulo e feito pela determina
~ao da normal e um PEi arbitrario (por exemplo, um ponto
extremo da aresta) para
ada aresta de re
orte, ent~ao usando estes valores para todos os segmentos
116
Computa
c
ao Gr
afica
H
elio Pedrini
de reta. Dados os quatro valores de t para um segmento de reta, o proximo passo e determinar qual
(se algum) dos valores
orrespondem as interse
~oes internas do segmento de reta
om as arestas do
ret^angulo de re
orte. Como um primeiro passo, qualquer valor de t fora do intervalo [0, 1] pode ser
des
artado, desde que ele
a fora de P1P2. Em seguida, pre
isa-se determinar se a interse
~ao
a na
borda de re
orte.
Formalmente, interse
~oes podem ser
lassi
adas
omo PE ou PL
om base no ^angulo entre P1P2
e Ni: se o ^angulo e menor do que 90 , a interse
~ao e PL; se ele e maior do que 90 , ele e PE. Essa
informa
~ao esta
ontida no sinal do produto es
alar de Ni e P1P2
Ni.D < 0 PE
Ni.D > 0 PL
(9.8)
Note que Ni.D e simplesmente o denominador da equa
~ao 9.7, o qual signi
a que, no pro
esso de
al
ulo de t, a interse
~ao pode ser trivialmente
lassi
ada. Com essa
onsidera
~ao, a reta 3 sugere
o passo nal do pro
esso. Deve-se es
olher um par (PE, PL) que dene a reta re
ortada. A por
~ao da
reta innita atraves de P1P2 que esta dentro da regi~ao de re
orte esta limitada pela interse
~ao PE
om o maior valor de t, denominado tE, e a interse
~ao PL
om menor valor de t, tL. O segmento
de reta da interse
~ao e denido ent~ao pelo intervalo tE, tL. Entretanto, desde que o interesse e na
interse
~ao P1P2, n~ao na reta innita, a deni
~ao do intervalo deve ser posteriormente modi
ado tal
que t = 0 seja um limite inferior para tE e t = 1 seja um limite superior para tL. E se tE > tL? Este e
exatamente o
aso da reta. Signi
a que nenhuma por
~ao de P1P2 esta dentro do ret^angulo de re
orte,
e toda a reta e rejeitada. Valores de tE e tL que
orrespondem as interse
~oes reais s~ao usadas para
al
ular as
oordenadas
orrespondentes x e y.
O pseudo
odigo 9.2 apresenta a te
ni
a de Cyrus-Be
k.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
pr
e-calcula Ni e seleciona um PEi para cada aresta
para cada segmento de reta a ser recortado {
if (P2 = P1 )
reta
e degenerada para um ponto
else {
tE = 0
tL = 1
para cada intersec
c~
ao candidata com a reta de recorte {
if (Ni . D 6= 0) {
calcula t
use sinal de Ni .D para classificar como PE ou PL
if (PE ) tE = max(tE , t)
if (PL ) tL = max(tL , t)
}
}
if (tE > tL )
return nil
else
return P(tE ) e P(tL ) como intersec
c~
oes de recorte
}
Recorte
117
Exemplo 9.1
P4(1,4)
Superior
P (7,3)
2
Direita
P (1,1)
7
P8(9,3)
P1(1,1)
P6(10,1)
10
Inferior
P3 (6,1)
P (6,2)
5
P7(1, 1)
P(t) = P7 + (P8 P7)t = (1, 1) + (10, 2)t = (10t 1)i + (2t + 1)j
Aresta
Esquerda
Direita
Inferior
Superior
i = (1, 0)
i = (1, 0)
j = (0, 1)
j = (0, 1)
(0, 0)
(8, 4)
(0, 0)
(8, 4)
(1, 1)
(9, 3)
(1, 1)
(9, 3)
-1
9
1
3
10 > 0
10 < 0
2>0
2 > 0
1/10
-1/2
P7P8
(9.9)
e visvel e
t2
9/10
3/2
9.2.4
Algoritmo de Nicholl-Lee-Nicholl
Em geral, a reta que suporta um dado segmento de reta P1P2 interse
ta todas as quatro arestas da
jeanela de re
orte; no maximo, duas dessas interse
~oes s~ao relevantes. Assumindo que a maioria da
sobre
arga
omputa
ional envolve en
ontrar essas interse
~oes, deve-se evitar
omputar interse
~oes
irrelevantes. Simetria reduz o problema a tr^es
asos basi
os, ilustrados na gura 9.7. Cal
ulos de
in
lina
~ao podem ser usados para identi
ar quais interse
o~es deveriam ser
omputadas.
P
Figura 9.7: Tr^es possveis posi o~es para um ponto P1 do segmento de reta no algoritmo de Ni holl-Lee-Ni holl.
118
Computa
c
ao Gr
afica
H
elio Pedrini
Regi~oes de re
orte formadas a partir de diferentes posi
~oes do ponto P1 para o algoritmo de
Ni
holl-Lee-Ni
holl s~ao mostradas na gura 9.8.
LT
L
P1
LR
R
P1
LB
(a)
(b)
P1
P1
T
TR
TR
L
L
LR
LB
LB
TB
( )
Figura 9.8: Casos para o algoritmo de Ni
holl-Lee-Ni
holl. (a) quatro regi~oes quando P1 esta dentro da janela
de re
orte; (b) quatro regi~oes de re
orte quando P1 esta a esquerda da janela de re
orte; (
) os dois possveis
onjuntos de regi~oes de re
orte quando P1 esta a
ima e a esquerda da janela de re
orte.
9.2.5
O algoritmo de re
orte de polgonos de Sutherland e Hodgman realiza o re
orte dos verti
es do polgono
utilizando
ada aresta da janela de re
orte.
O pseudo
odigo 9.3 apresenta a te
ni
a de Cyrus-Be
k. A fun
~ao computa interseccao retorna
o verti
e que e a interse
~ao entre o segmento de reta e o plano de re
orte. A fun
~ao saida adi
iona
um verti
e a uma lista.
Um exemplo para ilustrar o algoritmo de Sutherland-Hodgman e apresentado na gura 9.10.
9.2.6
Recorte
119
dentro
fora
fora
dentro
i
p
copiar i
copiar p
dentro
fora
fora
dentro
p
i
p
s
ignorar
copiar i, p
120
1
2
3
4
5
6
7
8
9
10
11
12
Computa
c
ao Gr
afica
H
elio Pedrini
vertex S = array[n];
for (i=1; i <= n; i++) {
vertex P = array[i];
if (P esta dentro do plano_recorte) {
if (S nao esta dentro do plano_recorte)
saida(computa_interseccao(S, P, plano_recorte));
saida(P);
}
else if (S esta dentro do plano_recorte)
saida(computa_interseccao(P, S, plano_recorte));
S = P;
}
ser re
ortado bus
ando bordas que englobam uma regi~ao preen
hida re
ortada. Ele en
ontra multiplas
regi~oes separadas (n~ao
onexas).
Um exemplo para ilustrar o algoritmo de Weiler-Atherton e apresentado na gura 9.11.
A
C
B
9.2.7
Recorte de Cohen-Sutherland 3D
as)
bit b4: se z > zmin (tr
bit b5: se z > zmax (frente)
Recorte
121
superior
trs
direita
esquerda
xmin = 1
ymin = 1
zmin = 1
xmax = 1
ymax = 1
zmax = 1
frente
inferior
9.3
Recorte de Texto
As prin ipais formas de re orte de texto s~ao ilustradas nas guras 9.13(a) a 9.13( ).
TEXTO1
TEXTO2
TEXTO2
(a)
TEXTO1
TEXTO1
TEXTO2
TEXTO2
(b)
TEXTO1
TEXTO1
TEXTO2
TEXTO2
(
)
string
string
Captulo 10
Modelagem Geom
etrica
A modelagem geometri
a visa a representa
~ao da geometria dos objetos. Normalmente, o objeto
e simpli
ado, tal que apenas suas
ara
tersti
as essen
iais s~ao representadas. As proximas se
~oes
apresentam as prin
ipais abordagens para modelagem geometri
a.
10.1
Modelos S
olidos
Algumas
ara
tersti
as desejaveis em um modelo de des
ri
~ao de solidos s~ao: o domnio do modelo
deve ser grande o su
iente para a des
ri
~ao de objetos representativos; a representa
~ao deve ser n~aoambgua (
ompleta), uni
a,
ompa
ta e pre
isa; n~ao permitir a
ria
~ao de uma representa
~ao invalida;
fa
ilidade na
ria
~ao de representa
~oes validas; deve permitir o uso de algoritmos e
ientes para
al
ulo
de propriedades fsi
as e gera
~ao de imagens.
Nas proximas se
~oes s~ao apresentados alguns modelos de representa
~ao de solidos, desta
ando-se
tanto seus aspe
tos de modelagem quanto de manipula
~ao dos solidos.
10.1.1
Instanciac
ao de Primitivas Puras
A representa
~ao de objetos por instan
ia
~ao de primitivas e uma das representa
~oes mais usadas
devido a sua grande simpli
idade e
exibilidade. Esse tipo de representa
~ao tem por base a deni
~ao
de objetos geometri
os tridimensionais (primitivas) que possuem atributos (par^ametros),
ujos valores
s~ao denidos pelo usuario no momento da
ria
~ao de uma nova inst^an
ia.
O
on
eito de par^ametro n~ao esta
onnado as dimens~oes. Assim, a primitiva pir^amide, por exemplo, pode ter
omo par^ametro o numero de fa
es laterais, alem de par^ametros tipi
amente geometri
os
omo altura e raio da sua base.
10.1.2
Enumerac
ao de Ocupac
ao Espacial
A representa
~ao por enumera
~ao de o
upa
~ao espa
ial subdivide o espa
o 3D em volumes pequenos
id^enti
os,
hamados voxels (a
r^onimo para elementos de volume, do ingl^es volume elements) que
juntos representam o volume o
upado pelo solido.
124
Computa
c
ao Gr
afica
H
elio Pedrini
Para representar um objeto,
lassi
a-se esse volume
omo vazio ou
ontendo um solido. Esta
representa
~ao e uma varia
~ao de o
trees em que o espa
o 3D e subdividido re
ursivamente em o
tantes
e
lassi
ado
omo
heio, vazio ou par
ialmente
heio.
A enumera
~ao de o
upa
~ao espa
ial e uni
a e n~ao ambgua, mas tem a falha de ser poten
ialmente
prolixa, devido a sua natureza enumerativa, ou seja, s~ao ne
essarios muitos elementos de volume. A
forma dos voxels impede a
orreta representa
~ao dos objetos, n~ao representando de forma exata as
fronteiras existentes em planos oblquos, ja que n~ao permite o
upa
~ao par
ial de voxels,
omo pode
ser visto na gura 10.1.
Figura 10.1: Exemplo de modelo de elipsoide
om furo
entral representado por enumera
~ao de o
upa
~ao
espa
ial. Nota-se pou
a pre
is~ao na des
ri
~ao da fronteira.
10.1.3
Decomposic
ao de C
elulas
O metodo de de
omposi
~ao de
elulas possui
omo base a representa
~ao do objeto nal atraves de
elementos primitivos parametri
os. A de
omposi
~ao do espa
o probe expressamente a interse
~ao e
imp~oe a justaposi
~ao das primitivas que partilham pontos, arestas ou fa
es. Esta e tambem a diferen
a
essen
ial entre a de
omposi
~ao do espa
o em
elulas e a instan
ia
~ao de primitivas puras. Um exemplo
de representa
~ao de um objeto atraves de de
omposi
~ao de
elulas e mostrado na gura 10.2.
A de
omposi
~ao de
elulas pare
e ser um re
urso e
iente de geometria para
al
ulos de propriedade de massa e para alguns tipos de problemas de planejamento, mas, em algoritmos gerais para
ria
~ao e
ombina
~ao, tal representa
~ao n~ao e disponvel, e a valida
~ao n~ao e trivial.
10.1.4
Varredura
A representa
~ao de solidos tridimensionais por varredura tem por base a des
ri
~ao do volume gerada
quando um objeto e deslo
ado segundo uma dada trajetoria e forma um dado volume. O exemplo
mais simples e o de um
r
ulo deslo
ado segundo uma trajetoria linear perpendi
ular ao
r
ulo. O
volume varrido resultante e um
ilindro obtido por transla
~ao.
Um pro
esso de fabri
a
~ao em que um material plasti
o e obrigado a passar por um
rivo
om um
orif
io
ir
ular produz um resultado id^enti
o. O material toma a forma de um
ilindro a sada do
rivo e o volume des
rito resulta de uma varredura por extrus~ao. Se o
r
ulo
onsiderado des
rever
uma trajetoria
ir
ular, o volume varrido pelo
r
ulo toma a forma de um torus, obtido por uma
Modelagem Geom
etrica
125
Figura 10.2: Representa
~ao de um solido por de
omposi
~ao em
elulas, apresentando tr^es solu
o~es distintas (a,
b e c) em que a solu
~ao c re
orre a uma u
ni
a primitiva.
varredura por rota
~ao. A gura 10.3 apresenta essas duas formas, alem de ilustrar a di
uldade da
representa
~ao por varredura em apli
ar
ertas opera
~oes a objetos.
Figura 10.3: Cr
ulo sobre trajetoria linear e
r
ulo sobre trajetoria
ir
ular. A uni~ao de volumes des
ritos por
varredura pode n~ao ser des
ritvel.
Em qualquer
aso, as varreduras produzem volumes
om propriedades geometri
as fa
eis de
al
ular. Essa situa
~ao
ompli
a-se um pou
o se as se
~oes bidimensionais que varrem os volumes apresentarem formas irregulares.
10.1.5
Representac
ao por Fronteiras
A modelagem geometri
a por fronteiras des
reve os objetos por meio das superf
ies que os limitam.
As superf
ies limitam os objetos mas n~ao indi
am que lado da superf
ie estes se en
ontram. Esta
distin
~ao e feita pela forma
omo
ada elemento da superf
ie e denido.
Em geral, pode-se
onsiderar a representa
~ao por limites (fronteira) em que os elementos das
superf
ies que a
onstituem podem assumir qualquer forma geometri
a, mas isto signi
a passar os
problemas derivados de formas
omplexas para
ada um dos elementos
onstituintes da fronteira. Um
exemplo de objeto representado por fronteiras pode ser visto na gura 10.4.
Dentre os varios tipos de representa
~ao de fronteira, algumas s~ao:
representa
~
ao por poliedros.
representa
~
ao por arestas estendidas ou arestas
om alas (winged-edge).
126
Computa
c
ao Gr
afica
H
elio Pedrini
representa
~
oes n~ao poliedri
as.
Figura 10.4: Exemplo de objeto representado por poliedro
om um furo que o atravessa
ompletamente e outro
furo que n~ao o atravessa. O poliedro tem um u ni
o
omponente e apresenta 36 arestas, 24 verti
es, 15 fa
es
(tr^es apresentam furos) e um furo que atravessa
ompletamente o poliedro.
10.1.6
Geometria S
olida Construtiva
A representa
~ao de objetos por geometria solida
onstrutiva (CSG)
onsiste em
riar representa
~oes
de objetos a partir de uma hierarquia de um
onjunto de opera
~oes Booleanas (uni~ao, interse
~ao, diferen
a) apli
ada a um
onjunto de formas simples,
hamadas primitivas. Os operandos das opera
~oes
Booleanas podem ser tanto primitivas
omo os objetos resultantes das opera
~oes anteriores.
Internamente, um objeto CSG pode ser representado
omo uma arvore binaria (arvore CSG),
ujos
nos folhas representam as primitivas solidas e os nos internos (
ompostos) representam as opera
~oes
Booleanas. Transforma
o~es podem ser armazenadas tanto nos nos folhas
omo nos nos internos.
Os nos internos representam os solidos par
iais resultantes da apli
a
~ao das opera
~oes Booleanas
asso
iadas a esses nos e aos dois subsolidos das arvores inferiores a esquerda e direita. O no raiz
representa o objeto
omposto resultante.
Varias te
ni
as da apli
a
~ao de CSG t^em sido
riadas para suprir algumas das de
i^en
ias que o
algoritmo apresentava em sua
on
ep
~ao. Alem disso, varias equipes de desenvolvimento t^em bus
ado
novas te
ni
as
ombinadas de CSG
om outros metodos de representa
~ao
omo B-Rep e varredura.
10.2
Fractais
Os fra
tais s~ao formas geometri
as que podem ser subdivididas em partes,
ada uma das quais e (pelo
menos aproximadamente) uma
opia reduzida do todo. Diz-se que os fra
tais t^em innitos detalhes,
s~ao geralmente auto-similares e independem de es
ala. Em muitos
asos um fra
tal pode ser gerado
por um padr~ao repetido, tipi
amente um pro
esso re
orrente ou iterativo.
Fra
tais apresentam dimens~ao fra
ionaria e s~ao uteis para des
rever as formas irregulares da superf
ie da terra, modelar fen^omenos aparentemente imprevisveis (teoria do
aos), de natureza meteorologi
a, astron^omi
a, biologi
a, entre outros.
Alguns exemplos de fra
tais in
luem o
onjunto de Mandelbrot, tri^angulo de Sierpinski,
urva de
drag~ao e
urva de Ko
h.
Modelagem Geom
etrica
127
Figura 10.5: Constru
~ao de um objeto por CSG a partir de objetos primitivos sujeitos a opera
o~es Booleanas e
transforma
o~es estruturadas hierarqui
amente.
(a)
(b)
( )
Figura 10.6: Exemplos de fra tais. (a) urva de Ko h; (b) tri^angulo de Sierpinski; ( ) o o de neve (Ko h).
10.3
Sistemas de Partculas
Sistema e denido por uma
ole
~ao de part
ulas que se desenvolvem ao longo do tempo. Os objetos
s~ao
ompostos de inumeros elementos \aut^onomos" e a evolu
~ao e determinada pela apli
a
~ao de
128
Computa
c
ao Gr
afica
H
elio Pedrini
ertas regras probabilsti
as as part
ulas. As part
ulas podem: gerar novas part
ulas, ganhar novos
atributos, desapare
er, mover-se de a
ordo
om leis de movimenta
~ao determinsti
as ou esto
asti
as.
A te
ni
a e utilizada para modelar objetos
omplexos, por exemplo, fogo, nevoeiro, fuma
a, agua,
explos~oes, fogos de artif
ios e arvores.
10.4
Modelos Fsicos
Objetos n~ao rgidos,
omo uma
orda, toalha ou bola de borra
ha, podem ser representados por
modelos fsi
os que des
revem o
omportamento do objeto em termos da intera
~ao de for
as internas
e externas.
Uma forma
omum para modelar objetos n~ao rgidos e aproximar o objeto
om uma rede de nos
om
onex~oes
exveis entre eles. Um tipo simples de
onex~ao e uma mola. Redes de molas similares
podem ser estabele
idas em 3D para modelar uma bola de borra
ha ou blo
o gelatinoso. Se quisermos
que o objeto tenha propriedades diferentes em determinadas regi~oes, podemos utilizar propriedades
de mola diferentes. Quando for
as externas s~ao apli
adas a uma rede de molas, o valor de esti
amento
ou
ompress~ao das molas depende do valor usado na
onstante k da mola.
Em vez de molas, pode-se modelar as
onex~oes entre nos
om materiais elasti
os e minimizar as
fun
~oes de energia para determinar a forma do objeto sob a in
u^en
ia de for
as externas.
Captulo 11
Modelos de Ilumina
c
ao
Modelos de ilumina
~ao s~ao usados para
al
ular a intensidade de luz per
ebida ao se observar uma
superf
ie. Esses
al
ulos de intensidade s~ao baseados nas propriedades opti
as das superf
ies, das
posi
~oes relativas das superf
ies e de sua orienta
~ao
om rela
~ao as fontes de luz.
11.1
Intensidade de Luz
A intensidade de luz vista em
ada superf
ie do objeto depende do tipo de fonte de luz na vizinhan
a
e das
ara
tersti
as da superf
ie do objeto. Alguns objetos t^em superf
ies brilhantes, outros t^em
superf
ies fos
as. Alem disso, alguns objetos s~ao
onstrudos de material opa
o, enquanto outros
s~ao mais transparentes. Um modelo de ilumina
~ao para produzir intensidades
om realismo sobre as
superf
ies de um objeto deve levar em
onta varias propriedades.
11.1.1
Fontes de Luz
Quando um objeto e obesrvado, v^e-se a intensidade de luz re
etida das superf
ies do objeto. A luz
re
etida das superf
ies pode ser proveniente de varias fontes de luz ao redor do objeto. Se o objeto
e transparente, vemos tambem a luz de fontes que podem estar atras do objeto.
Fontes de luz que iluminam um objeto s~ao de dois tipos basi
os: fontes emissoras e fontes
re
etoras (gura 11.1). Fontes emissoras de luz in
luem l^ampadas e o sol. Fontes re
etoras de luz
s~ao superf
ies iluminadas por outros objetos,
omo paredes de uma sala que est~ao proximas ao objeto
sendo visualizado. Uma superf
ie que n~ao esta diretamente exposta a fonte emissora de luz ainda sera
visvel se objetos proximos forem iluminados. As multiplas re
ex~oes de luz de
ada objeto proximo
se
ombinam para produzir uma ilumina
~ao uniforme
hamada luz ambiente.
Quando as dimens~oes de uma fonte de luz s~ao pequenas
omparadas
om o tamanho de um objeto,
pode-se modela-la
om uma fonte pontual. Essa aproxima
~ao e usada para muitas fontes,
omo o sol,
que esta su
ientemente distante do objeto. Em outros
asos, tem-se uma fonte de luz distribuda.
Isto o
orre quando se tem uma fonte grande, tal
omo uma luz
uores
ente,
uja area n~ao pode ser
onsiderada innitamente pequena
omparada ao tamanho do objeto iluminado. A gura 11.2 ilustra
esses dois tipos de fontes de luz.
130
Computa
c
ao Gr
afica
H
elio Pedrini
fonte pontual
emissora de luz
Um modelo de ilumina
~ao para
al
ular a intensidade de luz re
etida de uma superf
ie pode ser
determinado
onsiderando-se
ontribui
~oes das fontes de luz ambiente e fontes pontuais ou distribudas
na vizinhan
a da superf
ie. Essas fontes produzem re
ex~oes de luz que s~ao espalhadas em todas as
dire
~oes. Esta luz espalhada e
hamada re
ex~ao difusa e e resultante da rugosidade da superf
ie.
Uma superf
ie fos
a produz re
ex~oes difusas tal que a superf
ie aparenta estar igualmente iluminada
a partir de todas as dire
~oes de observa
~ao. Na re
ex~ao espe
ular, raios paralelos que in
idem
na superf
ie
ontinuam paralelos apos a re
ex~ao. A re
ex~ao espe
ular produz regi~oes brilhantes
(highlights ou bright spots) na suprf
ie dos objetos. Esse efeito e mais pronun
iado em superf
ies
brilhantes do que em superf
ies fos
as. Esses dois tipos de re
ex~ao s~ao mostrados na gura 11.3.
Modelos de Ilumina
c
ao
131
Para objetos transparentes, pode-se expandir o modelo de re
ex~ao para in
luir efeitos de transmiss~ao de luz. Assim
omo na re
ex~ao, tanto transmiss~ao de luz difusa quanto espe
ular podem
o
orrer.
11.1.2
Luz Ambiente
Como a luz ambiente e o resultado de multiplas re
ex~oes de objetos proximos, pode-se
onsidera-la
omo de intensidade uniforme Ia em todas as dire
~oes. Quando a luz ambiente e re
etida de uma
superf
ie, ela produz uma ilumina
~ao uniforme da superf
ie em qualquer posi
~ao de observa
~ao da
qual a superf
ie e visvel. Se a superf
ie e exposta apenas a luz ambiente, pode-se expressar a sua
intensidade em qualquer ponto da superf
ie
omo
I = Kd Ia
(11.1)
em que Kd e o
oe
iente de re
ex~ao ou re
etividade da superf
ie,
ujo valor varia entre 0 e 1, de
a
ordo
om as propriedades de re
ex~ao da superf
ie. Superf
ies altamente re
exivas t^em re
etividade
proxima a 1, tal que a intensidade de luz re
etida e proxima da luz in
idente. Superf
ies que absorvem
a maior parte da luz in
idente t^em re
etividade proxima de 0.
11.1.3
Reflex
ao Difusa
Raramente superf
ies s~ao iluminadas apenas
om luz ambiente. Um modelo de ilumina
~ao que
al
ula
intensidades de a
ordo
om a equa
~ao 11.1 exibiria todas as superf
ies visveis de um objeto
om a
mesma intensidade. Um modelo mais real e obtido in
luindo-se os efeitos de fontes de luz no modelo
de ilumina
~ao.
O
al
ulo de re
ex~ao difusa de uma fonte pontual de luz e baseado na lei do
osseno de Lambert,
a qual estabele
e que a intensidade de luz re
etida depende do ^angulo de ilumina
~ao. Uma superf
ie
que e perpendi
ular a dire
~ao da luz in
idente apare
e mais brilhante do que uma superf
ie que tem
um ^angulo em rela
~ao a dire
ao de luz in
idente. Quando o ^angulo aumenta, menos luz in
idente
atinge a superf
ie,
omo mostrado na gura 11.4. A gura mostra um grupo de raios de luz paralelos
in
identes em duas superf
ies
om orienta
~oes diferentes relativas a dire
~ao de luz in
idente de uma
fonte distante.
Uma fonte de luz que esta mais proxima a superf
ie, entretanto, produz raios de luz in
identes
que n~ao s~ao paralelos (gura 11.5). Para simpli
ar os
al
ulos no modelo, assume-se que
ada fonte
pontual em uma
ena esta su
ientemente distante da superf
ie, tal que os raios de luz da fonte s~ao
132
Computa
c
ao Gr
afica
H
elio Pedrini
paralelos quando atingem a superf
ie. Posteriormente, extens~oes ser~ao
onsideradas para modelar
outros tipos de fontes.
superfcie
Pode-se des
rever a orienta
~ao de uma superf
ie
om um vetor normal N e a dire
~ao da fonte de
luz
om um vetor unitario L. O ^angulo entre esses dois vetores e
hamado de ^angulo de in
id^en
ia
(gura 11.6) e a lei do
osseno de Lambert estabele
e que a intensidade de luz re
etida e propor
ional
ao valor de
os(). Pode-se
al
ular
os() pelo produto es
alar entre esses dois vetores unitarios
(11.2)
os() = N L
N
L
superfcie
^
Figura 11.6: Angulo
de in
id^en
ia.
Uma superf
ie e iluminada por uma fonte pontual apenas se o ^angulo de in
id^en
ia estiver entre
0 e 90 (
os() esta no intervalo de 0 a 1). Quando
os() e negativo, a fonte de luz esta \atras" da
superf
ie.
esperado que o brilho de uma superf
ie iluminada dependa da dist^an
ia a fonte de luz, uma vez
E
que fontes mais distantes s~ao mais fra
as do que as mais proximas. Esse fen^omeno,
onhe
ido
omo
atenua
~ao, pode ser modelado usando-se um fator para reduzir o efeito da
ontribui
~ao da fonte de
luz de a
ordo
om a dist^an
ia ao objeto. O fator de atenua
~ao e
al
ulado
omo
fat =
1
c1 + c2d + c3d2
(11.3)
em que d e a dist^an
ia da luz ao objeto. Os valores c1, c2 e c3 s~ao os fatores de atenua
~ao
onstante,
linear e quadrati
a, respe
tivamente.
Assim, a intensidade da re
ex~ao difusa nessa posi
~ao da superf
ie pode ser modelada
omo
I=
Kd Ip
os()
Kd Ip N L
=
2
c1 + c2d + c3d
c1 + c2d + c3d2
0 /2
(11.4)
Modelos de Ilumina
c
ao
133
Kd Ip
(N L)
c1 + c2d + c3d2
(11.5)
Se mais do que uma fonte pontual for in
luda na
ena, a equa
~ao 11.5 e expandida para in
luir
termos para as fontes de luz adi
ionais.
11.1.4
Reflex
ao Especular
Para
ertos ^angulos de observa
~ao, uma superf
ie brilhante re
ete toda luz in
idente, independentemente de valores de re
etividade. Esse fen^omeno,
hamado re
ex~ao espe
ular, produz uma regi~ao
(spot) de luz re
etida que tem a mesma
or da luz in
idente. Normalmente, objetos s~ao iluminados
om luz bran
a, tal que a re
ex~ao espe
ular e uma regi~ao (spot) bran
a brilhante.
Para um re
etor ideal (espelho perfeito), o ^angulo de in
id^en
ia e o ^angulo de re
ex~ao espe
ular
s~ao iguais (gura 11.7). Usa-se o vetor unitario R para representar a dire
~ao da re
ex~ao espe
ular.
O vetor unitario V aponta na dire
~ao do observador e o vetor unitario L aponta para a fonte de luz.
Re
ex~ao espe
ular pode ser vista
omo um re
etor perfeito apenas quando V e R
oin
idem ( = 0).
N
L
R
V
superfcie
Objetos reais exibem re
ex~ao espe
ular sobre um intervalo de posi
o~es sobre o vetor R. Superf
ies
brilhantes t^em um intervalo de re
ex~ao estreito, enquanto superf
ies fos
as t^em um intervalo de
re
ex~ao mais largo. Modelos de re
ex~ao espe
ular devem produzir a maior intensidade na dire
~ao de
R,
om o de
res
imo rapido de intensidade quando o ^angulo de observa
~ao aumenta.
Um metodo para modelar re
ex~ao espe
ular, desenvolvido por Phong,
onsidera a intensidade de
re
ex~ao espe
ular propor
ionalmente ao valor de
osn(). O valor atribudo a n determina o tipo
de superf
ie a ser visualizada. Uma superf
ie muito brilhante e modelada
om um valor alto de n
(200 ou mais) e valores baixos (menores do que 1) s~ao usados para superf
ies mais fos
as. Para um
perfeito re
etor, n e innito. Uma superf
ie rugosa pode ter valor proximo de 1. O efeito de n no
intervalo angular para a re
ex~ao espe
ular de observa
~ao e mostrada na gura 11.8.
Re
ex~ao espe
ular tambem depende do ^angulo de in
id^en
ia. Em geral, a intensidade aumenta
quando o ^angulo de in
id^en
ia aumenta. Esse efeito e in
orporado ao modelo de re
ex~ao espe
ular
denindo-se a intensidade propor
ional a fun
~ao de re
ex~ao W(), tal que o modelo de re
ex~ao
134
Computa
c
ao Gr
afica
H
elio Pedrini
N
N
L
superfcie fosca
superfcie brilhante
Figura 11.8: Re ex~ao espe ular. (a) superf ie brilhante (n alto); (b) superf ie fos a (n baixo).
Ip
[Kd (N L) + W()
osn ]
c1 + c2d + c3d2
(11.6)
A forma fun
ional para W() depende do material da superf
ie. Alguns materiais,
omo vidro,
exibem muito pou
a re
ex~ao espe
ular em ^angulos menores de in
id^en
ia mas aumentam a intensidade
da re
ex~ao espe
ular quando se aproxima de 90 . Para esses materiais, W deveria variar de um
valor proximo de 0 ate um valor 1, quando o ^angulo de in
id^en
ia varia de 0 a 90 . Alguns materiais
t^em re
ex~ao espe
ular aproximadamente
onstante para todos os ^angulos de in
id^en
ia, tal que W
poderia ser um valor
onstante no intervalo de 0 a 1.
Como V e R s~ao vetores unitarios nas dire
~oes de visualiza
~ao e re
ex~ao, pode-se assumir
os =
V R na equa
~ao 11.6. Tambem, para muitas apli
a
~oes, pode-se simpli
ar os
al
ulos de intensidade
se W() for
onsiderado um valor
onstante k para a superf
ie. O modelo de intensidade
ompleto
para re
ex~ao, devido a luz ambiente e uma uni
a fonte pontual, pode ser rees
rita
omo
I = KdIa +
Ip
[Kd (N L) + Ks(V R)n]
c1 + c2d + c3d2
(11.7)
Neste modelo, valores
onstantes s~ao atribudos aos par^ametros Kd, Ks e d0 para
ada superf
ie
iluminada. Valores de intensidade para a luz ambiente e para as fontes pontuais s~ao espe
i
ados, bem
omo valores para os vetores unitarios s~ao estabele
idos. Para
ada ponto na superf
ie iluminada,
al
ula-se os produtos es
alares relevantes e determina-se a intensidade da luz re
etida.
Se a fonte pontual estiver distante da superf
ie planar, o produto es
alar N L sera aproximadamente
onstante sobre a superf
ie. De maneira similar, se o ponto de observa
~ao estiver su
ientemente distante da superf
ie, o produto N R sera
onstante. Quando essas simpli
a
o~es puderem
ser feitas, o numero de
al
ulos sera signi
ativamente reduzido. Se uma ou ambas as simpli
a
~oes
n~ao puderem ser feitas, produtos es
alares dever~ao ser avaliados em
ada ponto. Como e esperado que
os valores para esses produtos n~ao se alterem signi
ativamente de um ponto para outro, metodos de
oer^en
ia podem ser usados para
al
ular os produtos es
alares ao longo de uma linha de varredura.
Os vetores L e N podem ser usados para determinar o vetor R para o
al
ulo de
os()
R = N(2N L) L
(11.8)
Modelos de Ilumina
c
ao
135
V+L
|V + L|
(11.9)
A express~ao V R na equa
~ao 11.7 e ent~ao substituda por B N,
ujo ^angulo entre B e N e
/2 (gura 11.9).
B
R
V
superfcie
Outros metodos para modelar intensidades de luz t^em sido desenvolvidos. Uma te
ni
a, desenvolvida por Torran
e e Sparrow e adaptada para apli
a
o~es gra
as por Blinn, divide
ada superf
ie da
ena em um
onjunto de fa
es planas pequenas. Assume-se que
ada uma das fa
es e um re
etor ideal
e as fa
es s~ao orientadas aleatoriamente sobre a superf
ie total. Uma distribui
~ao Gaussiana e usada
para espe
i
ar a orienta
~ao de
ada plano. A re
ex~ao espe
ular para a superf
ie e
al
ulada
omo a
ontribui
~ao total dos planos
omo uma fun
~ao da intensidade Ip de uma fonte pontual distante e os
vetores N, V e L.
11.1.5
Luz Refratada
Quando um objeto transparente e modelado, as equa
o~es de intensidade devem ser modi
adas para
in
luir
ontribui
o~es das fontes de luz atras dos objetos. Em muitos
asos, estas fontes s~ao superf
ies
que re
etem luz de outros objetos. Luz re
etida dessas superf
ies passa atraves de objetos transparentes e modi
a a intensidade do objeto sendo modelado,
omo
al
ulado pela equa
~ao 11.6 ou 11.7.
Luz passando atraves de uma superf
ie e
hamada de luz transmitida ou luz refratada.
Tanto re
ex~ao difusa quanto refra
~ao espe
ular podem o
orrer nas superf
ies de um objeto. Efeitos
difusos s~ao importantes quando uma superf
ie par
ialmente transparente,
omo vidros translu
idos,
pre
isa ser modelada. A luz passando atraves desses materiais e dispersa tal que uma imagem borrada
de objetos de fundo e obtida. Refra
~oes difusas podem ser geradas pela diminui
~ao da intensidade
de luz refratada e
ontribui
~oes de intensidade dispersas em
ada ponto da superf
ie de refra
~ao em
uma area nita. Essas manipula
~oes demandam tempo e muitos modelos empregam apenas efeitos
espe
ulares.
Modelos realsti
os de materiais transparentes,
omo vidro, podem ser desenvolvidos para adi
ionar
ontribui
~oes de refra
~ao espe
ular para os
al
ulos de intensidade re
etida. Quando a luz e in
idente
sobre uma superf
ie transparente, parte dela e re
etida e parte e refratada (gura 11.10). Como a
velo
idade da luz varia em diferentes materiais, o
aminho da luz refratada e diferente do
aminho
da luz in
idente. A dire
~ao da luz refratada, espe
i
ada pelo ^angulo de refra
~ao, e uma fun
~ao
136
Computa
c
ao Gr
afica
H
elio Pedrini
do ndi
e de refra
~ao do material. Espe
i
amente, o ^angulo de refra
~ao r e
al
ulado a partir do
^angulo de in
id^en
ia i, do ndi
e de refra
~ao ni do material de fora da superf
ie (normalmente ar)
e do ndi
e de refra
~ao nr do material de superf
ie de a
ordo
om a lei de refra
~ao
ni sen(i) = nr sen(r)
(11.10)
N
luz
incidente
luz
refletida
i
ni
nr
superfcie
r
luz
refratada
Figura 11.10: Um raio de luz in idente sobre uma superf ie e par ialmente re etido e par ialmente refratado.
De fato, o ndi
e de refra
~ao de um material e fun
~ao do
omprimento de onda da luz in
idente, tal
que os
omponentes de
or diferentes de uma raio de luz ser~ao refratados em ^angulos diferentes. Para
muitas apli
a
~oes, pode-se usar um ndi
e medio de refra
~ao para materiais diferentes modelados na
ena. O ndi
e do ar e aproximadamente 1 e do vidro e aproximadamente 1.5. O uso desses valores na
equa
~ao 11.10,
om um ^angulo de in
id^en
ia de 30 , resulta um ^angulo de refra
~ao de aproximadamente
18 . A gura 11.11 ilustra a mudan
a na dire
~ao de um raio de luz refratado atraves de uma objeto
de vidro.
Ar
Vidro Ar
luz incidente
11.2
M
etodos de Sombreamento de Superfcie
Um modelo de intensidade pode ser apli
ado ao sombreamento da superf
ie de varias maneiras,
dependendo do tipo de superf
ie e dos requisitos de apli
a
~ao em quest~ao. Objetos
om superf
ies
plana podem, eventualmente, ser sombreados realisti
amente
om uma uni
a intensidade para
ada
superf
ie. Para uma superf
ie
urva, pode-se apli
ar o modelo de intensidade para
ada ponto da
superf
ie. Isto pode produzir um resultado altamente realsti
o, entretanto, o pro
esso demanda
Modelos de Ilumina
c
ao
137
elevado tempo
omputa
ional. Para a
elerar os
al
ulos de intensidade, uma superf
ie
urva poderia
ser representada
om um
onjunto de fa
es poligonais, tal que o modelo de sombreamento seria apli
ado
a
ada fa
e. Cada uma dessas superf
ies poligonais poderia ent~ao ser sombreada
om intensidade
onstante ou
om intensidade variavel
al
ulada por interpola
~ao.
11.2.1
Intensidade Constante
Sob
ertas
ondi
o~es, um objeto
om superf
ies planas pode ser sombreado realisti
amente usando
intensidades
onstantes. Para uma superf
ie iluminada por uma fonte pontual, o modelo de sombreamento produz uma intensidade de superf
ie
onstante, assumindo-se que a fonte pontual e o ponto
de refer^en
ia de observa
~ao estejam su
ientemente longe da superf
ie. Quando a fonte pontual esta
distante da superf
ie, n~ao ha mudan
a na dire
~ao da fonte (N L e
onstante). De forma similar, a
dire
~ao para um ponto de observa
~ao distante n~ao mudara sobre a superf
ie, tal que R e
onstante.
Uma superf
ie
urva representada
om um
onjunto de fa
es planas pode ser sombreada
om
intensidades de superf
ie
onstante se as fa
es subdividindo a superf
ie forem su
ientemente pequenas. Isto pode gerar uma apresenta
~ao razoavelmente boa em muitas situa
~oes, espe
ialmente quando
a
urvatura da superf
ie varia gradualmente e as fontes de luz e as posi
~oes de observa
~ao est~ao
distantes da superf
ie. A gura 11.16(a) mostra um objeto modelado
om intensidade
onstante.
Com este metodo, a intensidade e
al
ulada no ponto interior de
ada fa
e e a superf
ie inteira e
sombreada
om a intensidade
al
ulada. Quando a orienta
~ao entre fa
es adja
entes muda abruptamente, a diferen
a nas intensidades da fa
e pode produzir um efeito n~ao realsti
o. Pode-se suavizar
as des
ontinuidades de intensidade nesses
asos variando-se a intensidade sobre
ada fa
e de a
ordo
om um esquema de interpola
~ao.
11.2.2
Sombreamento de Gouraud
Este esquema de interpola
~ao, desenvolvido por Gouraud, remove des
ontinuidades de intensidade
entre fa
es adja
entes de uma representa
~ao de superf
ie variando-se linearmente a intensidade sobre
ada fa
e, tal que os valores de intensidade s~ao suaves nas fronteiras do plano. Neste metodo, valores
de intensidade ao longo de
ada linha de varredura passando atraves de uma superf
ie s~ao interpolados
a partir das intensidades nos pontos de interse
~ao
om a superf
ie.
A gura 11.12 ilustra o esquema de sombreamento de Gouraud. Valores de intensidade nos verti
es
de
ada polgono s~ao determinados a partir de um modelo de ilumina
~ao
omo des
rito, por exemplo,
na equa
~ao 11.7. Todas as outras intensidades da superf
ie s~ao ent~ao
al
uladas
om base nesses
valores.
Na gura, a intensidade na interse
~ao esquerda da linha de varredura
om o polgono (ponto 4)
e interpolado a partir das intensidades no verti
e 1 e 2
om o
al
ulo
I4 = I1
y1 yv
yv y2
+ I2
y1 y2
y1 y2
(11.11)
Nesse exemplo, a intensidade no ponto 4 tem um valor que esta mais proximo da intensidade do
ponto 1 do que do ponto 2. De maneira similar, a intensidade na interse
~ao direita da varredura
138
Computa
c
ao Gr
afica
H
elio Pedrini
3
1
linha de varredura (y v)
Figura 11.12: Sombreamento de Gouraud: o valor de intensidade no ponto 4 e determinado a partir dos valores
de intensidade nos pontos 1 e 2; a intensidade no ponto 6 e determinada a partir dos valores nos pontos 2 e 3;
as intensidades nos outros pontos (tal
omo 5) ao longo da linha de verredura s~ao interpolados entre valores
nos pontos 4 e 6.
y3 yv
yv y2
+ I2
y3 y2
y3 y2
(11.12)
Uma vez que as intensidades nesses pontos da extremidade de uma linha de varredura sejam
determinados, um ponto interior (tal
omo ponto 5) e interpolado
omo
I5 = I4
x6 xv
xv x4
+ I6
x6 x4
x6 x4
(11.13)
Esse pro
esso e repetido para
ada linha que passa pelo polgono. No metodo de Gouraud, normais
a superf
ie devem primeiro ser aproximadas em
ada verti
e do polgono. Isto e realizado
al
ulandose a media das normais da superf
ie para
ada polgono
ontendo o verti
e, ou seja
n
X
Ni
(11.14)
i=1
NV =
k
n
X
i=1
Nik
N1
NV
N3
N5
N4
Figura 11.13: O vetor normal no verti
e P e
al
ulado
omo a media das normais para
ada fa
e, NV =
(N1 + N2 + N3 + N4 + N5 )/5.
Modelos de Ilumina
c
ao
139
Esses vetores normais s~ao ent~ao usados no modelo de sombreamento para gerar os valores de
intensidade dos verti
es. Quando uma
or e usada para sombrear uma superf
ie, a intensidade de
ada
omponente de
or e
al
ulada nos verti
es. Um exemplo de objeto sombreado
om o metodo
de Gouraud e mostrado na gura 11.16(b).
Para reduzir o
usto
omputa
ional, as equa
~oes 11.11 a 11.13 s~ao normalmente implementadas
omo
al
ulos in
rementais. A intensidade de um pixel pode ser
al
ulada a partir do pixel anterior
de a
ordo
om o in
remento de intensidade
Iv =
x
(I6 I4)
x6 x4
Iv,n = Iv,n1 + Iv
(11.15)
(11.16)
Sombreamento de Phong
y4 y2
y1 y4
+ N2
y1 y2
y1 y2
(11.17)
N6 = N3
y6 y2
y3 y6
+ N2
y3 y2
y3 y2
(11.18)
N5 = N4
x6 x5
x5 x4
+ N6
x6 x4
x6 x4
(11.19)
Dessa forma, um vetor normal para
ada ponto ao longo da linha de varredura e interpolado
e ent~ao utilizado no
al
ulo da intensidade. Um exemplo de objeto sombreado
om o metodo de
Phong e mostrado na gura 11.16(
). O metodo de Phong produz resultados mais pre
isos do que o
sombreamento de Gouraud, entretanto, requer
onsideravelmente mais
al
ulos.
11.3
Exemplos de Cenas
140
Computa
c
ao Gr
afica
H
elio Pedrini
3
1
linha de varredura
Modelos de Ilumina
c
ao
141
Figura 11.17:
Wireframe.
142
Computa
c
ao Gr
afica
H
elio Pedrini
Modelos de Ilumina
c
ao
143
144
Computa
c
ao Gr
afica
Figura 11.24: Modelo de ilumina ~ao aperfei oado e multiplas fontes de luz.
H
elio Pedrini
Modelos de Ilumina
c
ao
145
146
Computa
c
ao Gr
afica
11.4
Comandos Relacionados `
a Ilumina
c
ao em OpenGL
11.4.1
Definic
ao de fonte de luz
H
elio Pedrini
Para
ada fonte de luz, pode-se atribuir
omponentes RGB difusa, espe
ular e de ambiente, bem
omo
suas posi
~oes:
GL float diffuse0[]={1.0, 0.0, 0.0, 1.0};
GL float ambient0[]={1.0, 0.0, 0.0, 1.0};
GL float specular0[]={1.0, 0.0, 0.0, 1.0};
Glfloat light0_pos[]={1.0, 2.0, 3,0, 1.0};
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glLightv(GL_LIGHT0, GL_POSITION, light0_pos);
glLightv(GL_LIGHT0, GL_AMBIENT, ambient0);
glLightv(GL_LIGHT0, GL_DIFFUSE, diffuse0);
glLightv(GL_LIGHT0, GL_SPECULAR, specular0);
O fator de atenua
~ao 1/(c1 + c2d + c2d2) default tem
omo par^ametros: c1 = 0, c2 = 0 e c3 = 0,
ou seja, n~ao ha atenua
~ao. Esses par^ametros podem ser alterados, por exemplo:
glLightf(GL_LIGHT0, GL_CONSTANT_ATTENUATION, 0.80);
glLightf(GL_LIGHT0, GL_LINEAR_ATTENUATION, 0.75);
glLightf(GL_LIGHT0, GL_QUADRATIC_ATTENUATION, 0.32);
11.4.2
Propriedades de Material
11.4.3
Sombreamento Poligonal
Bibliografia