Arte e Tecnologia

 




Computação Gráfica e Estilos Visuais

Luiz Velho
Jonas de Miranda Gomes

 

Introdução

Desde a introdução dos computadores na década de 40, os pesquisadores são atraídos pelo fascínio de poder observar gráficamente informações digitais. Esse processo, que pode ser entendido como um modo de visualizar os dados na memória do computador, constitui hoje a área conhecida por Computação Gráfica. Dessa forma a Computação Gráfica está ligada às origens do computador. Um exemplo pioneiro de seu uso, relevante do ponto de vista científico, é o projeto SAGE desenvolvido pela marinha americana no início da década de 50. Os equipamentos gráficos usados nesse projeto estão no ``Computer Museum'' em Boston. Apesar dessas manifestações precursoras, considera-se que o início da Computação Gráfica, como hoje a conhecemos, se deu no início da década de 60, no Massachussets Institute of Technology nos Estados Unidos, com o sistema Sketchpad, desenvolvido por Ivan Sutherland em sua tese de doutorado.

O processo de visualização por computador se realiza por meio de um conjunto de técnicas que permitem transformar os dados na memória da maquina em uma imagem que pode ser mostrada em diversos suportes bidimensionais, tais como monitor de TV, filme, vídeo, papel etc. Uma componente importante desse processo é o tipo de tratamento gráfico dos objetos na imagem. A visualização é conhecida no jargão da área como ``rendering''. Esse termo, de um modo geral, é usado para se referir à representação visual de um determinado objeto. Neste artigo, pretendemos discutir a evolução da visualização desde o começo da Computação Gráfica, e fazer uma análise da situação atual face as aplicações em diversas áreas.

De início observamos que o tipo de tratamento gráfico desejado em uma determinada imagem gerada por computador sofre dois tipos de influência. Por um lado temos o problema do equipamento disponível, que impõe limites à qualidade visual da imagem que podemos obter. Por outro lado, a evolução das técnicas da Computação Gráfica (assim como em outras áreas da ciência), depende da escolha dos problemas considerados relevantes pela comunidade dos pesquisadores.

Pela natureza da Computação Gráfica, esses dois fatores devem ser considerados em qualquer estudo sobre o desenvolvimento da área. É importante ressaltar que eles agem de forma interdependente. À medida que as técnicas se aprimoram e os equipamentos evoluem, as aplicações nas diversas áreas avançam e passam a ter grande influência nas pesquisas, canalizando dessa forma o desenvolvimento da área em determinadas direções. Faremos a seguir uma análise crítica dessa evolução pelo lado da linguagem visual que é exatamente a face mais conhecida da Computação Gráfica.

Equipamentos Gráficos

Os equipamentos gráficos podem ser divididos em duas grandes categorias que correspondem à natureza dos dados por eles utilizados. Temos assim os dispositívos vetoriais e matriciais. Os equipamentos do tipo vetorial trabalham com informações geométricas definidas por suas coordenadas espaciais, tais como pontos e linhas. Exemplos de equipamentos vetoriais de entrada e saida são respectivamente o ``mouse'', que permite especificar pontos no plano, e os plotadores, que possibilitam o traçado de linhas. Os equipamentos do tipo matricial trabalham com informações de cor associadas à uma região do espaço. Exemplos de equipamentos matriciais de entrada e sáida são respectivamente o ``scanner'' que permite a aquisição de imagens e os monitores de video que possibilitam a exibição de imagens.

Os equipamentos vetoriais são baseados em uma tecnologia mais simples, mecânica / analógica, e por isso foram os primeiros dispositívos gráficos a serem desenvolvidos. Os equipamentos matriciais são baseados numa tecnologia mais sofisticada que requer alta capacidade de memória digital e só posteriormente se tornaram viáveis, em parte devido à consolidação da indústria de vídeo.

Cada um desses tipos de dispositívo de entrada e saida gráfica é mais adequado à uma finalidade específica. Sendo, por esse motivo, todos igualmente importantes. Na realidade, eles podem ser considerados, de uma certa forma, complementares. Esse fato pode ser constatado nas estações gráficas, que congregam diversos tipos de equipamentos de entrada, processamento e saida, formando um sistema integrado.

É interessante notar que os dispositivos matriciais de saida são capazes de exibir dados vetoriais pela utilização da técnica de rasterização, que realiza a conversão entre os formatos vetorial e matricial. Por outro lado, a técnica de segmentação permite a conversão de dados matriciais em dados vetoriais.

Essa é a base tecnológica que constitui o suporte operacional da Computação Gráfica. Nela, se necessário, podemos nos aprofundar indentificando subcategorias e analisando as características de cada uma delas. Veremos que a compreensão desses recursos gráficos é fundamental para o estudo dos sistemas de visualização.

Técnicas de Visualização

Vamos investigar as técnicas de visualização de acordo com a dimensão dos dados a serem visualizados. Temos então, os sistemas de visualização 2D (bidimensionais), 3D (tridimensionais) e genéricos (n-dimensionais). O resultado do processo de visualização é sempre uma imagem. Portanto, esses sistemas produzem informações visuais em um suporte bidimensional para representar dados de dimensão e natureza diversas. No caso de dados bidimensionais existe uma correspondencia entre as dimensões dos objetos visualizados e do espaço de representação. Nos outros casos, algum tipo de projeção deverá ser efetuado o que acarreta em uma perda inevitável de informação.

Os sistemas de visualização 2D se dividem em programas de pintura e programas de desenho.

Nos programas de pintura, o usuário especifica a cor de cada ponto da imagem utilizando técnicas interativas e de processamento de imagem. Nesse tipo de sistema, os dados correspondem exatamante às informações visuais a serem exibidas. Os objetos que podem ser manipulados se restringem à imagem (ou blocos da imagem) e seus elementos (pontos associados à informações de cor). Os sistemas de pintura requerem, necessáriamente, para a saida de dados, dispositivos matriciais e para entrada de dados, dispositivos vetoriais que podem ser complementados por dispositivos matriciais. Exemplos de programas de pintura disponíveis no mercado são o Paintbox, o Adobe Photoshop e o Fractal Painter.

Nos programas de desenho, o usuário trabalha com objetos geométricos que possuem atributos visuais, tais como cor, de modo a serem convertidos em imagem. Com isso, acrescentamos uma etapa intermediária ao processo, aumentando o seu poder de descrição. Uma conseqüência importante é que passamos a ter o modelo geométrico, uma entidade independente da imagem que pode ser manipulada como tal (a noção de modelo irá assumir uma importancia ainda maior nos sistemas de visualização n-dimensionais, onde inexiste uma correspondencia direta entre os dados e a imagem). Os sistemas de desenho podem utilizar para saida de dados tanto dispositivos vetoriais quanto matriciais. Para entrada de dados, eles se utilizam primordialmente de dispositivos vetoriais. É possivel utilizar dispositivos matriciais em um sistema de desenho. Nesse caso o sistema deve ter recursos de segmentação para converter dados matriciais em vetoriais. Nos programas de desenho esse tipo de ferramenta é conhecida como ``auto-trace'' (traçado automatico). Exemplos de programas de desenho disponíveis no mercado são o Corel Draw, o Adobe Illustrator e o Aldus Free Hand.

Os programas de visualização 3D podem ser considerados como uma extensão dos programas de desenho em que os modelos geométricos são tridimensionais. Para a partir deles poder gerar uma imagem, devemos primeiro projeta-los no plano tornando-os bidimensionais. Esse processo emprega a metáfora da camera virtual: o usuário define imagens sintéticas de objetos tridimensionais como se os estivesse fotografando. Note que, além dos modelos geométricos, temos o modelo da camera o qual determina o tipo de projeção. Podemos ainda, simular a propagação da luz para formar a imagem tal como numa fotografia. Assim, necessitamos de um modelo da iluminação que inclue superfícies, fontes de luz e o meio transmissivo. Exemplos de programas de visualização 3D disponíveis no mercado são o 3D Studio e o Renderman.

Nos programas de visualização N-dimensionais, o problema é análogo ao caso tridimensional, com duas diferenças. Primeiro, não existe uma familiaridade com espaços de dimensão maior que três. Segundo, os dados visualizados, em geral, nao tem nenhum significado geométrico à priori. Nesse tipo de sistema, procura-se representar o máximo de informações dimensionais usando todos os artifícios disponíveis, por exemplo através de variações cromáticas e temporais.

Representação Visual

Podemos fazer uma análise da representação visual utilizada pela computação gráfica sob dois pontos de vista, a saber: dos meios e das técnicas de representação.

Com relação aos meios de representação temos as imagens do tipo vetorial e do tipo matricial. As imagens vetoriais são constituidas por linhas de espessura e cor constantes. Consequentemente, os elementos gráficos se restringem a retas, curvas e padrões de linhas. Já nas imagens matriciais a cor pode variar a cada ponto do suporte visual. Os elementos gráficos matriciais são: regiões de cor sólida, gradações de cor e texturas. As imagens matriciais podem representar também elementos gráficos vetoriais através da rasterização. Por esse motivos, a a representação matricial é mais completa e engloba a representação vetorial.

Com relação às técnicas de representação temos as diversas maneiras de estruturar os elementos g'raficos descritos acima. Essas técnicas são implementadas como operações primitivas nos sistemas de visualização que constituem as diversas ferramentas de criação dos objetos gráficos e manipulação de seus atributos. Nos sistemas de pintura, essas ferramentas cumprem as funções de um pincel sintético, determinando a cor dos pontos da imagem ao longo da tragetória de cada pincelada. Nos sistemas de desenho, as ferramentas gráficas atuam como régua e compasso virtuais de modo a permitir a definição de figuras geométricas, tais como círculos e retângulos. Nos sistemas 3D as ferramentas servem para manipular os elementos da cena, as fontes de luz e a camera virtual.

Linguagem Visual

Na fase inicial os objetos gerados pelo computador tinham a aparência de maquetes confeccionadas com arame. Na realidade, esses objetos aparecem na imagem através do traçado de diversos segmentos de linha reta, que procuram definir a sua forma. Esse tipo de representação tinha influência dos equipamentos vetoriais que cumpriam muito bem a função de traçar segmentos de linha reta. Essa fase se estendeu desde o início da década de 60 até meados da década de 70, e é conhecida como ``era dos modelos de arame''. A partir de meados da década de 70 iniciaram as pesquisas com a finalidade de obter um tipo de representação dos objetos com texturas, de modo a evidenciar as superfícies que constituem esses objetos. Essa fase pode convenientemente ser rotulada por ``era da visualização de superfícies''.

Já se inicia no momento a terceira etapa na evolução da qualidade estética das imagens produzidas pelo computador. De um ponto de vista científico essa fase é motivada pelo fato de que o mundo físico possui volume, e os objetos que pretendemos construir e visualizar no computador são na realidade sólidos. Desse modo, as técnicas de visualização devem ser orientadas para volumes e não para superfícies. O meio ambiente, no qual a energia luminosa se propaga, deve ser levado em consideração no processo. Essa nova fase pode ser chamada de ``era da visualização volumétrica''. Os equipamentos atuais não são plenamente adequados para esse tipo de representação. Apesar disso, é muito grande o número de pesquisas em andamento nesse sentido.

Visualidade e Estilos

A evolução da linguagem visual da computação gráfica foi influenciada de forma significativa pelo aprimoramento dos meios e técnicas de representação. Essa tendência se evidencia principalmente nos sistemas de visualização 3D.

Até recentemente a ênfase tem sido dada em se obter, no computador, o ``realismo fotográfico'', ou seja, conseguir gerar imagens que possam ser confundidas com fotografias. A síntese de imagens fotorealistas foi um grande desafio para os pesquisadores da área e por isso mesmo teve um papel importante no desenvolvimento das técnicas de visualização. Isso se deve a dois motivos principais: Em primeiro lugar, a busca do realismo implicava na simulação dos processos físicos de formação da imagem, bem como de aspectos perceptuais. Além disso estabeleceu um objetivo concreto, que embora difícil de ser atingido, tinha um termo de comparação direto e de verificação imediata. Em segundo lugar, os métodos gráficos criados para a geração de imagens realistas constituem uma base sólida para a pesquisa de outros estilos de representação visual.

Podemos dizer que a computação gráfica já domina completamente a tecnologia da síntese de imagens fotorealistas. Nesse sentido, o maior problema ainda é o da construção dos modelos geométricos que compõem uma imagem complexa.

Atualmente, ultrapassada a fase realista, a comunidade de computação gráfica começa a se preocupar com outros estilos de representação visual. Várias pesquisas estão sendo feitas no sentido de permitir o uso de recursos de desenho e pintura nos sistemas de visualização 3D. Para isso são utlizados sistemas híbridos 3D e 2D que combinam a síntese e o processamento de imagens em ferramentas de alto nível.

Conclusão

A análise acima fornece uma visão geral dos sistemas de Computação Gráfica. A partir dela, podemos observar que esses sistemas estão fundamentalmente baseados em paradigmas de outros meios de expressão visual, como o desenho, a pintura e a fotografia. Esse é um fenômeno natural, que ocorre durante o estabelecimento de todo meio novo de expressão. Numa fase inicial ainda não existe uma linguagem própria, e portanto, emprega-se o vocabulário de outros meios até que uma nova identidade se defina. Tal transferencia é de importancia vital, especialmente em relação à Computação Gráfica. Diferentemente dos meios convencionais de expressão visual, nos quais as relações entre o usuário e os recursos de produção estão definidas à priori, nos sistemas de visualização estas devem ser programadas com base em um conjunto de critérios pré-estabelecidos. Sendo assim, os paradigmas de produção visual atuam como ele de ligação entre os pesquisadores, que desenvolvem as técnicas, os programadores, que as implementam e os usuários que as colocam em prática.

Não obstante, a Computação Gráfica tem um enorme potencial não descoberto. O poder de expressão dessa ferramenta de geração de imagens ainda não foi plenamente utilizado. O seu amadurecimento resultará em novos recursos de expressão visual. A àrea busca no momento a consolidação dessas diferentes ferramentas de visualização.

Essa é uma necessidade premente, porque a falta de uma linguagem própria e de recursos flexíveis de produção tem sido uma barreira ao seu uso em vários campos de aplicação. Sem uma análise mais atenta, podemos dizer que isso se deve ao desconhecimento da tecnologia ou ao alto custo dos equipamentos. Essas duas razões devem certamente ter influência. No entanto, uma observação mais detalhada nos leva a concluir que os sistemas de visualização atuais ainda não são capazes de atingir alguns resultados obtidos pelos meios convencionais, nem consequentemente de atender as necessidades de certas aplicações.

Para superar esses problemas a Computação Gráfica deveria possibilitar o uso conjunto e simultâneo de diferentes técnicas de visualização. Essas técnicas deveriam privilegiar não apenas o realismo fotográfico, mas também, aspectos gráficos, aliadas com uma interface que permitisse uma interação simples e eficiente. Não estamos falando sobre o uso do computador como um simples subsitituto dos instrumentos convencionais, mas sim como uma ferramenta de processamento gráfico. Seus recursos permitiriam não sómente obter imagens de alta qualidade com vários tratamentos, mas também propiciariam a realização de experimentos e simulações diversas com os modelos subjacentes.

A Computação Gráfica pode ser utilizada de forma integrada em diversas aplicações. As considerações feitas acima são válidas em muitas áreas que vêm se utilizando dos métodos e técnicas da Computação Gráfica. Dentre elas, se inclue o Desenho Industrial, a Arquitetura, as Artes Visuais, a Engenharia, a Matemática e a Medicina.

Passamos do Sketchpad até os dias atuais em cerca de 30 anos. Uma evolução bastante rápida aconteceu. Porém muito esforço ainda deve ser feito para a Computação Gráfica atingir a sua maturidade e ter identidade propria. Dessa aventura devem participar cientistas, artistas e profissionais de diversas áreas de aplicação, enfatizando ainda mais o caráter multidisciplinar inerente à Computação Gráfica.





Luiz Velho
2000-09-19

Luiz VELHO, mestre em Computação Gráfica pelo MIT / Media Lab e Ph.D.em Ciências da Computação pela Universidade de Toronto.
É
professor do IMPA - Instituto de Matematica Pura e Aplicada e pesquisador do Projeto Visgraf.
email: lvelho@visgraf.impa.br www: http://www.impa.br/~lvelho

Jonas de Miranda GOMES, Ph.D.em Matemática pelo IMPA -Instituto de Matematica Pura e Aplicada.
É
professor do IMPA - Instituto de Matematica Pura e Aplicada e coordenador Departamento de Computação e do Projeto Visgraf.
email: jonas@impa.br

 

 


Escola de Artes Visuais do Parque Lage - Revista Ideias