Workshop rio criativo de business model luz consultoria
Apostila de computação gráfica (2006)
1. Apostila de Computa¸˜o Gr´fica
ca a
Agma Juci Machado Traina
Maria Cristina Ferreira de Oliveira
16 de maio de 2006
2. Resumo
Este ´ o material utilizado no Instituto de Ciˆncias matem´ticas e de Computa¸˜o da USP-S˜o Carlos
e e a ca a
para as disciplinas de computa¸˜o gr´fica ministradas pelas Profa. Dra. Agma Juci Machado Traina e
ca a
Profa. Dra. Maria Cristina Ferreira de Oliveira.
6. Lista de Figuras
1.1 Relacionamento entre as 3 sub´reas da Computa¸˜o Gr´fica. . . . . . . . . . . . . . . . .
a ca a 8
1.2 Esquema b´sico de um hardware de computa¸˜o gr´fica. . . . . . . . . . . . . . . . . . . .
a ca a 12
1.3 Sistemas de coordenadas e suas transforma¸˜es. . . . . . . . . . . . . . . . . . . . . . . . .
co 13
2.1 Estrutura interna de um CRT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2 Convers˜o Digital-Anal´gica para Visualiza¸˜o num CRT. . . . . . . . . . . . . . . . . . .
a o ca 16
2.3 Uma seq¨ˆncia de bits na mem´ria de imagem ´ convertida para uma seq¨ˆncia de pixels
ue o e ue
na tela. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4 Representa¸˜o esquem´tica de uma imagem matricial e sua representa¸˜o num frame buffer.
ca a ca 18
2.5 Varredura por rastreio fixo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.6 Representa¸˜o esquem´tica de um CRT por varredura colorido. . . . . . . . . . . . . . . .
ca a 19
2.7 Organiza¸˜o de uma v´
ca ıdeo look-up table. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.1 Representa¸˜o de segmentos de reta horizontais, verticais e diagonais. . . . . . . . . . . .
ca 23
3.2 Reflex˜o de uma imagem com rela¸˜o a um eixo diagonal. . . . . . . . . . . . . . . . . . .
a ca 24
3.3 Rota¸˜o de 90o obtida atrav´s de 2 reflex˜es, uma horizontal (a) e outra na diagonal (b).
ca e o 24
3.4 Convers˜es matriciais de um segmento de reta resultante de diferentes crit´rios. . . . . . .
o e 25
3.5 Imagens de segmentos de reta convertidos pelo crit´rio expl´
e ıcito acima. . . . . . . . . . . . 26
3.6 Grade de pixels para o Algoritimo o Ponto-M´dio (M) e as escolhas E e NE. . . . . . . . .
e 27
3.7 Grade de pixels para o Algoritimo o Ponto-M´dio (M) e as escolhas E e NE. . . . . . . . .
e 29
3.8 Um arco de 1 de circunferˆncia, obtido variando-se x em incrementos unit´rios, e calcu-
4 e a
lando e arrendondando y. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.9 Oito pontos sim´tricos em uma circunferˆncia. . . . . . . . . . . . . . . . . . . . . . . . .
e e 31
3.10 Malha de pixels para o Algoritmo do Ponto-M´dio para circunferˆncias, ilustrando a escolha
e e
entre os pixels E e SE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.11 Segundo octante da circunferˆncia gerado com o algor´
e ıtimo do Ponto-M´dio e primeiro
e
octante gerado por simetria. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.12 Elipse padr˜o centrada na origem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
a 36
3.13 As duas regi˜e adotadas, definidas pela tangente a 45o . . . . . . . . . . . . . . . . . . . . .
o 36
3.14 Segmento de reta renderizado com o algor´ ıtmo do ponto m´dio em diferentes escalas. (a)
e
´ uma aplia¸˜o da regi˜o central de (b). . . . . . . . . . . . . . . . . . . . . . . . . . . . .
e ca a 38
3.15 Segmento de reta definido com uma espessura diferente de zero. . . . . . . . . . . . . . . . 39
3.16 A intensidade do pixel ´ proporcional ` area coberta. . . . . . . . . . . . . . . . . . . . . .
e a 39
3.17 Filtro definido por um cubo para um pixel definido por um quadrado. . . . . . . . . . . . 40
3.18 Filtro cˆnico com diˆmetro igual ao dobro da largura de um pixel. . . . . . . . . . . . . .
o a 40
4.1 Esta figura ilustra o processo de linha de varredura para um pol´ ıgono arbitr´rio. As
a
intersec¸˜es da linha de varredura 8 com os lados FA e CD possuem coordenadas inteiras,
co
enquanto as intersec¸˜es com os lados EF e DE possuem coordenadas reais. . . . . . . . .
co 43
4.2 Linhas de varredura em um pol´ ıgno. Os extremos em preto, e os pixels no interior em
cinza. (a) Extremo calculado pelo algoritmo do ”Meio-Ponto”. (b) Extremo interior ao
pol´
ıgno. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.3 Tratamento dos lados horizontais de um pol´ ıgono. . . . . . . . . . . . . . . . . . . . . . . 45
4.4 Exemplo de uma convers˜o matricial de um Sliver . . . . . . . . . . . . . . . . . . . . . .
a 46
4.5 ET para o pol´ıgono de Figura 4.1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.6 AET para o pol´ ıgono da Figura 4.1 a) linha de varredura 9 b) linha de varredura 10. Note
que a coordenada x da aresta DE em (b) foi arredondada para cima.. . . . . . . . . . . . . 48
5.1 Transla¸˜o de uma casa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ca 51
5.2 Mudan¸a de escala de uma casa. Como a escala ´ n˜o uniforme, sua propor¸˜o ´ alterada.
c e a ca e 51
5
7. 5.3 Esta figura mostra a rota¸˜o da casa por 45◦ . Da mesma forma que para a escala, a rota¸˜o
ca ca
tamb´m ´ feita em rela¸˜o a origem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
e e ca 52
5.4 Derivando a equa¸˜o de rota¸˜o. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ca ca 52
5.5 O espa¸o de Coordenadas Homogˆneas XY W , com o plano W = 1 e o ponto P (X, Y, W )
c e
projetado sobre o plano W = 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.6 Um cubo unit´rio ´ rodados 45 graus, posteriormente escalado n˜o uniformemente. Obtem-
a e a
se dessa forma uma transforma¸˜o afim. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ca 54
5.7 Reflex˜o de um objeto em torno do eixo x. . . . . . . . . . . . . . . . . . . . . . . . . . .
a 55
5.8 Reflex˜o de um objeto em torno de um eixo perpendicular ao plano xy, passando pela origem.
a 56
5.9 Rota¸˜o em rela¸˜o ao Ponto P 1, por um ˆngulo θ. . . . . . . . . . . . . . . . . . . . . . .
ca ca a 58
5.10 Escala e rota¸˜o de uma casa em rela¸˜o ao ponto P1 . . . . . . . . . . . . . . . . . . . . .
ca ca 59
5.11 Janela em Coordenadas do mundo e porta de vis˜o em coordenadas de tela. . . . . . . . .
a 60
5.12 Duas portas de vis˜o associadas a mesma janela. . . . . . . . . . . . . . . . . . . . . . . .
a 60
5.13 Os passos da transforma¸˜o janela - porta de vis˜o. . . . . . . . . . . . . . . . . . . . . . .
ca a 61
5.14 Primitivas gr´ficas de sa´ em coordenadas do mundo s˜o recortadas pela janela. O seu
a ıda a
interior ´ apresentado na tela (viewport). . . . . . . . . . . . . . . . . . . . . . . . . . . .
e 61
5.15 Sistema de Coordenadas dado pela Regra da M˜o Direita. . . . . . . . . . . . . . . . . . .
a 63
5.16 Transformando P1 , P2 e P3 da posi¸˜o inicial em (a) para a posi¸˜o final em (b). . . . . .
ca ca 65
5.17 Rota¸˜o dos pontos P1 , P2 e P3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ca 66
5.18 Rota¸˜o em rela¸˜o ao eixo x. P1 e P2 de comprimento D2 ´ rotacionado em dire¸˜o ao
ca ca e ca
eixo z, pelo ˆngulo positivo f. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
a 66
5.19 Rota¸˜o em rela¸˜o ao eixo z. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ca ca 67
5.20 Os vetores unit´rios Rx , Ry e Rz , os quais s˜o transformados nos eixos principais. . . . .
a a 68
6.1 Atributos da cˆmera [Schr¨eder, 1998]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
a o 69
6.2 Movimentos de cˆmera [Schr¨eder, 1998]. . . . . . . . . . . . . . . . . . . . . . . . . . . .
a o 70
6.3 Movimentos de cˆmera [Schr¨eder, 1998]. . . . . . . . . . . . . . . . . . . . . . . . . . . .
a o 71
6.4 Um VCS baseado na regra da m˜o direita com xv , yv e zv .relativos ao sistema de coorde-
a
nadas do mundo [Hearn and Baker, 1994]. . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
6.5 Orienta¸˜es do plano de observa¸˜o conforme o vetor normal. O vetor (1, 0, 0) d´ a ori-
co ca a
enta¸˜o em (a) e (1, 0, 1), a orienta¸˜o em (b) [Hearn and Baker, 1994]. . . . . . . . . . .
ca ca 72
6.6 Taxomia de proje¸˜es [Plastock and Kalley, 1999]. . . . . . . . . . . . . . . . . . . . . . .
co 73
6.7 Linha AB e sua proje¸˜o A’B’: (a) perspectiva; (b) ortogonal. . . . . . . . . . . . . . . . .
ca 73
6.8 Proje¸˜es de um cubo (com 1 ponto de fuga) sobre um plano cortando o eixo Z, apresen-
co
tando o ponto de fuga. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
6.9 Proje¸˜es perspectivas com 2 pontos de fuga ( o plano de proje¸˜o intercepta 2 eixos (x e
co ca
z)). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
6.10 Proje¸˜es perspectivas com 3 pontos de fuga ( o plano de proje¸˜o intercepta os 3 eixos).
co ca 75
6.11 A esfera B ´ bem maior que a esfera A, por´m ambas aparecem com o mesmo tamanho
e e
quando projetadas no plano de vis˜o. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
a 75
6.12 Confus˜o visual da perpectiva (objeto atr´s do centro de proje¸˜o). . . . . . . . . . . . . .
a a ca 76
6.13 Proje¸˜o em perspectiva de um ponto P=(x, y, z) na posi¸˜o (xp, yp, zp) sobre o plano
ca ca
de proje¸˜o [Hearn and Baker, 1994]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ca 76
6.14 Proje¸˜o ortogonal de um ponto no plano de proje¸˜o [Hearn and Baker, 1994]. . . . . . .
ca ca 77
7.1 Exemplos de recorte de segmentos de reta. . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
7.2 C´digos das regi˜es. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
o o 80
7.3 Funcionamento do algoritmo de Cohen-Sutherland para recorte de segmentos. . . . . . . . 80
7.4 Algoritmo de Sutherland-Hodgman para Recorte de Pol´ ıgonos. . . . . . . . . . . . . . . . 83
7.5 Exemptos de recorte de pol´ıgonos. (a) M´ltiplos componentes. (b) Caso convexo (c) Caso
u
cˆncavo com muitas arestas exteriores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
o 83
7.6 Quatro situa¸˜es poss´
co ıveis no recorte de pol´ ıgonos. . . . . . . . . . . . . . . . . . . . . . . 84
8.1 Representa¸˜o de superf´
ca ıcies atrav´s de malhas. . . . . . . .
e . . . . . . . . . . . . . . . . . 86
8.2 Aproxima¸˜o de curvas por segmentos de reta conectados. .
ca . . . . . . . . . . . . . . . . . 87
8.3 Aproxima¸˜o de curvas por segmentos de reta conectados. .
ca . . . . . . . . . . . . . . . . . 88
8.4 Pontos de uma circunferˆncia. . . . . . . . . . . . . . . . . .
e . . . . . . . . . . . . . . . . . 90
8.5 Representa¸˜o de uma curva de B´zier definida pelos pontos
ca e B0 , B1 , B2 e B3 . . . . . . . . 90
8.6 Fun¸˜es de blending para v´rios valores de n. . . . . . . . .
co a . . . . . . . . . . . . . . . . . 91
11.1 Espectro eletromagn´tico [Gro94]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
e 95
6
8. 11.2 Ilustra¸˜o da mistura de cores aditivas [For94]. . . . . . . . . . . . . .
ca . . . . . . . . . . . 97
11.3 Ilustra¸˜o da mistura de cores subtrativas [For94]. . . . . . . . . . . .
ca . . . . . . . . . . . 97
11.4 Ilustra¸˜o da obten¸˜o de tints, shades e tones. . . . . . . . . . . . . .
ca ca . . . . . . . . . . . 97
11.5 Diagrama de cromaticidade do CIE [Hea94]. . . . . . . . . . . . . . . . . . . . . . . . . . . 98
11.6 Representa¸˜o de escalas de cor no diagrama de cromaticidade do CIE
ca [Hea94]. . . . . . . 99
11.7 Cubo do RGB [Fol96]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
11.8 Cone hexagonal do HSV [Fol96]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
11.9 Cone duplo do HLS [Fol96]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
12.1 Efeitos sobre uma imagem, de se reduzir o tamanho da grade de amostragem. . . . . . . . 103
12.2 Uma imagem de 512 x 512 pixels, quantizada em (a) 256 n´ ıveis, (b) 128 n´ ıveis, (c) 64
n´
ıveis, (d) 32 n´
ıveis, (e) 16 n´
ıveis, (f) 8 n´ıveis, (g) 4 n´
ıveis e (h) 2 n´ıveis de cinza. . . . . . 104
12.3 Representa¸˜o de um pixel P com 8-bits (8 planos) de profundidade. . . . . . . . . . . . .
ca 104
12.4 Organiza¸˜o de uma LUT, para um sistema de pixels de 8 bits. . . . . . . . . . . . . . . .
ca 105
12.5 Imagens e histogramas de intensidade. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
12.6 Efeito de uma transforma¸˜o dos n´
ca ıveis de cinza efetuado sobre o histograma. . . . . . . . 107
12.7 Manipula¸˜o de janelas de intensidade da imagem atrav´s do histograma. . . . . . . . . .
ca e 107
12.8 Sinais “ru´ıdo” (a) e “degrau” (b). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
12.9 Sinais “ru´ıdo” (a) e “degrau” (b). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
12.10Efeitos de filtros lineares ao “ru´ ıdo” e ` “borda”: (a) efeitos de atenua¸˜o; (b) borramento
a ca
da borda; (c) amplia¸˜o do ru´
ca ıdo; (d) realce da borda. . . . . . . . . . . . . . . . . . . . . 110
12.11Efeito do filtro da mediana sobre o “ru´ ıdo” e o “degrau”. . . . . . . . . . . . . . . . . . . 110
12.12Uma transforma¸˜o geom´trica de 90o graus. . . . . . . . . . . . . . . . . . . . . . . . . . .
ca e 111
7
9. Cap´
ıtulo 1
Introdu¸˜o ` Computa¸˜o Gr´fica
ca a ca a
A Computa¸˜o Gr´fica ´ a ´rea da ciˆncia da computa¸˜o que estuda a gera¸˜o, manipula¸˜o e inter-
ca a e a e ca ca ca
preta¸˜o de modelos e imagens de objetos utilizando computador. Tais modelos vˆm de uma variedade
ca e
de disciplinas, como f´
ısica, matem´tica, engenharia, arquitetura, etc.
a
Pode-se relacionar a Computa¸˜o Gr´fica com 3 sub-´reas [Persiano and Oliveira, 1989]:
ca a a
• S´
ıntese de Imagens: ´rea que se preocupa com a produ¸˜o de representa¸˜es visuais a partir
a ca co
co e ´
das especifica¸˜es geom´trica e visual de seus componentes. E freq¨entemente confundida com a
u
pr´pria Computa¸˜o Gr´fica. As imagens produzidas por esta sub-´rea s˜o geradas a partir de
o ca a a a
dados mantidos nos chamados Display-Files.
• Processamento de Imagens: envolve as t´cnicas de transforma¸˜o de Imagens, em que tanto
e ca
a imagem original quanto a imagem resultado apresentam-se sob uma representa¸˜o visual (ge-
ca
ralmente matricial). Estas transforma¸˜es visam melhorar as caracter´
co ısticas visuais da imagem
(aumentar contraste, foco, ou mesmo diminuir ru´ ıdos e/ou distor¸˜es). As imagens produzi-
co
das/utilizadas por esta sub-´rea s˜o armazenadas/recuperadas dos chamados Raster-Files.
a a
• An´lise de Imagens: ´rea que procura obter a especifica¸˜o dos componentes de uma imagem a
a a ca
partir de sua representa¸˜o visual. Ou seja a partir da informa¸˜o pict´rica da imagem (a pr´pria
ca ca o o
imagem!) produz uma informa¸˜o n˜o pict´rica da imagem (por exemplo, as primitivas geom´tricas
ca a o e
elementares que a comp˜em).
o
Figura 1.1: Relacionamento entre as 3 sub´reas da Computa¸˜o Gr´fica.
a ca a
Na ultima d´cada somou-se a esse contexto a ´rea de Visualiza¸˜o de Dados, tamb´m chamada
´ e a ca e
Visualiza¸˜o Computacional [Minghim and Oliveira, 1997, Schr¨eder et al., 1996], que usa t´cnicas de
ca o e
Computa¸˜o Gr´fica para representar informa¸˜o, de forma a facilitar o entendimento de conjuntos de
ca a ca
dados num´ricos de alta complexidade. Exemplos de ´reas de aplica¸˜o s˜o: visualiza¸˜o de imagens
e a ca a ca
m´dicas, meteorologia, dados financeiros, visualiza¸˜o de programas, dinˆmica dos fluidos, e muitas
e ca a
8
10. outras. Nelas, o que existe em comum ´ que a representa¸˜o gr´fica (superf´
e ca a ıcies, part´ıculas, ´
ıcones) s˜oa
geradas automaticamente a partir do conjunto de dados. Ao usu´rio cabe definir parˆmetros e atributos
a a
da imagem para melhor “navegar” seu conjunto de dados. Dessa maneira, a visualiza¸˜o de dados partilha
ca
de caracter´ısticas da s´ ıntese, do processamento e da an´lise de dados.
a
Atualmente a Computa¸˜o Gr´fica ´ altamente interativa: o usu´rio controla o conte´do, a estrutura
ca a e a u
e a aparˆncia dos objetos e suas imagens visualizadas na tela, usando dispositivos como o teclado e o
e
mouse. Entretanto, at´ o in´
e ıcio dos anos 80, a computa¸˜o gr´fica era uma disciplina restrita e alta-
ca a
mente especializada. Devido principalmente ao alto custo do hardware, poucos programas aplicativos
exploravam gr´ficos. O advento dos computadores pessoais de baixo custo, como o IBM-PC e o Apple
a
Macintosh, com terminais gr´ficos de varredura (raster graphics displays), popularizou o uso de gr´ficos
a a
na intera¸˜o usu´rio-computador.
ca a
Os displays gr´ficos de baixo custo possibilitaram o desenvolvimento de in´meros aplicativos baratos
a u
e f´ceis de usar, que dispunham de interfaces gr´ficas - planilhas, processadores de texto, programas de
a a
desenho... As interfaces evoluiram e introduziu-se o conceito de desktop - uma met´fora para uma mesa
a
de trabalho. Nessas interfaces gr´ficas, atrav´s de um gerenciador de janelas (window manager ) o usu´rio
a e a
pode criar e posicionar janelas que atuam como terminais virtuais, cada qual executando aplicativos in-
dependentemente. Isso permite que o usu´rio execute v´rios aplicativos simultaneamente, e selecione um
a a
deles a um simples toque no mouse. ´ Icones (icons) s˜o usados para representar arquivos de dados, progra-
a
mas e abstra¸˜es de objetos de um escrit´rio - como arquivos, caixas de correio (mailboxes), impressoras,
co o
latas de lixo - nas quais s˜o executadas opera¸˜es an´logas `s da vida real. Para ativar os programas, o
a co a a
usu´rio pode selecionar ´
a ıcones, ou usar buttons e menus dinˆmicos. Objetos s˜o manipulados diretamente
a a
atrav´s de opera¸˜es de pointing e clicking feitas com o mouse. Atualmente, mesmo aplicativos que ma-
e co
nipulam texto (como processadores de texto) ou dados num´ricos (como planilhas) usam interfaces desse
e
tipo, reduzindo sensivelmente a intera¸˜o textual por meio de teclados alfanum´ricos.
ca e
A computa¸˜o gr´fica n˜o ´ mais uma raridade: ´ parte essencial de qualquer interface com o usu´rio,
ca a a e e a
´ indispens´vel para a visualiza¸˜o de dados em 2D e 3D e tem aplica¸˜es em ´reas como educa¸˜o,
e a ca co a ca
ciˆncias, engenharia, medicina, publicidade, lazer, militar, ...
e
A computa¸˜o gr´fica trata da s´
ca a ıntese de imagens de objetos reais ou imagin´rios a partir de modelos
a
computacionais. Processamento de imagens ´ uma ´rea relacionada que trata do processo inverso: a
e a
an´lise de cenas, ou a reconstru¸˜o de modelos de objetos 2D ou 3D a partir de suas imagens.
a ca
Note que a s´ ıntese de imagens parte da descri¸˜o de objetos tais como segmentos de reta, pol´
ca ıgonos,
poliedros, esferas, etc.; e produz uma imagem que atende a certas especifica¸˜es e que pode, em ultima
co ´
instˆncia, ser visualizada em algum dispositivo (terminal de v´
a ıdeo, plotter, impressora, filme fotogr´fico...).
a
As imagens em quest˜o constituem uma representa¸˜o visual de objetos bi- ou tridimensionais descritos
a ca
atrav´s de especifica¸˜es abstratas.
e co
O processamento de imagens parte de imagens j´ prontas para serem visualizadas, as quais s˜o trans-
a a
feridas para o computador por mecanismos diversos - digitaliza¸˜o de fotos, tomadas de uma cˆmera de
ca a
v´ıdeo, ou imagens de sat´lite - para serem manipuladas visando diferentes objetivos.
e
1.1 Sistemas Gr´ficos
a
A Computa¸˜o Gr´fica (especialmente as componentes relativas a gr´ficos 3D e a gr´ficos 3D interativos)
ca a a a
desenvolveu-se de modo bem diverso: de simples programas gr´ficos para computadores pessoais ` pro-
a a
gramas de modelagem e de visualiza¸˜o em workstations e supercomputadores. Como o interesse em CG
ca
cresceu, ´ importante escrever aplica¸˜es que possam rodar em diferentes plataformas. Um padr˜o para
e co a
desenvolvimento de programas gr´ficos facilita esta tarefa eliminando a necessidade de escrever c´digo
a o
para um driver gr´fico distinto para cada plataforma na qual a aplica¸˜o deve rodar. Para se padronizar
a ca
a constru¸˜o de aplicativos que se utilizam de recursos gr´ficos e torn´-los o mais independentes poss´
ca a a ıvel
de m´quinas, e portanto facilmente port´veis, foram desenvolvidos os chamados Sistemas Gr´ficos.
a a a
V´rios padr˜es tiveram sucesso integrando dom´
a o ınios espec´
ıficos. Por exemplo, a linguagem Postscript
que se tornou um padr˜o por facilitar a publica¸˜o de documentos est´ticos contendo gr´ficos 2D e textos.
a ca a a
Outro exemplo ´ o sistema XWindow, que se tornou padr˜o para o desenvolvimento de interfaces gr´ficas
e a a
2D em workstations UNIX. Um programador usa o X para obter uma janela em um display gr´fico no a
qual um texto ou um gr´fico 2D pode ser desenhado. A ado¸˜o do X pela maioria dos fabricantes de
a ca
workstation significa que um unico programa desenvolvido em X pode ser rodado em uma variedade de
´
workstation simplesmente recompilando o c´digo. Outra facilidade do X ´ o uso de redes de computadores:
o e
um programa pode rodar em uma workstation e ler a entrada e ser exibido em outra workstation, mesmo
de outro fabricante.
Para gr´ficos 3D foram propostos v´rios padr˜es. A primeira tentativa foi o Sistema Core - Core
a a o
Graphics System - (1977 e 1979) pelos americanos. Mas a primeira especifica¸˜o gr´fica realmente pa-
ca a
9
11. dronizada foi o GKS - Graphical Kernel System, pela ANSI e ISO em 1985. O GKS ´ uma vers˜o maise a
elaborada que o Core. O GKS suporta um conjunto de primitivas gr´ficas interrelacionadas, tais como:
a
desenho de linhas, pol´ ıgonos, caracteres, etc., bem como seus atributos. Mas n˜o suporta agrupamentos
a
de primitivas hier´rquicas de estruturas 3D. Um sistema relativamente famoso ´ PHIGS (Programmer’s
a e
Hierarchical Interactive Graphics System). Baseado no GKS, PHIGS ´ um padr˜o ANSI. PHIGS (e seu
e a
descendente, PHIGS+) provˆem meios para manipular e desenhar objetos 3D encapsulando descri¸˜es de
e co
objetos e atributos em uma display list. A display list ´ utilizada quando o objeto ´ exibido ou manipu-
e e
lado, uma vantagem ´ a possibilidade de descrever um objeto complexo uma unica vez mesmo exibindo-o
e ´
v´rias vezes. Isto ´ especialmente importante se o objeto a ser exibido deve ser transmitido por uma
a e
rede de computadores. Uma desvantagem da display list ´ a necessidade de um esfor¸o consider´vel
e c a
para reespecificar um objeto que est´ sendo modelado interativamente pelo usu´rio. Uma desvantagem
a a
do PHIGS e PHIGS+ (e GKS) ´ que eles n˜o tˆm suporte a recursos avan¸ados como mapeamento de
e a e c
textura.
O XWindow ganhou uma extens˜o para o PHIGS, conhecida como PEX, de modo que o X pudesse
a
manipular e desenhar objetos 3D. Entre outras extens˜es, PEX soma-se de modo imediato ao PHIGS,
o
assim um objeto pode ser exibido durante a sua defini¸˜o sem a necessidade da display list. O PEX
ca
tamb´m n˜o suporta recursos avan¸ados e s´ est´ dispon´ aos usu´rios do XWindow.
e a c o a ıvel a
O sistema gr´fico mais popular atualmente ´ o OpenGL (GL - Graphics Library) que provˆ carac-
a e e
ter´ısticas avan¸adas e pode ser utilizado em modo imediato ou com display list. OpenGL ´ um padr˜o
c e a
relativamente novo (sua primeira vers˜o ´ de 1992) e ´ baseado na biblioteca GL das workstations IRIS da
a e e
Silicon Graphics. Atualmente um cons´rcio de ind´strias ´ respons´vel pela gerenciamento da evolu¸˜o do
o u e a ca
OpenGL. Existe uma implementa¸˜o livre (c´digo fonte dispon´
ca o ıvel) do OpenGL conhecida com MesaGL
ou Mesa3D.
Como os outros sistemas gr´ficos, OpenGL oferece uma interface entre o software e o hardware gr´fico.
a a
A interface consiste em um conjunto de procedimentos e fun¸˜es que permitem a um programador es-
co
pecificar os objetos e as opera¸˜es que os envolvem produzindo imagens de alta qualidade. Como o
co
PEX, o OpenGL integra/permite a manipula¸˜o de objetos (desenhos) 3D ao X, mas tamb´m pode ser
ca e
integrado em outros sistemas de janela (por exemplo, Windows/NT) ou pode ser usado sem um sistema
de janela. OpenGL provˆ controle direto sobre opera¸˜es gr´ficas fundamentais em 3D e 2D, incluindo
e co a
a especifica¸˜o de parˆmetros como matrizes de transforma¸˜o e coeficientes de ilumina¸˜o, m´todos
ca a ca ca e
de antialiasing e opera¸˜es sobre pixels, mas n˜o provˆ mecanismos para descrever ou modelar objetos
co a e
geom´tricos complexos.
e
1.2 Aplica¸˜es da CG
co
A lista de aplica¸˜es ´ enorme, e cresce rapidamente. Uma amostra significativa inclui:
co e
• Interfaces: a maioria dos aplicativos para computadores pessoais e esta¸˜es de trabalho atualmente
co
disp˜em de interfaces gr´ficas baseadas em janelas, menus dinˆmicos, ´
o a a ıcones, etc.
• Tra¸ado interativo de gr´ficos: aplicativos voltados para usu´rios em ciˆncia, tecnologia e
c a a e
neg´cios geram gr´ficos que ajudam na tomada de decis˜es, esclarecem fenˆmenos complexos e
o a o o
representam conjuntos de dados de forma clara e concisa.
• Automa¸˜o de escrit´rios e editora¸˜o eletrˆnica: o uso de gr´ficos na dissemina¸˜o de
ca o ca o a ca
informa¸˜es cresceu muito depois do surgimento de software para editora¸˜o eletrˆnica em com-
co ca o
putadores pessoais. Este tipo de software permite a cria¸˜o de documentos que combinam texto,
ca
tabelas e gr´ficos - os quais tanto podem ser “desenhados” pelo usu´rio ou obtidos a partir de
a a
imagens digitalizadas.
• Projeto e desenho auxiliado por computador: em CAD, sistemas gr´ficos interativos s˜o
a a
utilizados para projetar componentes, pe¸as e sistemas de dispositivos mecˆnicos, el´tricos, eletro-
c a e
mecˆnicos e eletrˆnicos. Isto inclui edif´
a o ıcios, carca¸as de autom´veis, avi˜es e navios, chips VLSI,
c o o
sistemas ´ticos, redes telefˆnicas e de computador. Eventualmente, o usu´rio deseja apenas produzir
o o a
desenhos precisos de componentes e pe¸as. Mais frequentemente, o objetivo ´ interagir com um
c e
modelo computacional do componente ou sistema sendo projetado, de forma a testar propriedades
estruturais, el´tricas ou t´rmicas, at´ atingir um projeto satisfat´rio.
e e e o
• Simula¸˜o e anima¸˜o para visualiza¸˜o cient´
ca ca ca ıfica, lazer, arte e publicidade: uma das
a
´reas que mais evoluiram na d´cada de 80 foi a visualiza¸˜o cient´
e ca ıfica. Cientistas e engenheiros
perceberam que n˜o poderiam interpretar as quantidades prodigiosas de dados produzidas por pro-
a
gramas em supercomputadores sem resumir os dados e identificar tendˆncias e fenˆmenos atrav´s
e o e
10
12. de representa¸˜es gr´ficas. Como resultado, surgiram anima¸˜es computadorizadas do comporta-
co a co
mento variante no tempo de objetos reais ou simulados. Tais anima¸˜es podem ser utilizadas para
co
estudar entidades matem´ticas abstratas e modelos matem´ticos de fenˆmenos como fluxo de flui-
a a o
dos, relatividade, rea¸˜es qu´
co ımicas e nucleares, deforma¸˜o de estruturas mecˆnicas sob diferente
ca a
tipos de press˜o, etc. Outras aplica¸˜es tecnol´gicas avan¸adas incluem a produ¸˜o de desenhos
a co o c ca
animados e efeitos especiais para filmes e comerciais de TV, que requerem mecanismos sofisticados
para modelar objetos e para representar luz e sombra.
• Controle de processos: sistemas de controle de tr´fego a´reo e espacial, sistemas de controle de
a e
refinarias e de usinas de energia mostram graficamente os dados coletados por sensores conectados
a componentes cr´ ıticos dos sistemas, de forma que os operadores possam responder adequadamente
a condi¸˜es cr´
co ıticas.
• Cartografia: a computa¸˜o gr´fica ´ usada para produzir representa¸˜es precisas e esquem´ticas
ca a e co a
de fenˆmenos naturais e geogr´ficos obtidos a partir da coleta de dados.
o a
• Arte: A arte por computador vem crescendo imensamente nos ultimos anos. E poss´
´ ´ ıvel utilizar
novos recursos de computa¸˜o gr´fica para produzir efeitos art´
ca a ısticos, como a extra¸˜o de texturas,
ca
padr˜es e estruturas a partir de fotos digitalizadas.
o
ca ´
• Gr´ficos de Apresenta¸˜o (Presentation Graphics): E a utiliza¸˜o de t´cnicas gr´ficas para
a ca e a
demonstra¸˜o de resultados, id´ias e gr´ficos, com o intuito de mostrar ou transmitir conhecimento
ca e a
espec´
ıfico como, por exemplo, em uma aula, ou reuni˜o, ou na contru¸˜o de material did´tico.
a ca a
Neste curso, estamos interessados principalmente em t´cnicas de s´
e ıntese de imagens bem como seu
relacionamento com o processamento de imagens. Tamb´m n˜o pretendemos explorar todo o escopo de
e a
aplica¸˜es da CG, mas estudar os conceitos gerais envolvidos na programa¸˜o das primitivas gr´ficas que
co ca a
est˜o por tr´s dessas aplica¸˜es.
a a co
1.3 Hardware Gr´fico
a
Um sistema de hardware para computa¸˜o gr´fica consiste essencialmente de dispositivos gr´ficos de
ca a a
entrada e sa´ (I/O) ligados a um computador (Figura 1.2). Ao conjunto de dispositivos de I/O gr´ficos
ıda a
alocados para utiliza¸˜o por uma unica pessoa por vez denomina-se genericamente de “esta¸˜o de trabalho
ca ´ ca
gr´fica”, ou graphics workstation. Um sistema gr´fico multi-usu´rio pode ter v´rias esta¸˜es gr´ficas, de
a a a a co a
forma que mais de um dos v´rios dispositivos de I/O dispon´
a ıveis podem estar conectados e utilizando
o computador hospedeiro. Como em CG ´ freq¨ente a manipula¸˜o de grandes quantidades de dados,
e u ca
o computador deve ser equipado de mem´ria secund´ria com alta capacidade de armazenagem. Al´m
o a e
disso, um canal de comunica¸˜o de alta velocidade ´ necess´rio para reduzir os tempos de espera. Isto
ca e a
normalmente ´ feito atrav´s de comunica¸˜o local sobre um barramento paralelo com velocidade de
e e ca
transmiss˜o de dados da ordem de um milh˜o de bits por segundo. Se o equipamento gr´fico est´ distante
a a a a
do processador (conex˜o remota), um canal de comunica¸˜o serial pode ser necess´rio. Transmiss˜o
a ca a a
serial ass´ıncrona pode ser feita a velocidades de at´ 19.2 kbps (milhares de bits por segundo). Mesmo tal
e
velocidade pode ser muito lenta para alguns objetivos como anima¸˜o gr´fica de alta resolu¸˜o, onde cada
ca a ca
frame de imagem pode ter um megabyte de dados. Um sistema de conex˜o ideal nesse caso ´ uma Local
a e
Area Network (LAN) como a Ethernet. Os dispositivos de sa´ gr´ficos podem ser de natureza digital
ıda a
ou anal´gica, resultando em duas classes de gr´ficos, denominados vector graphics (gr´ficos vetoriais),
o a a
que desenham figuras tra¸ando seq¨ˆncias de segmentos de reta (vetores); e raster graphics (gr´ficos de
c ue a
varredura, ou matriciais), que desenham figuras pelo preenchimento de uma matriz de pontos (pixels).
1.4 Resolu¸˜o Gr´fica
ca a
Virtualmente todos os dispositivos de I/O gr´ficos usam uma malha retangular de posi¸˜es endere¸´veis
a co ca
- a qual ´ denominada “retˆngulo de visualiza¸˜o”. A “resolu¸˜o gr´fica” de um dispositivo ´ o n´mero
e a ca ca a e u
de posi¸˜es (ou pontos, ou pixels) horizontais e verticais que ele pode distinguir. Existem 4 parˆmetros
co a
que definem a resolu¸˜o:
ca
1. ndh - o n´mero de posi¸˜es endere¸´veis horizontalmente.
u co ca
2. ndv - o n´mero de posi¸˜es endere¸´veis verticalmente.
u co ca
3. width - a largura do retˆngulo de visualiza¸˜o em mm.
a ca
11
13. Figura 1.2: Esquema b´sico de um hardware de computa¸˜o gr´fica.
a ca a
4. height - a altura do retˆngulo de visualiza¸˜o em mm.
a ca
A partir desses 4 parˆmetros, v´rios n´meros interessantes podem ser calculados:
a a u
ndh
1. resolu¸˜o horizontal: horiz res =
ca width
width
2. tamanho ponto horizontal: horiz dot size = ndh
ndv
3. resolu¸˜o vertical: vert res =
ca height
height
4. tamanho ponto vertical: vert dot size = ndv
5. total pontos endere¸´veis: total nr dots = ndh.ndv
ca
total nr dots
6. resolu¸˜o de ´rea: area res =
ca a (width.height)
vert dot size
7. raz˜o de aspecto gr´fica: aspect ratio =
a a horiz dot size
height
8. raz˜o de aspecto f´
a ısica: physical aspect ratio = width
Note que horiz res, vert res e area res definem resolu¸˜es f´
co ısicas, enquanto que ndh, ndv e total nr dots
definem resolu¸˜es gr´ficas. Dispositivos de visualiza¸˜o podem ter a mesma resolu¸˜o gr´fica, com re-
co a ca ca a
solu¸˜es f´
co ısicas muito diferentes. O ideal seria ter um aspect ratio igual ou pr´ximo de 1.
o
1.5 Sistemas de Coordenadas
Na CG ´ necess´rio definir sistemas de coordenadas para quantificar os dados que est˜o
e a a
sendo manipulados. J´ vimos que os dispositivos de visualiza¸˜o gr´fica matriciais consistem de uma
a ca a
matriz de pixels endere¸´veis, e um gr´fico ´ formado “acendendo” ou “apagando” um pixel. Os pixels
ca a e
s˜o endere¸ados por dois n´meros inteiros que d˜o suas coordenadas horizontal e vertical, dcx, e dcy,
a c u a
respectivamente, onde:
0 ≤ dcx ≤ ndhm1 ≡ ndh − 1 (1.1)
0 ≤ dcy ≤ ndvm1 ≡ ndv − 1 (1.2)
Na matriz de pixels, o valor dcx + 1 d´ o n´mero da coluna, e dcy + 1 d´ o n´mero da linha do pixel
a u a u
endere¸ado. O pixel endere¸ado como (0, 0) est´ geralmente no canto inferior esquerdo do retˆngulo de
c c a a
visualiza¸˜o. As coordenadas (dcx, dcy) s˜o chamadas de coordenadas do dispositivo, e podem assumir
ca a
apenas valores inteiros. Coordenadas do dispositivo podem variar bastante para diferentes equipamentos,
o que levou ` utiliza¸˜o de coordenadas normalizadas do dispositivo (NDC - normalized device coor-
a ca
dinates), para efeito de padroniza¸˜o (ndcx, ndcy). NDCs s˜o vari´veis reais, geralmente definidas no
ca a a
intervalo de 0 a 1:
0 ≤ ndcx ≤ 1 (1.3)
12
14. 0 ≤ ndcy ≤ 1 (1.4)
A coordenada NDC (0, 0) corresponde ` origem (0, 0) nas coordenadas do dispositivo, e a coordenada
a
NDC (1, 1) refere-se ao pixel no canto superior direito, que corresponde ao pixel (ndhm1, ndvm1) nas
coordenadas do dispositivo. A vantagem da utiliza¸˜o de NDCs ´ que padr˜es gr´ficos podem ser discuti-
ca e o a
dos usando um sistema de coordenadas independente de dispositivos gr´ficos espec´
a ıficos. Obviamente, os
dados gr´ficos precisam ser transformados do sistema de coordenadas independente para o sistema de co-
a
ordenadas do dispositivo no momento de visualiza¸˜o. O mapeamento de NDCs (reais) para coordenadas
ca
do dispositivo (inteiros) ´ “linear”, por exemplo:
e
dcx = round(ndcx.ndhm1) (1.5)
dcy = round(ndcy.ndvm1) (1.6)
Dois outros sistemas de coordenadas s˜o uteis. O primeiro ´ o sistema de cordenadas f´
a ´ e ısico, (pcx, pcy)
onde pcx ´ a distˆncia f´
e a ısica ao longo do eixo x a partir do extremo esquerdo do retˆngulo de visualiza¸˜o,
a ca
e pcy ´ a distˆncia f´
e a ısica ao longo do eixo y a partir do extremo inferior. As unidades de medida utilizadas
s˜o polegadas ou mil´
a ımetros. A transforma¸˜o de coordenadas f´
ca ısicas para coordenadas do dispositivo ´e
dada por:
pcx
dcx = trunc(ndhm1 ) (1.7)
width
pcy
dcy = trunc(ndvm1 ) (1.8)
height
O segundo ´ o sistema de coordenadas do mundo, ou sistema de coordenadas do usu´rio, que consiste
e a
de coordenadas cartesianas (x, y), num intervalo qualquer definido pelo usu´rio:
a
xmin ≤ x ≤ xmax (1.9)
ymin ≤ y ≤ ymax (1.10)
Os parˆmetros que definem o intervalo de valores de x e y, xmin, ymin, xmax e ymax, definem uma
a
a
´rea retangular no espa¸o bidimensional, denominada de janela. A transforma¸˜o de coordenadas do
c ca
usu´rio (x, y) para NDCs (ndcx, ndcy), denominada transforma¸˜o de visualiza¸˜o, ´ dada por:
a ca ca e
x − xmin
ndcx = (1.11)
xmax − xmin
y − ymin
ndcy = (1.12)
ymax − ymin
Para visualizar dados num dispositivo gr´fico qualquer, ´ necess´rio transform´-los das coordenadas
a e a a
do usu´rio para NDCs, e de NDCs para coordenadas do dispositivo. Da mesma forma, dados de entrada
a
gr´ficos precisam ser transformados de coordenadas do dispositivo para NDCs, e depois para coordenadas
a
do usu´rio (Figura 1.3).
a
Figura 1.3: Sistemas de coordenadas e suas transforma¸˜es.
co
13
15. 1.6 Exerc´
ıcios
Escreva os procedimentos inp to ndc, ndc to user, user to ndc e ndc to dc, que transformam dados entre
os v´rios sistemas de coordenadas, conforme ilustrado na Figura 1.3. Repita o exerc´ assumindo que
a ıcio
o intervalo de varia¸˜o do sistema NDC vai de:
ca
(i) -1 a +1 (coordenadas normalizadas centradas)
(ii) 0 a 100
14
16. Cap´
ıtulo 2
Dispositivos de Visualiza¸˜o
ca
Toda imagem criada atrav´s de recursos computacionais deve ser representada em algum dispositivo f´
e ısico
que permita a sua visualiza¸˜o. Diversas tecnologias e diferentes tipos de dispositivos s˜o utilizados para
ca a
gerar representa¸˜es visuais, sendo que o desenvolvimento dessas tecnologias teve um papel fundamental
co
na evolu¸˜o da CG.
ca
Tanto para o usu´rio como para o implementador de sistemas gr´ficos ´ importante conhecer as
a a e
caracter´
ısticas de cada uma dessas tecnologias para sua melhor utiliza¸˜o. Vamos discutir alguns aspectos
ca
da arquitetura e organiza¸˜o dos tipos mais comuns dos dispositivos de exibi¸˜o gr´fica, sem entrar em
ca ca a
detalhes t´cnicos.
e
´
E poss´ ıvel classificar os dispositivos de exibi¸˜o (tra¸adores, impressoras e terminais de v´
ca c ıdeo) em
duas principais categorias, segundo a forma pela qual as imagens s˜o geradas: dispositivos vetoriais e
a
dispositivos matriciais. Os dispositivos gr´ficos vetoriais conseguem tra¸ar segmentos de reta perfeitos
a c
entre dois pontos da malha finita de pontos definida por suas superf´ ıcies de exibi¸˜o. Os dispositivos
ca
matriciais, por outro lado, apenas conseguem tra¸ar pontos, tamb´m em uma malha finita. Assim,
c e
segmentos de reta s˜o tra¸ados como sequˆncias de pontos pr´ximos.
a c e o
2.1 Dispositivos Gr´ficos Vetoriais
a
2.1.1 Tra¸adores Digitais
c
Tra¸adores (plotters) s˜o dispositivos eletromecˆnicos que produzem o desenho pelo movimento de
c a a
uma caneta sobre a superf´ do papel. A primitiva gr´fica b´sica nesse tipo de dispositivo ´ o segmento
ıcie a a e
de reta. Arcos, curvas e caracteres s˜o produzidos pelo tra¸ado de uma s´rie de pequenos segmentos.
a c e
Nos tra¸adores de mesa, o papel ´ fixado sobre uma superf´ plana retangular, sobre a qual est´ lo-
c e ıcie a
calizado um bra¸o mecˆnico que movimenta-se por transla¸˜o. Ao longo do bra¸o desloca-se um cabe¸ote
c a ca c c
que suporta uma caneta perpendicularmente ` mesa, a qual pode ser pressionada contra o papel ou
a
levantada de forma a n˜o toc´-lo.
a a
Nos tra¸adores de rolo, o bra¸o ´ fixo, e o papel ´ movimentado para frente e para tr´s por a¸˜o de
c c e e a ca
um rolo, como em uma m´quina de escrever.
a
Embora distintos em constru¸˜o, estes dois tipos de tra¸adores possuem caracter´
ca c ısticas de pro-
grama¸˜o e controle similares. A posic˜o da caneta sobre o papel ´ definida pelo posicionamento do
ca a e
bra¸o em rela¸˜o ao papel (abcissa x), e do cabe¸ote sobre o bra¸o (ordenada y). Figuras s˜o tra¸adas
c ca c c a c
pela varia¸˜o controlada da posi¸˜o da caneta (abcissa e ordenada) e pelo controle do estado da caneta
ca ca
(abaixada ou levantada). O tra¸ador ´ em geral controlado por um processador dedicado que recebe
c e
instru¸˜es diretamente do computador ou de um arquivo que descreve o desenho.
co
2.1.2 Dispositivos de V´
ıdeo Vetoriais (Vector Refresh Display Tubes)
No in´ da CG, o principal dispositivo de v´
ıcio ıdeo n˜o era um monitor parecido com uma TV, e sim um
a
car´
ıssimo CRT (Cathode Ray Tube) do tipo usado em oscilosc´pios. Como o display dos oscilosc´pios,
o o
os monitores tinham como entradas duas voltagens, x e y, que direcionavam um feixe de el´trons para
e
um ponto espec´ ıfico da tela. O feixe tra¸ava uma linha do ultimo ponto para o corrente, num unico
c ´ ´
movimento vetorial.
Um CRT consiste basicamente de uma superf´ de exibi¸˜o, quase plana, recoberta internamente
ıcie ca
de material ` base de f´sforo, um canh˜o emissor de el´trons e um sistema de deflex˜o (Figura 2.1). O
a o a e a
canh˜o emite um fino feixe de el´trons que, acelerados, chocam-se contra a superf´ fosforecente da tela.
a e ıcie
Sob a a¸˜o dos el´trons, o material fosforecente incandesce, emitindo luz no ponto da tela atingido pelo
ca e
15
17. Figura 2.1: Estrutura interna de um CRT.
feixe. A fun¸˜o do sistema de deflex˜o ´ dirigir controladamente o feixe de el´trons para um determinado
ca a e e
ponto da tela.
O brilho do f´sforo dura apenas alguns milisegundos (a emiss˜o de luz pelo f´sforo n˜o ´ est´vel, e
o a o a e a
cai a zero logo ap´s a interrup¸˜o do bombardeio de el´trons), de forma que toda a figura precisa ser
o ca e
continuamente retra¸ada para que o gr´fico permane¸a na tela. Este processo ´ denominado refreshing
c a c e
(da´ o nome, vector refreshing tubes). Se a imagem sendo mostrada ´ composta por muitos vetores, vai
ı e
haver um atraso significativo entre o tra¸ado do primeiro e do ultimo vetores, e alguns do vetores tra¸ados
c ´ c
inicialmente podem desaparecer nesse per´ ıodo. O resultado ´ que o tubo n˜o consegue retra¸ar a imagem
e a c
de modo suficientemente r´pido para evitar que um efeito de flickering (“cintila¸˜o”) torne-se aparente
a ca
na tela.
Figura 2.2: Convers˜o Digital-Anal´gica para Visualiza¸˜o num CRT.
a o ca
O tubo n˜o exige muita mem´ria para manter uma imagem complexa constru´ por segmentos de
a o ıda
reta, uma vez que apenas as coordenadas dos extremos dos segmentos, e as dos cantos da tela precisam
ser armazenadas. Esta era uma caracter´ ıstica importante no in´ da CG, j´ que a mem´ria era muito
ıcio a o
cara.
O computador gera as coordenadas dos pontos que definem a figura a ser mostrada na tela, e um
DAC (conversor digital-anal´gico) ´ necess´rio para converter os pontos digitais em voltagens a serem
o e a
enviadas para o CRT (Figura 2.2).
As desvantagens dos terminais gr´ficos vetoriais eram: a tecnologia cara, o efeito de flickering, e
a
a mem´ria limitada, que inviabilizava a descri¸˜o de imagens com detalhes complexos. As vantagens:
o ca
dispositivo gr´fico de alta resolu¸˜o (pelo menos 1000x1000), rapidez na gera¸˜o de imagens simples, o
a ca ca
que os torna adequados para testes iniciais em anima¸˜o.
ca
16