Computação Gráfica

Computação Gráfica

(Parte 1 de 8)

Apostila de Computacao Grafica

Agma Juci Machado Traina Maria Cristina Ferreira de Oliveira

Resumo

Este e o material utilizado no Instituto de Ciencias matematicas e de Computacao da USP-Sao Carlos para as disciplinas de computacao grafica ministradas pelas Profa. Dra. Agma Juci Machado Traina e Profa. Dra. Maria Cristina Ferreira de Oliveira.

Sumario

Sumario 2 Lista de Figuras 5

1.1 Sistemas Graficos9
1.2 Aplicacoes da CG10
1.3 Hardware Grafico1
1.4 Resolucao Grafica1
1.5 Sistemas de Coordenadas12
1.6 Exercıcios14
2.1 Dispositivos Graficos Vetoriais15
2.1.1 Tracadores Digitais15
2.1.2 Dispositivos de Vıdeo Vetoriais (Vector Refresh Display Tubes)15
2.1.3 Terminais CRT com memoria (Direct View Storage Tubes)17
2.2 Primitivas de Software para Dispositivos Vetoriais17
2.3 Dispositivos Graficos Matriciais17
2.3.1 Impressoras17
2.3.2 Dispositivos de Vıdeo de Varredura (Raster Scanning VDUs)18
2.3.3 Primitivas de Software20
2.4 Exercıcios21
2.5 Dispositivos de Entrada21
2.5.1 Teclado2
2.5.2 Ligth Pen2
2.5.3 Joystick2
2.5.4 Mouse2
2.5.5 Mesa Digitalizadora (Tablet)2
2.5.6 Data Glove2
2.5.7 Outros dispositivos2

2 Dispositivos de Visualizacao 15

3.1 Simetria e Reflexao24
3.2 Conversao Matricial de Segmentos de Reta24
de Retas25
3.2.2 Criterio Adotado25
3.2.3 Algoritmos26
3.2.4 Algoritmo do “Ponto-Medio”26
3.3 Conversao Matricial de Circunferencias29
3.3.1 Simetria de ordem 830
3.3.2 Algoritmo do “Ponto-Medio” para Circunferencias31
3.4 Conversao Matricial de Elipses34
3.5 Correcao no Tracado37
3.6 Antialising38
3.6.1 Amostragem de Areas nao Ponderada38

3 Tracado de Curvas em Dispositivos Graficos Matriciais 23 3.2.1 Caracterısticas Desejaveis para os Algoritmos de conversao Matricial de Segmentos 2

4.1 Retangulos42
4.2 Polıgonos de Forma Arbitraria43
4.2.1 Arestas Horizontais45
4.2.2 Slivers46
de Arestas” de um Polıgono46

4 Preenchimento de Polıgonos 42 4.2.3 Algoritmo para Conversao Matricial de Segmento de Reta que Utiliza “Coerencia

5.1 Transformacoes em 2D50
5.2 Coordenadas Homogeneas e Matrizes de Transformacao52
5.3 Transformacoes 2D Adicionais: Espelhamento e Shearing5
5.3.1 Espelhamento (Mirror)5
5.3.2 Shearing56
5.4 Transformacoes entre sistemas de coordenadas57
5.5 Composicao de Transformacoes58
5.6 Transformacao Janela - Porta de Visao (“Window-to-Viewport”)59
5.7 Eficiencia61
5.8 Transformacoes em 3D63
5.8.1 Composicao de Transformacoes em 3D64

5 Transformacoes 2D e 3D 50

6.1 Pipeline de observacao (“viewing pipeline”)69
6.2 Coordenadas de Observacao70
6.2.1 Especificacao do sistema de coordenadas de observacao70
de observacao71
6.3 Projecoes73
6.3.1 Projecao Perspectiva73
6.3.2 Desenvolvimento Matematico para Projecoes Paralelas7

6 Observacao de Cenas 3D 69 6.2.2 Transformacao do sistema de coordenadas do mundo para o sistema de coordenadas

7.1 Recorte de segmentos de reta78
7.1.1 Recorte de Pontos Extremos79
7.1.2 Algoritmo de Cohen-Sutherland para Recorte de Segmentos de Reta79
7.2 Recorte de Circunferencias81

7 Recorte de Primitivas 2D 78

8.1 Representacao de Curvas86
8.2 Curve Fitting x Curve Fairing87
8.2.1 Ajuste de curvas (curve fitting)87
8.2.2 Aproximacao de curvas (curve fairing)87
8.3 Representacoes Parametricas e Nao Parametricas (explıcita e implıcita)87
8.3.1 Limitacoes das representacoes nao parametricas8
8.4 Curvas de Bezier90

8 Curvas e Superfıcies em Computacao Grafica 86 9 Apostila Modelagem 93 10 Rendering 94

1.1 Percepcao de Cor95
1.2 Sistemas de Cores Primarias96
1.3 Modelo XYZ97
1.4 Modelo RGB (Red, Green, Blue)9
1.5 Modelo HSV (Hue, Saturation, Value)100
1.6 Modelo HLS (Hue, Lightness, Saturation)100

1 Cores e Sistemas de Cores 95 3

12.1 Introducao102
12.2 Consideracoes Sobre Imagens102
12.3 Tabelas “Look-up”103
12.4 Tipos de Manipulacao de Imagens103
12.5 Transformacoes Radiometricas104
12.5.1 Operacoes Pontuais sobre Imagens105
12.5.2 Operacoes Locais Sobre a Imagem107

12 Processamento Digital de Imagens 102

Bibliografia 113 A Historico 114

1.1 Relacionamento entre as 3 subareas da Computacao Grafica8
1.2 Esquema basico de um hardware de computacao grafica12
1.3 Sistemas de coordenadas e suas transformacoes13
2.1 Estrutura interna de um CRT16
2.2 Conversao Digital-Analogica para Visualizacao num CRT16
na tela18
2.5 Varredura por rastreio fixo19
2.6 Representacao esquematica de um CRT por varredura colorido19
2.7 Organizacao de uma vıdeo look-up table20
3.1 Representacao de segmentos de reta horizontais, verticais e diagonais23
3.2 Reflexao de uma imagem com relacao a um eixo diagonal24
3.4 Conversoes matriciais de um segmento de reta resultante de diferentes criterios25
3.5 Imagens de segmentos de reta convertidos pelo criterio explıcito acima26
3.6 Grade de pixels para o Algoritimo o Ponto-Medio (M) e as escolhas E e NE27
3.7 Grade de pixels para o Algoritimo o Ponto-Medio (M) e as escolhas E e NE29

Lista de Figuras 2.3 Uma sequencia de bits na memoria de imagem e convertida para uma sequencia de pixels 2.4 Representacao esquematica de uma imagem matricial e sua representacao num frame buffer. 18 3.3 Rotacao de 90o obtida atraves de 2 reflexoes, uma horizontal (a) e outra na diagonal (b). 24

lando e arrendondando y29
3.9 Oito pontos simetricos em uma circunferencia31
entre os pixels E e SE32
octante gerado por simetria32
3.12 Elipse padrao centrada na origem36
3.13 As duas regioe adotadas, definidas pela tangente a 45o36
e uma apliacao da regiao central de (b)38
3.15 Segmento de reta definido com uma espessura diferente de zero39
3.16 A intensidade do pixel e proporcional a area coberta39
3.17 Filtro definido por um cubo para um pixel definido por um quadrado40
3.18 Filtro conico com diametro igual ao dobro da largura de um pixel40

3.8 Um arco de 14 de circunferencia, obtido variando-se x em incrementos unitarios, e calcu- 3.10 Malha de pixels para o Algoritmo do Ponto-Medio para circunferencias, ilustrando a escolha 3.1 Segundo octante da circunferencia gerado com o algorıtimo do Ponto-Medio e primeiro 3.14 Segmento de reta renderizado com o algorıtmo do ponto medio em diferentes escalas. (a)

enquanto as interseccoes com os lados EF e DE possuem coordenadas reais43
polıgno4
4.3 Tratamento dos lados horizontais de um polıgono45
4.4 Exemplo de uma conversao matricial de um Sliver46
4.5 ET para o polıgono de Figura 4.148
que a coordenada x da aresta DE em (b) foi arredondada para cima48
5.1 Translacao de uma casa51

4.1 Esta figura ilustra o processo de linha de varredura para um polıgono arbitrario. As interseccoes da linha de varredura 8 com os lados FA e CD possuem coordenadas inteiras, 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 4.6 AET para o polıgono da Figura 4.1 a) linha de varredura 9 b) linha de varredura 10. Note 5.2 Mudanca de escala de uma casa. Como a escala e nao uniforme, sua proporcao e alterada. 51

tambem e feita em relacao a origem52
5.4 Derivando a equacao de rotacao52
projetado sobre o plano W = 153
se dessa forma uma transformacao afim54
5.7 Reflexao de um objeto em torno do eixo x5
5.9 Rotacao em relacao ao Ponto P1, por um angulo θ58
5.10 Escala e rotacao de uma casa em relacao ao ponto P159
5.1 Janela em Coordenadas do mundo e porta de visao em coordenadas de tela60
5.12 Duas portas de visao associadas a mesma janela60
5.13 Os passos da transformacao janela - porta de visao61
interior e apresentado na tela (viewport)61
5.15 Sistema de Coordenadas dado pela Regra da Mao Direita63
5.16 Transformando P1, P2 e P3 da posicao inicial em (a) para a posicao final em (b)65
5.17 Rotacao dos pontos P1, P2 e P36

5.3 Esta figura mostra a rotacao da casa por 45◦. Da mesma forma que para a escala, a rotacao 5.5 O espaco de Coordenadas Homogeneas XY W, com o plano W = 1 e o ponto P(X,Y,W) 5.6 Um cubo unitario e rodados 45 graus, posteriormente escalado nao uniformemente. Obtem- 5.8 Reflexao de um objeto em torno de um eixo perpendicular ao plano xy, passando pela origem. 56 5.14 Primitivas graficas de saıda em coordenadas do mundo sao recortadas pela janela. O seu 5.18 Rotacao em relacao ao eixo x. P1 e P2 de comprimento D2 e rotacionado em direcao ao

eixo z, pelo angulo positivo f6
5.19 Rotacao em relacao ao eixo z67
5.20 Os vetores unitarios Rx, Ry e Rz, os quais sao transformados nos eixos principais68
6.1 Atributos da camera [Schroeder, 1998]69
6.2 Movimentos de camera [Schroeder, 1998]70
6.3 Movimentos de camera [Schroeder, 1998]71
nadas do mundo [Hearn and Baker, 1994]71
entacao em (a) e (1,0,1), a orientacao em (b) [Hearn and Baker, 1994]72
6.6 Taxomia de projecoes [Plastock and Kalley, 1999]73
6.7 Linha AB e sua projecao A’B’: (a) perspectiva; (b) ortogonal73
tando o ponto de fuga74
z))74
quando projetadas no plano de visao75
6.12 Confusao visual da perpectiva (objeto atras do centro de projecao)76
de projecao [Hearn and Baker, 1994]76
6.14 Projecao ortogonal de um ponto no plano de projecao [Hearn and Baker, 1994]7
7.1 Exemplos de recorte de segmentos de reta78
7.2 Codigos das regioes80
7.3 Funcionamento do algoritmo de Cohen-Sutherland para recorte de segmentos80
7.4 Algoritmo de Sutherland-Hodgman para Recorte de Polıgonos83
concavo com muitas arestas exteriores83
7.6 Quatro situacoes possıveis no recorte de polıgonos84
8.1 Representacao de superfıcies atraves de malhas86
8.2 Aproximacao de curvas por segmentos de reta conectados87
8.3 Aproximacao de curvas por segmentos de reta conectados8
8.4 Pontos de uma circunferencia90
8.5 Representacao de uma curva de Bezier definida pelos pontos B0, B1, B2 e B390
8.6 Funcoes de blending para varios valores de n91
1.1 Espectro eletromagnetico [Gro94]95

6.4 Um VCS baseado na regra da mao direita com xv, yv e zv.relativos ao sistema de coorde- 6.5 Orientacoes do plano de observacao conforme o vetor normal. O vetor (1,0,0) da a ori- 6.8 Projecoes de um cubo (com 1 ponto de fuga) sobre um plano cortando o eixo Z, apresen- 6.9 Projecoes perspectivas com 2 pontos de fuga ( o plano de projecao intercepta 2 eixos (x e 6.10 Projecoes perspectivas com 3 pontos de fuga ( o plano de projecao intercepta os 3 eixos). 75 6.1 A esfera B e bem maior que a esfera A, porem ambas aparecem com o mesmo tamanho 6.13 Projecao em perspectiva de um ponto P=(x, y, z) na posicao (xp, yp, zp) sobre o plano 7.5 Exemptos de recorte de polıgonos. (a) Multiplos componentes. (b) Caso convexo (c) Caso 6

1.3 Ilustracao da mistura de cores subtrativas [For94]97
1.4 Ilustracao da obtencao de tints, shades e tones97
1.5 Diagrama de cromaticidade do CIE [Hea94]98
1.6 Representacao de escalas de cor no diagrama de cromaticidade do CIE [Hea94]9
1.7 Cubo do RGB [Fol96]100
1.8 Cone hexagonal do HSV [Fol96]100
1.9 Cone duplo do HLS [Fol96]101
12.1 Efeitos sobre uma imagem, de se reduzir o tamanho da grade de amostragem103
nıveis, (d) 32 nıveis, (e) 16 nıveis, (f) 8 nıveis, (g) 4 nıveis e (h) 2 nıveis de cinza104
12.3 Representacao de um pixel P com 8-bits (8 planos) de profundidade104
12.4 Organizacao de uma LUT, para um sistema de pixels de 8 bits105
12.5 Imagens e histogramas de intensidade106
12.6 Efeito de uma transformacao dos nıveis de cinza efetuado sobre o histograma107
12.7 Manipulacao de janelas de intensidade da imagem atraves do histograma107
12.8 Sinais “ruıdo” (a) e “degrau” (b)109
12.9 Sinais “ruıdo” (a) e “degrau” (b)109
da borda; (c) ampliacao do ruıdo; (d) realce da borda110
12.11Efeito do filtro da mediana sobre o “ruıdo” e o “degrau”110
12.12Uma transformacao geometrica de 90ograus1

Capıtulo 1 Introducao a Computacao Grafica

A Computacao Grafica e a area da ciencia da computacao que estuda a geracao, manipulacao e interpretacao de modelos e imagens de objetos utilizando computador. Tais modelos vem de uma variedade de disciplinas, como fısica, matematica, engenharia, arquitetura, etc. Pode-se relacionar a Computacao Grafica com 3 sub-areas [Persiano and Oliveira, 1989]:

• Sıntese de Imagens: area que se preocupa com a producao de representacoes visuais a partir das especificacoes geometrica e visual de seus componentes. E frequentemente confundida com a propria Computacao Grafica. As imagens produzidas por esta sub-area sao geradas a partir de dados mantidos nos chamados Display-Files.

• Processamento de Imagens: envolve as tecnicas de transformacao de Imagens, em que tanto a imagem original quanto a imagem resultado apresentam-se sob uma representacao visual (geralmente matricial). Estas transformacoes visam melhorar as caracterısticas visuais da imagem (aumentar contraste, foco, ou mesmo diminuir ruıdos e/ou distorcoes). As imagens produzidas/utilizadas por esta sub-area sao armazenadas/recuperadas dos chamados Raster-Files.

• Analise de Imagens: area que procura obter a especificacao dos componentes de uma imagem a partir de sua representacao visual. Ou seja a partir da informacao pictorica da imagem (a propria imagem!) produz uma informacao nao pictorica da imagem (por exemplo, as primitivas geometricas elementares que a compoem).

Figura 1.1: Relacionamento entre as 3 subareas da Computacao Grafica.

Na ultima decada somou-se a esse contexto a area de Visualizacao de Dados, tambem chamada

Visualizacao Computacional [Minghim and Oliveira, 1997, Schroeder et al., 1996], que usa tecnicas de Computacao Grafica para representar informacao, de forma a facilitar o entendimento de conjuntos de dados numericos de alta complexidade. Exemplos de areas de aplicacao sao: visualizacao de imagens medicas, meteorologia, dados financeiros, visualizacao de programas, dinamica dos fluidos, e muitas outras. Nelas, o que existe em comum e que a representacao grafica (superfıcies, partıculas, ıcones) sao geradas automaticamente a partir do conjunto de dados. Ao usuario cabe definir parametros e atributos da imagem para melhor “navegar” seu conjunto de dados. Dessa maneira, a visualizacao de dados partilha de caracterısticas da sıntese, do processamento e da analise de dados.

Atualmente a Computacao Grafica e altamente interativa: o usuario controla o conteudo, a estrutura e a aparencia dos objetos e suas imagens visualizadas na tela, usando dispositivos como o teclado e o mouse. Entretanto, ate o inıcio dos anos 80, a computacao grafica era uma disciplina restrita e altamente especializada. Devido principalmente ao alto custo do hardware, poucos programas aplicativos exploravam graficos. O advento dos computadores pessoais de baixo custo, como o IBM-PC e o Apple Macintosh, com terminais graficos de varredura (raster graphics displays), popularizou o uso de graficos na interacao usuario-computador.

desenhoAs interfaces evoluiram e introduziu-se o conceito de desktop - uma metafora para uma mesa

Os displays graficos de baixo custo possibilitaram o desenvolvimento de inumeros aplicativos baratos e faceis de usar, que dispunham de interfaces graficas - planilhas, processadores de texto, programas de de trabalho. Nessas interfaces graficas, atraves de um gerenciador de janelas (window manager) o usuario pode criar e posicionar janelas que atuam como terminais virtuais, cada qual executando aplicativos independentemente. Isso permite que o usuario execute varios aplicativos simultaneamente, e selecione um deles a um simples toque no mouse. Icones (icons) sao usados para representar arquivos de dados, programas e abstracoes de objetos de um escritorio - como arquivos, caixas de correio (mailboxes), impressoras, latas de lixo - nas quais sao executadas operacoes analogas as da vida real. Para ativar os programas, o usuario pode selecionarıcones, ou usar buttons e menus dinamicos. Objetos sao manipulados diretamente atraves de operacoes de pointing e clicking feitas com o mouse. Atualmente, mesmo aplicativos que manipulam texto (como processadores de texto) ou dados numericos (como planilhas) usam interfaces desse tipo, reduzindo sensivelmente a interacao textual por meio de teclados alfanumericos.

ciencias, engenharia, medicina, publicidade, lazer, militar,

A computacao grafica nao e mais uma raridade: e parte essencial de qualquer interface com o usuario, e indispensavel para a visualizacao de dados em 2D e 3D e tem aplicacoes em areas como educacao,

A computacao grafica trata da sıntese de imagens de objetos reais ou imaginarios a partir de modelos computacionais. Processamento de imagens e uma area relacionada que trata do processo inverso: a analise de cenas, ou a reconstrucao de modelos de objetos 2D ou 3D a partir de suas imagens.

Note que a sıntese de imagens parte da descricao de objetos tais como segmentos de reta, polıgonos, poliedros, esferas, etc.; e produz uma imagem que atende a certas especificacoes e que pode, em ultima instancia, ser visualizada em algum dispositivo (terminal de vıdeo, plotter, impressora, filme fotografico...). As imagens em questao constituem uma representacao visual de objetos bi- ou tridimensionais descritos atraves de especificacoes abstratas.

O processamento de imagens parte de imagens ja prontas para serem visualizadas, as quais sao transferidas para o computador por mecanismos diversos - digitalizacao de fotos, tomadas de uma camera de vıdeo, ou imagens de satelite - para serem manipuladas visando diferentes objetivos.

1.1 Sistemas Graficos

A Computacao Grafica (especialmente as componentes relativas a graficos 3D e a graficos 3D interativos) desenvolveu-se de modo bem diverso: de simples programas graficos para computadores pessoais a programas de modelagem e de visualizacao em workstations e supercomputadores. Como o interesse em CG cresceu, e importante escrever aplicacoes que possam rodar em diferentes plataformas. Um padrao para desenvolvimento de programas graficos facilita esta tarefa eliminando a necessidade de escrever codigo para um driver grafico distinto para cada plataforma na qual a aplicacao deve rodar. Para se padronizar a construcao de aplicativos que se utilizam de recursos graficos e torna-los o mais independentes possıvel de maquinas, e portanto facilmente portaveis, foram desenvolvidos os chamados Sistemas Graficos.

Varios padroes tiveram sucesso integrando domınios especıficos. Por exemplo, a linguagem Postscript que se tornou um padrao por facilitar a publicacao de documentos estaticos contendo graficos 2D e textos. Outro exemplo e o sistema XWindow, que se tornou padrao para o desenvolvimento de interfaces graficas 2D em workstations UNIX. Um programador usa o X para obter uma janela em um display grafico no qual um texto ou um grafico 2D pode ser desenhado. A adocao do X pela maioria dos fabricantes de workstation significa que um unico programa desenvolvido em X pode ser rodado em uma variedade de workstation simplesmente recompilando o codigo. Outra facilidade do X e o uso de redes de computadores: um programa pode rodar em uma workstation e ler a entrada e ser exibido em outra workstation, mesmo de outro fabricante.

Para graficos 3D foram propostos varios padroes. A primeira tentativa foi o Sistema Core - Core Graphics System - (1977 e 1979) pelos americanos. Mas a primeira especificacao grafica realmente pa- dronizada foi o GKS - Graphical Kernel System, pela ANSI e ISO em 1985. O GKS e uma versao mais elaborada que o Core. O GKS suporta um conjunto de primitivas graficas interrelacionadas, tais como: desenho de linhas, polıgonos, caracteres, etc., bem como seus atributos. Mas nao suporta agrupamentos de primitivas hierarquicas de estruturas 3D. Um sistema relativamente famoso e PHIGS (Programmer’s Hierarchical Interactive Graphics System). Baseado no GKS, PHIGS e um padrao ANSI. PHIGS (e seu descendente, PHIGS+) proveem meios para manipular e desenhar objetos 3D encapsulando descricoes de objetos e atributos em uma display list. A display list e utilizada quando o objeto e exibido ou manipulado, uma vantagem e a possibilidade de descrever um objeto complexo uma unica vez mesmo exibindo-o varias vezes. Isto e especialmente importante se o objeto a ser exibido deve ser transmitido por uma rede de computadores. Uma desvantagem da display list e a necessidade de um esforco consideravel para reespecificar um objeto que esta sendo modelado interativamente pelo usuario. Uma desvantagem do PHIGS e PHIGS+ (e GKS) e que eles nao tem suporte a recursos avancados como mapeamento de textura.

O XWindow ganhou uma extensao para o PHIGS, conhecida como PEX, de modo que o X pudesse manipular e desenhar objetos 3D. Entre outras extensoes, PEX soma-se de modo imediato ao PHIGS, assim um objeto pode ser exibido durante a sua definicao sem a necessidade da display list. O PEX tambem nao suporta recursos avancados e so esta disponıvel aos usuarios do XWindow.

O sistema grafico mais popular atualmente e o OpenGL (GL - Graphics Library) que prove caracterısticas avancadas e pode ser utilizado em modo imediato ou com display list. OpenGL e um padrao relativamente novo (sua primeira versao e de 1992) e e baseado na biblioteca GL das workstations IRIS da Silicon Graphics. Atualmente um consorcio de industrias e responsavel pela gerenciamento da evolucao do OpenGL. Existe uma implementacao livre (codigo fonte disponıvel) do OpenGL conhecida com MesaGL ou Mesa3D.

Como os outros sistemas graficos, OpenGL oferece uma interface entre o software e o hardware grafico.

A interface consiste em um conjunto de procedimentos e funcoes que permitem a um programador especificar os objetos e as operacoes que os envolvem produzindo imagens de alta qualidade. Como o PEX, o OpenGL integra/permite a manipulacao de objetos (desenhos) 3D ao X, mas tambem pode ser integrado em outros sistemas de janela (por exemplo, Windows/NT) ou pode ser usado sem um sistema de janela. OpenGL prove controle direto sobre operacoes graficas fundamentais em 3D e 2D, incluindo a especificacao de parametros como matrizes de transformacao e coeficientes de iluminacao, metodos de antialiasing e operacoes sobre pixels, mas nao prove mecanismos para descrever ou modelar objetos geometricos complexos.

1.2 Aplicacoes da CG A lista de aplicacoes e enorme, e cresce rapidamente. Uma amostra significativa inclui:

• Interfaces: a maioria dos aplicativos para computadores pessoais e estacoes de trabalho atualmente dispoem de interfaces graficas baseadas em janelas, menus dinamicos, ıcones, etc.

• Tracado interativo de graficos: aplicativos voltados para usuarios em ciencia, tecnologia e negocios geram graficos que ajudam na tomada de decisoes, esclarecem fenomenos complexos e representam conjuntos de dados de forma clara e concisa.

• Automacao de escritorios e editoracao eletronica: o uso de graficos na disseminacao de informacoes cresceu muito depois do surgimento de software para editoracao eletronica em computadores pessoais. Este tipo de software permite a criacao de documentos que combinam texto, tabelas e graficos - os quais tanto podem ser “desenhados” pelo usuario ou obtidos a partir de imagens digitalizadas.

• Projeto e desenho auxiliado por computador: em CAD, sistemas graficos interativos sao utilizados para projetar componentes, pecas e sistemas de dispositivos mecanicos, eletricos, eletromecanicos e eletronicos. Isto inclui edifıcios, carcacas de automoveis, avioes e navios, chips VLSI, sistemas oticos, redes telefonicas e de computador. Eventualmente, o usuario deseja apenas produzir desenhos precisos de componentes e pecas. Mais frequentemente, o objetivo e interagir com um modelo computacional do componente ou sistema sendo projetado, de forma a testar propriedades estruturais, eletricas ou termicas, ate atingir um projeto satisfatorio.

• Simulacao e animacao para visualizacao cientıfica, lazer, arte e publicidade: uma das areas que mais evoluiram na decada de 80 foi a visualizacao cientıfica. Cientistas e engenheiros perceberam que nao poderiam interpretar as quantidades prodigiosas de dados produzidas por programas em supercomputadores sem resumir os dados e identificar tendencias e fenomenos atraves de representacoes graficas. Como resultado, surgiram animacoes computadorizadas do comportamento variante no tempo de objetos reais ou simulados. Tais animacoes podem ser utilizadas para estudar entidades matematicas abstratas e modelos matematicos de fenomenos como fluxo de fluidos, relatividade, reacoes quımicas e nucleares, deformacao de estruturas mecanicas sob diferente tipos de pressao, etc. Outras aplicacoes tecnologicas avancadas incluem a producao de desenhos 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 trafego aereo e espacial, sistemas de controle de 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 condicoes crıticas.

(Parte 1 de 8)

Comentários