disciplina computação...

80
Disciplina Computação Gráfica

Upload: vuonghanh

Post on 19-Oct-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Disciplina

Computação Gráfica

Abinael Gomes Barreiros Bacharel em Ciência da Computação pela Universidade Nove de Julho – UNINOVE. Lato Sensu em TI – Tecnologia da Informação. Professor de informática IFSP – campus Guarulhos – Tutor Presencial no Curso EAD – Evesp pela Secretaria de Educação SP. Professor de universitário da Universidade de Guarulhos – UNG. Professor Pronatec – Anhanguera.

SSoobbrree oo aauuttoorr

Este material didático apresenta os conteúdos da disciplina Computação

Gráfica, objetivando da obra e desencadear processos de reflexão capazes de

provocar a analise critica dos conteúdos e ao mesmo tempo, promover a

compreensão.

Pretende provocar aprendizagens nos alunos, por meio de propostas de

estratégias relacionais garantidora da disciplina.

Os tópicos centrais selecionados da disciplina abordam os temas, conceitos e

conteúdos relevantes e possibilitam o contato com atividades, leitura

complementares, bibliografia, voltada para a expansão, inter-relação e

aprofundamento dos conhecimentos.

O autor espera ter contribuído para que desta forma significativa, critica e

compreensiva traduzam em praticas pedagógicas favoráveis ao

desenvolvimento de uma educação de qualidade.

AApprreesseennttaaççããoo

Aula 1 - Introdução a Computação Gráfica

Introdução ...........................................................................................01

Aula 2 – Dispositivos Gráficos

Tipos de dispositivos gráficos...............................................................12

Aula 3 – Métodos da Computação Gráfica

Principais métodos .............................................................................25

Aula 4 – Técnicas de produção de imagem

Dispositivos móveis .............................................................................32

Aula 5 – Primitivas Gráficas

Primitivas de desenho. ........................................................................42

Aula 6 – Conceitos de aplicativos gráficos

Ambientes gráficos ..............................................................................48

Aula 7 – Tipos de Coordenadas

Transformações Geométricas ..............................................................53

Aula 8 – Tratamento de imagem

Introdução ao Software ........................................................................58

Aula 9 – Processamento de imagem digital

Visão geral sobre editor .......................................................................63

Aula 10 – O processo de rendering

Conceito sobre rendering .................................................................67

Trabalho Final ....................................................................................73

Referencias Bibliográficas ................................................................72

SSuummáárr iioo

Apresentação da disciplina

Ementa:

Metodologias e técnicas de produção de imagem pelo computador; Introdução

aos dispositivos Gráficos; Conceituação de computação gráfica e áreas de

aplicação; Conceituação de aplicativos gráficos; Algoritmos de transformação

de primitivas gráficas 2D e 3D (coordenadas homogêneas, rotação, translação,

escalamento, e projeções).

Projeto instrucional

1. Introdução a Computação Gráfica. • Um breve histórico sobre computação gráfica.

2. Dispositivos Gráficos • Tipos de dispositivos I/O • Dispositivos de interatividade

3. Métodos de Computação Gráfica em modo 2D • Métodos tratamento de imagens 2D • Associação destes métodos • Dispositivos 3D

4. Técnicas de produção de imagem pelo computador • Recursos de produção imagens • Inserção das técnicas produção imagens • Abordagem das mídias digitais

5. Primitivas Gráficas • Conceitos de primitivas • Conversão matricial

6. Conceitos de aplicativos gráficos • Ambientes gráficos • Algoritmos básicos 7. Tipos de coordenadas • Exemplos de transformações • Mudanças de coordenadas

PPrroojjeettoo iinnsstt rruucciioonnaall

8. Tratamento de imagem • Principais softwares de tratamento de imagem. • Aspectos de cada software.

9. Processamento de imagem digital • Conceito sobre os editor 3D • A importância da modelagem

10. O processo de Rendering • Conceito sobre rendering • Acabamento visual

1

Introdução a Computação Gráfica Definição CG Historia Introdução A Computação gráfica, abreviado comumente como CG, é a área da ciência da

computação que estuda a geração, manipulação e interpretação de imagens.

Simplificando este conceito e voltando no sentido original da palavra, o termo

computação gráfica define o processo de produzir imagens sintéticas e partir da

descrição simbólica de uma cena, sendo esta um conjunto de elementos

gráficos (pontos, linhas, arestas, áreas) que representam objetos, posição,

movimento, aparência, iluminação, etc.

Ate a década de 80 o maior emprego da computação gráfica era em pesquisas

espaciais, no qual as imagens capturadas fora da Terra eram transmitidas e

recebidas como arranjos numéricos representando a intensidade captada pelos

sensores das sondas espaciais.

Atualmente, a computação gráfica encontra-se muito mais difundida, sendo

parte essencial de qualquer interface com os usuários em diversas aplicações e

áreas do conhecimento humano como, por exemplo, na medicina quando são

geradas imagens do corpo humano em exames de raios-X e tomografia.

Breve historia

O termo computação gráfica que utilizamos atualmente foi utilizado pela

primeira vez pelo DR. Ivan Sutherland no inicio da década de 60. Ele introduziu

esse conceito em sua tese de doutorado no MIT ( Massachusetts Institute of

Aula 1

Objetivos de aprendizado: Conhecer os recursos da computação gráfica. Pouco da historia da computação gráfica.

2

Technology) quando programou terminais gráficos vetoriais que mais tarde

levou o surgimento dos sistemas CAD para criação de plantas esquemáticas.

Já na década de 70 foram desenvolvidas muitas técnicas e algoritmos que são

utilizados ate hoje, tal como o algoritmo de z-buffer (memória de profundidade),

mas o alto custo do hardware tornava inviável popularização dessa tecnologia

na época.

O grande “salto” da computação gráfica foi com o surgimento da tecnologia de

circuitos integrados e, posteriormente, na década de 80, o lançamento dos

primeiros computadores pessoais de baixo custo, como o IBM-PC e o

Macintosh da Apple.

Computação gráfica.

Síntese de imagens

Área de computação gráfica que estuda a produção de imagens sintéticas a

partir da descrição matemática dos objetos. Essas imagens geradas oriundos

da modelagem dos dados constituem uma representação visual que tentam ou

não reproduzir a realidade, na forma bi ou tri dimensional (2D ou 3D) e que

podem ser visualizadas em algum dispositivo como, por exemplo, terminais de

vídeos, impressoras, etc.

3

Analise de imagens

Também chamada de visão computacional, é a área da CG que busca obter a

especificação dos componentes de uma imagem a partir de sua representação

visual, ou seja, através da informação pictórica da imagem (a própria imagem)

produz-se uma informação não visual de forma a facilitar o entendimento e/ou

obter algum dado relevante da imagem.

4

PROCESSAMENTO DE IMAGENS Área de estudo que abrange a pesquisa de técnicas para realizar a manipulação

de imagens, tais como ajustes de cor, brilho, contrastes, aplicações de filtros,

entre outros. O processo parte de imagens já prontas para serem visualizadas,

mas que são transferidas para o computador para serem manipuladas visando

diferentes objetivos.

Um exemplo de aplicação do processamento de imagens é, por exemplo, em

consultórios de cirurgiões plásticos e salões de beleza. Neste caso, uma pessoa

pode ver como será o resultado de uma plástica ou corte de cabelo através de

simulações no computador. Outro exemplo muito comum é a utilização de

tratamento de imagens para retirar “objetos indesejados” de fotos publicitárias.

Aplicações da Computação Gráfica

A lista de aplicações da Computação Gráfica é muita extensa, mas, entre as

mais comuns estão:

• Interfaces: qualquer dispositivo digital que se utiliza de uma interface

gráfica para interagir com usuário. Exemplos: computadores,

videogames, celulares, etc.

5

• Automação de escritórios : o uso de gráficos na disseminação de

informações cresceu muito depois do surgimento de software para

editoração eletrônica em computadores pessoais. Este tipo de software

permite a criação de documentos que combinam texto, tabelas e

gráficos – os quais tanto podem ser “desenhados” pelo usuário ou

obtidos a partir de imagens digitalizadas.

6

• CAD (Computer Aided Design – Desenho Assistido por Computador):

sistemas gráficos interativos são utilizados para projetar componentes,

peças, sistemas de dispositivos mecânicos, elétricos, eletromecânicos e

eletrônicos. Isto inclui edifícios, carcaças de automóveis, aviões, navios,

redes telefônicas e de computador.

• Controle de processos : sistemas de controle de tráfego aéreo 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 condições críticas.

7

• Cartografia : a computação gráfica é usada para produzir

representações precisas e esquemáticas de fenômenos naturais e

geográficos obtidos a partir da coleta de dados.

8

• Entretenimento: a indústria do cinema é um exemplo de aplicação da

computação gráfica que tem sido bastante desenvolvida. Além dos

efeitos especiais, foi possível criar animações com animais, simular

humanos virtuais e até mesmo criar grandes multidões.

Reprodução de ser humano virtual

Outra técnica que vem evoluindo bastante nos cinemas é a criação de

personagens com movimentos e expressões idênticos aos do ser humano.

Para isso, são utilizados dispositivos especiais que captam movimentos e

expressões do corpo humano para reproduzir em personagens digitais.

9

Computação gráfica nos cinemas

Ainda sobre a aplicação da computação gráfica nos cinemas, segue abaixo

um vídeo no qual a empresa de efeitos especiais ILM (Industrial Light and

Magic) mostra parte do seu trabalho realizado no filme “Os Vingadores”. No

vídeo, podemos observar as cenas mais trabalhas com a computação gráfica e

que contou mais de 200 profissionais, como artistas, cientista e engenheiros.

Realidade aumentada

A nova tecnologia ainda a tem um nome pouco popular, mas isso deve mudar

em breve. A realidade aumentada proporciona uma nova forma de visualizar

imagens. O sistema reconhece imagens através de webcam e projeta sobre

elas objetos em 3D ou até mesmo animações. A tecnologia tem sido

aprimorada para se tornar desde ferramenta de trabalho até mesmo forma de

entretenimento.

10

1. Defina a computação gráfica.

2. A implementação de desenhos como computação gráfica se deu em 1963,

quem foi o precursor dessa idéia revolucionária?

3. A General Motors foi precursora na utilização de computação gráfica para

auxiliar o desenvolvimento industrial. Que nome tem esse tipo de programa,

que é utilizado até hoje?

4. O que são Fractais?

5. Qual a importância dos Fractais

Pratica: Em dupla Exercício sobre Rastreamento: O objetivo deste exercício é realizar o rastreamento óptico de objetos. Para tanto, vocês deverá desenvolver um vídeo que identifica os pontos em movimento e realiza o rastreamento. - caminhada virtual

11

Ammeral L. e Zhang K. Computação Gráfica para programadores Java, 2 ed, Rio de Janeiro: LTC Editora, 2008.

Azevedo , E. et all, Computação Gráfica: Teoria e Prática, Rio de Janeiro: Campus, 2003.

12

Dispositivos Gráficos Tipos de dispositivos I/O Dispositivos de interatividade

Tipos de dispositivos gráficos

Os sistemas de computação gráfica precisam de dispositivos gráficos de I/O

ligados a um computador; Permitem a interação com o sistema, na busca de

extensões dos limites do nosso corpo e melhor comunicação com a máquina.

Dispositivos Gráficos de Entrada São componentes eletrônicos que permitem a

movimentação e interação com os sistemas; Teclado; Mouse; Joysticks; Tablet;

Mesa digitalizadora.

Teclado

Basicamente podemos definir um teclado como um conjunto de teclas

associadas a um código que corresponde ao caractere ou função; Diversos

dispositivos de teclado foram inventados ao longo de décadas, porém o mais

usado é o teclado QWERTY; É irônico pensar que esse teclado foi inventado

para a redução da velocidade do digitador e, como conseqüência, causar

menores danos à sua saúde.

Aula 2

Objetivos de aprendizado: Conhecer os Dispositivos Gráficos. Compreender as interações Homem/Maquina.

13

Mouse

Os mouses atuais utilizados por profissionais da computação gráfica são

compostos por sensores óticos e processadores digitais para escanear a

superfície sob o mouse sem a bola de rolagem; Enviam 1.500 sinais por

segundo para rastear com segurança o menor movimento possível.

Joysticks

São alavancas de comando que determinam a direção e velocidade do cursor

na tela; Usados geralmente nos jogos de videogame, estações de realidade

virtual e estações industriais de controle de robôs.

Tablets

Os tablets são extensões dos monitores sensíveis ao toque; Os novos tablets

são calibrados com perfeição para ler com absoluta precisão os movimentos da

caneta, que opera com 1.024 níveis de sensibilidade à pressão; Estes são

traduzidos em curvas suaves, transições graduais e controles precisos do

14

traço; Um software incluso nos pacotes dos hardwares de tablet possibilita o

reconhecimento da escrita.

Mesa Digitalizadora Dispositivo vetorial que consiste de uma mesa e de um

apontador; A cada vez que o usuário toca a mesa com o apontador é informado

ao computador a coordenada deste ponto da mesa; Existem diversos trabalhos

em andamento para a substituição deste periférico por sistemas mais baratos

com câmeras digitais e softwares de reconhecimento de padrões.

Dispositivos de Entrada 3D Permitem a movimentação e interação dentro de

uma espaço 3D qualquer.

Digitalizador 3D Trata-se de um dispositivo vetorial e consiste em uma espécie

de braço mecânico com um sensor de toque na ponta; A cada vez que o

15

sensor atinge um ponto na superfície de um objeto, a coordenada deste ponto

em relação a um ponto referencial (origem) é transmitida ao computador.

Scanner 3D Existem diversas tecnologias de scanners disponíveis no mercado;

As mais baratas utilizam câmeras digitais acopladas a uma mesa especial que

fornece as coordenadas para os sistemas. Esta tecnologia quase sempre

requer a intervenção de modeladores para o acabamento das peças; A

tecnologia de scanners a laser, de alto custo, é sem dúvida a tecnologia de

dispositivos de entrada que vem atraindo mais atenção no mundo. Suas

aplicações são grandes e muitas delas ainda estão por se descobrir.

Luvas 3D Luvas para interação 3D são dispositivos que, através de sensores,

detectam e medem as flexões e pressões dos dedos; Os sensores podem ser

mecânicos, ópticos ou híbridos.

16

Capacetes - Head-mounted display Existem diversos tipos de capacetes para

visualização de Realidade Virtual disponíveis no mercado; A principal

característica desses equipamentos é que podem ser: Estereoscópicos ou

monoscópicos (isto é, usados com uma ou duas cenas); Binoculares ou

monoculares (um ou os dois, olhos são estimulados); Opacos ou translúcidos

(substituem ou complementam a realidade).

3D Controllers São dispositivos para interatividade com ambientes 3D capazes

de tornar o ambiente participativo, seguindo os movimentos executados pelo

usuário; Trabalham tanto em cima de uma mesa como no ar, pois possuem um

giroscópio que tem comunicação por rádio com o computador; São capazes de

medir a velocidade e a força que estão sendo aplicadas pelo usuário.

17

Roupa de RV A roupa para Realidade Virtual (ou data suits) é uma

indumentária que permite a interação com o mundo virtual; A comunicação

pode ser realizada de várias maneiras, sendo que o acompanhamento óptico

de marcadores vem sendo o mais utilizado; Essas roupas são usadas para

gerar informações do movimento humano, a partir daí surge uma infinidade de

aplicações para animações, esporte, desenvolvimento de produtos, medicina

etc.

Dispositivos Gráficos de Saída É possível classificar os dispositivos de saída

em duas principais categorias, segundo a forma pela qual as imagens são

18

geradas (veja seção anterior de descrição vetorial e matricial de imagens):

vetoriais e matriciais; Os dispositivos vetoriais conseguem traçar segmentos de

reta perfeitos entre dois pontos; Os dispositivos matriciais apenas conseguem

traçar pontos, ou seja, segmentos de reta são traçados como seqüências de

pontos próximos, são entretanto, bastante adequados para desenhar áreas

cheias e sombras, onde os vetoriais mostram deficiência.

Impressoras de Jato de Tinta

São equipamentos matriciais com cabeçote que ejetam tinta sobre o papel;

Podem utilizar tintas de várias cores e chegar a níveis altos de realismo na

imagem impressa.

Impressoras Laser

São as que têm melhor qualidade; Um feixe de raio laser varre uma chapa em

processo ótico parecido com o do cabeçote de uma impressora, o bombardeio

do feixe deixa a chapa carregada com uma carga eletrostática; Por efeito da

atração elétrica, uma tintura (toner) adere à chapa e por pressão e

aquecimento é fixada no papel formando a imagem.

19

Impressoras Térmicas

São equipamentos silenciosos, com boa resolução, podem trabalhar com

ampla gama de cores; As impressoras térmicas precisam utilizar um papel

termo-sensível especial.(impressão de etiquetas).

Plotters

São dispositivos vetoriais e eletromecânicos que, de uma forma geral,

produzem o desenho pelo movimento de uma caneta na superfície do papel;

Existem dois tipos, em um, o papel permanece fixo e a caneta produz

desenhos sobre o mesmo pela combinação de movimentos horizontais e

verticais; No outro tipo, o desenho é produzido pela combinação dos

movimentos do papel e da caneta.

20

Monitores Um monitor de vídeo, ou simplesmente monitor, é um dispositivo de

saída do computador que serve de interface visual para o usuário, na medida

em que permite a visualização dos dados e sua interação com eles; Os

monitores são classificados de acordo com a tecnologia de amostragem de

vídeo utilizada na formação da imagem.

Monitores - CRT Cathodic Ray Tube (Tubo de raios catódicos) é o monitor

"tradicional", em que a tela é repetidamente atingida por um feixe de

elétrons, que atuam no material fosforescente que a reveste, assim formando

as imagens; Este tipo de monitor tem como principais vantagens: Sua longa

vida útil; Baixo custo de fabricação; Grande banda dinâmica de cores e

contrastes; e Grande versatilidade (uma vez que pode funcionar em diversas

resoluções, sem que ocorram grandes distorções na imagem). As maiores

desvantagens deste tipo de monitor são: Suas dimensões (um monitor CRT de

20 polegadas pode ter até 50cm de profundidade e pesar mais de 20kg); O

consumo elevado de energia; Seu efeito de cintilação (flicker); e A possibilidade

de emitir radiação que está fora do espectro luminoso (raios x), danosa à saúde

no caso de longos períodos de exposição.

Monitores CRT Diagrama em corte de um tubo de raios catódicos de deflexão

eletromagnética , usado em televisões e monitores coloridos. 1: Canhões de

elétrons e lentes eletrônicas de focalização; 2: Bobinas defletoras (deflexão

eletromagnética); 3: Anodo de alta tensão; 4: Máscara de sombra; 5: Detalhe

da matriz de pontos coloridos RGB (vermelho, verde, azul).

21

Monitores LCD LCD (Liquid Cristal Display, em inglês, sigla de tela de cristal

líquido) é um tipo mais moderno de monitor. Nele, a tela é composta por

cristais que são polarizados para gerar as cores. Tem como vantagens: O

baixo consumo de energia; As dimensões reduzidas; A não-emissão de

radiações nocivas; A capacidade de formar uma imagem praticamente perfeita,

estável, sem cintilação, que cansa menos a visão - desde que esteja operando

na resolução nativa; e O fato de que o preto que ele cria emite um pouco de

luz, o que confere à imagem um aspecto acinzentado ou azulado, mais

agradável aos olhos em termos estéticos e também de brilho. As maiores

desvantagens são: O maior custo de fabricação; O fato de que, ao trabalhar em

uma resolução diferente daquela para a qual foi projetado, o monitor LCD

utiliza vários artifícios de composição de imagem que acabam degradando a

qualidade final da mesma; e Um fato não-divulgado pelos fabricantes: se o

cristal liquido da tela do monitor for danificado e ficar exposto ao ar, pode emitir

alguns compostos tóxicos, tais como o óxido de zinco e o sulfeto de zinco. Este

será um problema quando alguns dos monitores fabricados hoje em dia

chegarem ao fim de sua vida útil (estimada em 20 anos).

22

Monitores OLED Organic Light-Emitting Diode ou diodo orgânico emissor de luz

é uma tecnologia criada pela Kodak em 1980 e que promete telas planas muito

mais finas, leves e baratas que as atuais telas de LCD; A idéia é usar diodos

orgânicos, compostos por moléculas de carbono que emitem luz ao receberem

uma carga elétrica; A vantagem é que ao contrário dos diodos tradicionais,

essas moléculas podem ser diretamente aplicadas sobre a superfície da tela,

usando um método de impressão; Acrescentados os filamentos metálicos que

conduzem os impulsos elétricos a cada célula, está pronta uma tela a um custo

extremamente baixo; Uma das principais características da tela orgânica é que

ela possui luz própria; Com isto não necessita de luz de fundo ou luz lateral,

(backlight ou sidelight) e ocupa menos espaço, dois fatores que tornam a

tecnologia muito interessante para uso em computadores de mão e notebooks;

Outra importante característica é que por emitir luz própria cada OLED quando

não polarizado torna-se obscuro obtendo-se assim o "preto real",

diferentemente do que ocorre com LCDs que não conseguem obstruir

completamente a luz de fundo e ainda neste caso não há consumo de energia

para a modulação de luz de fundo.

23

1. A computação gráfica é uma área multidisciplinar. Descreva as disciplinas e de que forma ocorre essa abrangência. 2. A computação gráfica é subdividida em 3 grandes áreas, defina cada uma delas. 3. Defina a divisão funcional da computação gráfica. 4. Quanto a aplicação da computação gráfica, como podemos classificá-la? 5. O que é imagem digital? 6. O que é imagem raster? 7. O que é desenho vetorial? 8. Defina o pixel. 9. Explique a resolução de imagens

24

25

Métodos da Computação Gráfica Tipos de processamento de imagens. Mecanismos de estudo das imagens.

Principais Métodos

O Processamento de imagens é certamente uma área em crescimento.

Diversos temas científicos são abordados e em alguns casos de caráter

interdisciplinar. Entre eles podemos citar: a compreensão de imagens, a

análise em multi-resolução e em multi-frequência, a análise estatística, a

codificação e a transmissão de imagens, etc.

“Os métodos de estudo do procesamento de Imagens” vem na realidade do

Processamento de Sinais. Os sinais, como as imagens, e na realidade um

suporte físico que carrega no seu interior uma determinada INFORMAÇÃO.

Esta INFORMAÇÃO pode estar associada a uma medida (neste caso falamos

de um sinal em associação a um fenômeno físico), ou pode estar associada à

um nível cognitivo (neste caso falamos de conhecimento). Processar uma

imagem consiste em transformá-la sucessivamente com o objetivo de extrair

mais facilmente a INFORMAÇÃO nela presente. Cabe neste momento fazer

uma comparação entre o Processamento de Imagem e área de Computação

Gráfica, técnica que encontramos freqüentemente aplicadas através de

seqüências animadas na televisão ou em filmes de cinema. A Computação

Gráfica parte de uma INFORMAÇÃO precisa para obter uma imagem ou um

filme.

O Processamento de Imagens parte da imagem (de uma informação inicial que

é geralmente captada por uma camera) ou de uma seqüência de imagens para

obtermos a “INFORMAÇÃO”.

Aula 3

Objetivos de aprendizado:

Como funcionam os processos das imagens.

Quais são os métodos de estudo das imagens.

26

Analise

O termo análise está relacionada a parte do tratamento onde existe uma

descrição da INFORMAÇÃO presente na imagem. Esta parte é chamada de

parametrização e é nela que várias medidas quantitativas (parâmetros) são

utilizadas para descrever diferentes informações dentro de uma imagem.

Algumas aplicações típicas são: a determinação do número de células

presentes em um tecido biológico, o cálculo das formas dos contornos de uma

célula ou ainda a determinação da distribuição de uma população específica de

um conjunto de células. As técnicas dedicadas a análise de imagens podem

variar significativamente segundo a sua complexidade e a necessidade em

tempo de processamento.

“Image Enhancement”

O termo “enhancement” esta associado a melhoria da qualidade de uma

imagem, com o objetivo posterior de ser julgado por um observador humano.

De uma forma geral nós vamos trabalhar nos níveis de cinza da imagem,

transformando-os para aumentar o contraste ou para colocar em evidência

alguma região de interesse particular. Alguns exemplos deste tipo de técnica é

a subtração da imagem por uma imagem referência, a utilização de cores-

falsas, a utilização de filtros espaciais, a correção de deformações espaciais

devido a ótica ou devido a uma variação de inomogeneidade da iluminação de

fundo. Os sistemas dedicados a melhorar a qualidade da imagem trabalham

geralmente muito rápido, pois são construídos em “hardware” ou “firmeware”,

permitindo rapidamente ao usuário um julgamento sobre várias imagens

processadas, segundo o tipo de tratamento.

Esta técnica é encontrada na maioria dos programas de tratamento de imagens

ou fotografias que estão atualmente no mercado, mas com algoritmos

implementados em software, para computadores do tipo PC.

27

Sistema Geral de Visão

Um sistema geral de visão, isto é, um sistema que deve responder a todas as

situações, como é o caso do Sistema Visual Humano, é extremamente

desenvolvido e complexo. O interesse em se compreender um tal sistema é

fundamentalmente de orientar a pesquisa de uma máquina de reconhecimento

genérica com as mesmas características do SVH. Atualmente algumas

correntes científicas consideram o cérebro humano uma máquina com grande

capacidade de explorar as informações sensoriais. Filosoficamente não se

pretende, com estas linhas de pesquisas, retirar as qualidades humanas

associadas ao cérebro ou aos homens. Mas devemos atentar para alguns

pontos fundamentais: os computadores atuais são extremamente eficientes

para trabalharem com base de dados, cálculos numéricos e formais, mas eles

não conseguem realizar eficientemente algumas tarefas “simples” realizadas

por animais e seres-humanos. Fica então uma questão, que é parte integrante

das linhas de pesquisas modernas em processamento de imagens:

Seria realmente o computador a maquina mais adaptada para resolver estes

problemas? Um exemplo prático é o processo de reconhecimento de uma

pessoa pelo SVH. O trabalho realizado pelo cérebro nos parece muito simples

e bastante elementar; porém uma análise detalhada mostra que o cérebro

humano é capaz, a partir de uma grande quantidade de informações de

luminância e crominância (captada pelos olhos) de realizar esta tarefa de

reconhecimento em apenas 150ms. Os computadores atuais são na pratica

sistemas experimentais que nos ajudam a melhor compreender estas tarefas e

consequentemente modelizá-las e reproduzí-las.

Sistemas Experimentais Quando o sistema se restringe a sistemas experimentais, isto é, ele é orientado

para a solução de um problema específico, a tarefa prática é de uma certa

forma simplificada, pois poderemos controlar alguns parâmetros que um

sistema geral de visão não tem acesso. A dificuldade está no fato de que

devemos dar uma descrição objetiva ao problema e para aquelas análises que

28

são científicas é ainda importante que esta descrição seja quantitativa. O

objetivo neste caso é desenvolver um sistema de tratamento da informação

onde cada fase vai exigir métodos para retirar da imagem os parâmetros que

exprimam esta informação. Fica assim evidente que o processamento de

imagens, quando associado a sistemas experimentais, é bastante dependente

do problema a ser resolvido.

Neste instante as fases de pré-tratamento (seja na imagem ou fora dela, como

por exemplo, o controle da iluminação externa) podem ter um peso importante

quando queremos aumentar o desempenho computacional do sistema. Um

sistema de processamento de imagens pode ser de uma maneira geral dividido

nas seguintes etapas:

Pixel e Conectividade

Um pixel ("picture element" ou "pel") é o elemento básico em uma imagem. A

forma mais comum para o pixel é a forma retangular ou quadrada. O pixel é

também um elemento de dimensões FINITAS na representação de uma

imagem digital. Freqüentemente, a organização de uma imagem sob a forma

de uma matriz de pixels é feita em uma simetria quadrada, i.e., na forma de um

tabuleiro de xadrez. Isto se deve a facilidade de implementação eletrônica, seja

dos sistemas de aquisição seja dos sistemas de visualização de imagens. É

importante lembrar que este tipo de organização provoca o aparecimento de

29

dois problemas importantes nas técnicas de processamento. Em primeiro lugar

um pixel não apresenta as mesmas propriedades em todas as direções.

Chamamos de primitivas gráficas os comandos e funções que manipulam e

alteram os elementos gráficos de uma imagem. Também entram na definição

os elementos básicos de gráficos a partir dos quais são construídos outros,

mais complexos.(Hetem Annibal Jr.,2006, p3).

Pontos

O ponto é a unidade gráfica fundamental e também pode ser chamada de pixel.

Propriedades de um pixel :

- Posição no plano gráfico (x,y)

- Cor

Representação de pixel

Para se obter um pixel é necessário informar o par ordenado (x,y), que

possibilita as coordenadas de linha e coluna onde será pintada a grade do

vídeo; de acordo com a resolução especificada no sistema operacional.

Eixo de coordenadas (800x600) ou (1024x768)

(x,y) preto

(coordenada - x)

(coordenada - y)

30

Nesta aula procuramos abordar alguns aspectos importantes sobre os

processamentos de imagens.

Começamos abordando diversos temas relacionados a codificação e

transmissão de imagens, etc.

Definição de informação para processar uma imagem, e como consiste em

transformar sucessivamente a informação neste contesto na área de

computação gráfica.

31

1. Quanto à iluminação, qual a diferença entre Luz emitida e Luz refletida?

2. O que é sistema de cor Aditiva?

3. O que é sistema de cor subtrativa?

4. Explique o modelo RGB.

5. Em que tipos de dispositivos normalmente se utiliza o sistema de cores

RGB?

6. Explique o modelo CMYK.

32

Técnicas de produção de imagem Recursos de produção imagens Inserção das técnicas produção imagens Abordagem das mídias digitais

Dispositvos móveis

São as técnicas utilizadas na criação, planejamento, implantação e execução

de projetos para ambientes digitais, como websites, redes sociais, dispositivos

móveis (celulares e tablets) e portais na internet. Para essa finalidade, esse

profissional utiliza recursos de texto, imagem, som e animação que permitem a

interatividade. Em vídeo, ele atua na edição de imagens e na inserção de

vinhetas eletrônicas, em trilhas sonoras e em textos, além de criar e roteirizar

peças em diversas mídias. Cuida da fotografia e dos trabalhos em computação

gráfica para cinema, TV e mídia digital. Promove convergências de mídias,

como web rádios e web TVs. Lida com a realidade virtual e cria ambientes

interativos utilizando softwares, linguagens computacionais e ferramentas de

navegação pela internet. Em parceria com jornalistas, esse profissional pode

trabalhar em provedores de conteúdo, agências de publicidade e editoras.

Podem atuar em produtoras de vídeo, agências de publicidade, emissoras de

rádio, televisão e portais de internet.

Design digital

Coordenar desenhistas, ilustradores e diagramadores na elaboração do

desenho das páginas de sites na internet, equilibrando texto e imagem.

Dominar ferramentas de computação gráfica para desenvolver interfaces de

mídias digitais.

Edição de som

Aula 4

Objetivos de aprendizado: Conhecer os tipos de produção de imagem pelo computador. Compreender os termos técnicos e ferramentas computacionais.

33

Montar arquivos com músicas, diálogos, monólogos ou vinhetas para

veiculação em mídia eletrônica.

Edição de texto

Participar de equipes multidisciplinares na elaboração e montagem de textos e

hipertextos para auxiliar a navegação na internet e em CDs-ROM.

Tecnologia da mídia

Definir e acompanhar a aplicação de softwares para a internet. Estabelecer

links, abrir imagens, reproduzir arquivos de som e amarrar hipertextos.

Computação gráfica

Criar interfaces para cinema, TV e mídia digital.

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

34

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 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.

35

É 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

36

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.

37

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 as

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

esses motivos, 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 gráicos 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.

38

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

39

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.

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.

Para superar esses problemas a Computação Gráfica deveria possibilitar o uso

conjunto e simultâneo de diferentes técnicas de visualização.

40

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. 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.

41

1. Em que tipos de dispositivos normalmente se utiliza o sistema de cores

CMYK?

2. Por que razão a cor preta teve de ser incorporada no sistema de cores

CMYK?

3. Que tipos de problemas podem ocorrer na conversão entre os modelos de

cores.

4. Quais as vantagens e desvantagens do modelo HSB

5. O que são cores indexadas?

6. Explique a conversão entre bitmaps.

7. Como ocorre a conversão de arquivos bitmaps para vetores?

8. Como ocorre a conversão de vetores para bitmaps?

42

Primitivas Gráficas Conceitos de primitivas Conversão matricial

Primitivas de desenho

O objetivo desta prática é entender como desenhar objetos simples. Para tanto,

a biblioteca oferece um conjunto de primitivas de desenho, que podem ser

utilizadas tanto em 2D como em 3D.

Conversão matricial

E o processo que permite realizar a conversão de um desenho qualquer

armazenado na memória de imagem para um dispositivo matricial (ou raster)

que siginifica (Imagens raster (ou bitmap, que significa mapa de bits em inglês)

são imagens que contêm a descrição de cada pixel, em oposição aos gráficos

vectoriais)

Primitivas Gráficas

Primitivos são elementos geometricos básicos que podemos utilizar na

representação gráfica de nossa aplicação.

Exemplo:

São retas, circunferência, elipse e etc.

Aula 5

Objetivos de aprendizado: Conhecer as Primitivas Gráficas. Compreender a conversão matricial

43

Primitivas de Desenho São formas de interpretar informação geométrica. Como visto em aula, e como

mostra na figura acima.

Traçado de Retas A reta é a primitiva 2D mais comum.

Todos wireframes(modelos de arame) 3D são eventualmente retas 2D.

Os algoritmos aperfeiçoados contêm numerosas técnicas e truques que ajudam

a projetar algoritmos mais avançados.

Características Desejáveis para o Traçado de Retas

Linearidade

Os pixelstraçados devem dar a aparência de que estão sobre uma reta

Espessura (densidade) uniforme

44

A densidade da reta é dada pelo número de pixelstraçados dividido pelo

comprimento da reta. Para manter a densidade constante, os pixels devem ser

igualmente espaçados. A imagem do segmento de reta não deve variar de

espessura ao longo de sua extensão.

Correção no Traçado de Retas

Propriedades Exigidas no Traçado de Retas

Precisão

Os segmentos devem iniciar e terminar nos pontos especificados. Caso isso

não ocorra, pequenos gapspodem surgir entre o final de um segmento e o

início de outro

Densidade independente da inclinação

45

Para segmentos de retas de diferentes inclinações

Continuidade

A imagem não apresenta interrupções indesejáveis

Rapidez no traçado dos segmentos

Retas Rápidas

Queremos desenhar uma reta entre os pontos (x1,y1)

Instanciamento de Primitivas (justaposição de sólidos primitivos)

Esta técnica de modelagem cria novos objetos através do posicionamento de

objetos por transformações geométricas

Outra forma de criar objetos com esta técnica é o uso de Primitivas

Parametrizáveis . Com isto pode-se criar, por exemplo, um conjunto de peças

mecânicas ou roupas, com apenas alguns comandos.

Na figura a seguir pode-se observar uma cadeira que foi modelada pela

justaposição de paralelepípedos e uma sala modelada pela justaposição de

cadeiras e de uma mesa.

Geometria Sólida Constritiva ( CSG-Contrutive Solid Geometry )

Método de CSG consiste em construir um objeto a partir da combinação

operatória (união, intersecção e diferença) de dois ou mais sólidos. A figura

4exemplifica o uso desta técnica. No exemplo pode-se observar a realização

de uma diferença entre um retângulo e uma elipse.

46

Modelagem por Varredura (sweep)

A representação por varredura cria objetos baseada na noção de que uma

curva C1 quando deslocada no espaço ao longo de uma trajetória dada por

uma outra curva C2 descreve uma superfície que pode ser usada para definir

um sólido. À curva C1 dá-se o nome de CONTORNO ou GERATRIZ e à C2, o

nome de CAMINHO OU DIRETRIZ.

Varredura Translacional(Extrusão)

Um objeto "O" definido por varredura translacional é obtido pela translação de

uma curva C ao longo de um vetor V, por uma distância D. A figura abaixo

exemplifica a criação de dois objetos por esta técnica. A varredura translacional

de um retângulo gera um paralelepípedo, de uma circunferência gera um

cilindro.

47

Varredura Rotacional

Neste tipo de modelagem por varredura a superfície do objeto é descrita por

uma curva que gira em torno de um eixo. Na figura acima temos, à esquerda,

uma curva C e à direita o objeto gerado pela rotação de C em torno do eixo Y.

Modelagem por Seções Transversais

Esta técnica permite gerarem sólidos através de cortes. A idéia básica é obter

seções transversais do objeto que se deseja modelar. A partir destas seções,

usem-se seus pontos através de triângulos. A sfatias podem ser obtdas pelo

corte do objeto ou por processos como tomografia.

Toma-se um eixo (segmento de reta)

• Corta-se o sólido em fatias perpendiculares ao eixo

• Digitaliza-se o contorno de cada fatia

• Une-se as fatias com triângulos

48

1. A computação gráfica é uma área multidisciplinar. Descreva as disciplinas e de que forma ocorre essa abrangência. 2. A computação gráfica é subdividida em 3 grandes áreas, defina cada uma delas. 3. Defina a divisão funcional da computação gráfica. 4. Quanto a aplicação da computação gráfica, como podemos classificá-la? 5. O que é imagem digital? 6. O que é imagem raster? 7. O que é desenho vetorial? 8. Defina o pixel. 9. Explique a resolução de imagens

49

50

Conceitos de aplicativos gráficos Manipulação de ambiente gráfico Aplicativos gráficos

Ambientes gráficos

Atualmente todas as áreas da computação dependem de aplicações gráficas

de alto desempenho. Isso requer naturalmente, grandes recursos de hardware

para processar estes ambientes e interfaces, além naturalmente da

necessidade de programadores experientes para lidar com as mais diversas

bibliotecas e tecnologias existentes.

A Computação Gráfica é uma área da Ciência da Computação dedicada ao

estudo e desenvolvimento de técnicas e algoritmos para geração de imagens,

bem como análise e manipulação das mesmas. Está presente em diversas

áreas do conhecimento, que vão desde aplicações para Engenharia em

projetos e modelagem de objetos, simuladores e na criação de jogos

eletrônicos.

A Computação Gráfica surge somente após a criação de periféricos gráficos de

entrada e saída, pois antes as informações eram representadas somente por

meio de caracteres alfanuméricos. A quantidade de cálculos matemáticos em

aplicações gráficas necessita de muita memória e recursos de processamento

em termos de velocidade.

Para aproveitar melhor a capacidade de hardware e facilitar a criação de

aplicações gráficas, o mais comum é que programadores utilizem bibliotecas

Objetivos de aprendizado: Conhecer e manipular ambiente gráfico.

Quais são os aplicativos gráficos disponível no mercado.

Aula 6

51

prontas que trazem uma infinidade de funcionalidades rotinas comuns. No caso

específico da Computação Gráfica, programadores necessitam de rotinas

gráficas para elaborar rapidamente programas sem ter a preocupação de

desenvolver algoritmos básicos, tais como um segmento de reta, inclinação,

preenchimento de objetos e etc.

A Open Graphics Library – OpenGL pode ser compreendida como um conjunto

de rotinas gráficas e de modelagem que facilita o desenvolvimento de

aplicações gráficas, sejam elas bidimensionais ou tridimensionais.

A OpenGL é gerenciada por um consórcio independente formado em 1992

formado por diversas empresas tais como 3DLabs, Apple, NVIDIA, SGI,

ORACLE (SUN), Microsoft e diversas outras. A OpenGL se trata de uma API

para a criação de programas gráficos 2D e 3D multiplataforma que serve tanto

para estações de trabalho potentes ou computadores pessoais. Seu

funcionamento é semelhante a uma biblioteca da linguagem de programação

C. Um programa ou aplicação baseado em OpenGL pode ser escrito em

alguma linguagem de programação que utiliza uma ou mais rotinas da

biblioteca OpenGL.

Para facilitar o desenvolvimento de aplicações gráficas, há algumas bibliotecas

que nos auxiliam com diversas funções para criar janelas e gerenciar eventos.

As mais utilizadas são a GLU e a GLUT.

A GLU (OpenGL Utility Library) é mais comum e instalada com a OpenGL.

Seguem uma rígida padronização nos nomes das funções, sendo utilizado

sempre o prefixo glu. Destacamos que é usada na definição de matrizes para

projeção e orientação da visualização, mapeamento de coordenadas e

desenho de superfícies quadráticas.

A GLUT (OpenGL Utility Toolkit) foi desenvolvida para facilitar o

desenvolvimento de interfaces. É um kit de ferramentas independente de

plataforma que inclui alguns elementos de GUI (Graphical User Interface). Com

a CLUT podemos, por exemplo, criar menus pop-ups, gerenciar eventos de

52

teclado, mouse. Entendemos que a GLUT encapsula a complexidade das APIs

dos vários sistemas de janelas que existem hoje em dia.

Veremos a seguir como configurar o embiente de desenvolvimento para o uso

a linguagem C ou C++, no entanto hoje é possível desenvolver aplicações

gráficas usando linguagens modernas como C# ou Java[1].

A seguir as instruções consideram que o usuário esteja usando a ferramenta

Dev C++. Para instalar o ambiente de desenvolvimento.

Para instalar a biblioteca GLUT na ferramenta DEV-C++, selecione o menu

Ferramentas/Atualizações. Na janela WebUpdate, selecione o servidor

devpaks.org e clique em Check for updates. O programa irá baixar os pacotes

disponíveis. Selecione o grupo OpenGL e marque a linha contendo glut. Clique

no botão Download selected e aguarde. Siga as instruções da tela para que a

instalação seja concluída. Para se certificar que a instalação foi concluída,

verifique se existe a biblioteca litglut32 no diretório LIB do Dev C++.

Agora que o nosso ambiente de programação (a ferramenta DEV C++) está

pronto para estudarmos e experimentarmos os recursos da real Computação

Gráfica.

APLICATIVOS PARA COMPUTAÇÃO GRÁFICA

Desenho Vetorial/Ilustradores

• Illustrator • Inkscape - aplicativo de código aberto • CorelDraw

Desenho de bitmaps/Edição de fotos

• Adobe Photoshop • Corel PHOTO-PAINT • GIMP - aplicativo de código aberto

Visualizadores de imagens

• XnView • IrfanView

53

• Ulead Photo Explorer

Edição de Vídeo

• After Effects • VirtualDub - aplicativo de código aberto • Adobe Premiere • Sony Vegas • Cinelerra - aplicativo de código aberto • Final Cut

Modeladores 3D

• Wings 3D • Sculptris • ZBrush • Autocad • SolidWorks • Rhino3d • FreeCad • SketchUp

Modeladores e Animadores 3D

• Blender- aplicativo de código aberto • 3DsMax • Cinema 4D • Maya

54

De pesquisa:

1. Como ocorre a conversão de arquivos bitmaps para vetores?

2. Como ocorre a conversão de vetores para bitmaps?

3. O que é a compressão de imagens e em que é baseada?

4. Defina a compressão RLE.

5. Defina a compressão LZW.

6. Defina a compressão JPEG.

55

Tipos de Coordenadas Exemplos de transformações Mudanças de coordenadas

Transformações Geométricas

As transformações geométricas têm papel de destaque na computação gráfica.

Elas são a base matemática que permite a obtenção de resultados importantes

em programas que trabalham com dados 2D e 3D. Dentre as várias aplicações

das transformações geométricas, temos interesse especial em utilizá-las para

fazer projeções seguindo o modelo da câmera sintética. Antes de utilizá-las, no

entanto, é importante definí-las formalmente para que seu significado fique bem

claro.

As coordenadas homogêneas foram introduzidas nas matrizes de

transformação para que todas as transformações geométricas ficassem

uniformizadas na dimensão 4X4 de modo que o cálculo matricial pudesse ser

realizado a partir do simples pilhamento das matrizes.

Para ilustrar as matrizes de transformação a partir do programa

Transformation, foram criadas subjanelas mostrando os elementos da matriz

resultante do empilhamento de todas as transformações evidenciando os

elementos que estão sendo alterados em função da transformação aplicada

(rotação, translação e escala) e os elementos da matriz de projeção, onde

aparecem as transformações perspectivas.

Objetivos de aprendizado: Conhecer a estrutura de transformação 2D e 3D.

Compreender as mudanças de coordenadas. Identificar estas coordenadas.

Aula 7

56

Na figura abaixo, podemos observar que foram aplicadas transformações

geométricas de translação e de rotação do objeto modelado. Observe e

compare com a figura anterior, que na janela "Matriz Resultante", é possível

visualizar o efeito do empilhamento das matrizes de transformação. Observe

também que não há alterações na janela "Matriz de Projeção".

Translação Podemos entender a transformação de translação como o sendo um

deslocamento em linha reta. Podemos associar um fator de deslocamento a

cada dimensão do espaço onde estamos trabalhando, de forma que uma

translação pode ser representada por vetor.

Não faz sentido aplicar uma translação a vetor, já que não estamos associando

posição a ele.

Rotação A rotação pode ser definida como um movimento de giro, num plano, em

relação a um referencial. O resultado é um deslocamento que preserva a

distância entre o ponto e o referencial. Esta transformação preserva ângulos e

distâncias. No espaço tridimensional a rotação pode ser definida através da

associação de um ponto com um vetor, que chamaremos de eixo

57

Assim, podemos dizer que um eixo é um vetor ao qual existe uma posição

associada ou, “um vetor que passa por algum lugar”. Esta representação está

de acordo com a idéia de giro, num plano em relação a um ponto.

Escala A transformação de escala pode ser entendida como a mudança de unidade de

medida em uma ou mais dimensões. Ela produz um efeito que pode ser

associado ao zoom.

Normalmente, a mudança de escala é igual em todas as dimensões, de forma

a preservar ângulos, mas isso não é obrigatório. Associaremos um fator de

escala a cada dimensão. Apesar de não preservar ângulos e distâncias, uma

transformação de escala preserva o paralelismo entre linhas.

Inclinação A transformação de inclinação (do inglês shear) não é uma transformação

primária, ela pode ser definida em termos das transformações anteriores,

entretanto, devido à sua utilidade, ela será vista separadamente. Uma

transformação de inclinação tem o efeito de “puxar” um objeto em uma ou mais

dimensões e não deve ser confundida com a rotação. Esta transformação é

definida por um escalar (fator de inclinação) em cada dimensão que indica o

quanto uma coordenada será transladada em função de outra coordenada em

outra dimensão.

Projeção Conforme comentado anteriormente, para gerar a imagem de um objeto 3D,

precisamos converter as coordenadas 3D em coordenadas 2D que

correspondem a uma visão específica do objeto. Esse processo é chamado de

projeção.

Existem dois tipos de projeção: a perspectiva e a paralela. A projeção

perspectiva é aquela que acontece no processo de formação de imagens em

nossos olhos ou numa câmera fotográfica.

58

No processo de síntese de imagens, o plano de projeção será uma

representação de algum dispositivo de apresentação (ex.: vídeo ou papel num

impressora), por isso é importante que exista um sistema de coordenadas

embutido no plano de projeção (PP), de maneira que, a partir da coordenadas

de pontos de um objeto.

Projeção Paralela Para encontrar uma fórmula que nos permita fazer uma projeção paralela

qualquer, vamos primeiro imaginar um projeção paralela simples o suficiente

para que o cálculo da projeção seja trivial.

Projeção Perspectiva Da mesma forma que no caso da projeção paralela, pretendemos encontrar

uma projeção perspectiva com características especiais que permitam

encontrar seu resultado de maneira trivial.

59

Pesquise mais sobre: 1. O que é e como funciona a técnica de pontilhamento de cores? 2. Diferencie a compressão com e sem perda. 3. O que é o processo de visualização bidimensional? 4. Defina imagem e modelo de objeto. 5. Quais as etapas de visualização 2D? Defina cada uma delas.

60

Tratamento de imagem Software de tratamento de imagem Aspectos de cada software Introdução ao software

O Adobe PHOTOSHOP é um importante software para tratamento e

construção de imagens. Dispõe de diversos recursos e efeitos o PHOTOSHOP

leva sua mente a criar e editar figuras excelentes.

No PHOTOSHOP além de editar imagens feitas no CorelDRAW e outros

softwares, pode-se também editar fotos e construir suas próprias imagens.

Os arquivos construídos no PHOTOSHOP ganham a extensão PSD, mas

também pode-se salvar os seus arquivos no formato TIFF, BMP. E, além disso,

para que você possa usar as imagens construídas no PHOTOSHOP na

Internet, você pode salvar os arquivos como JPG(JPEG).

Quando o PHOTOSHOP é iniciado, o programa lhe avisará sobre o produto

que será mostrado e após o seu carregamento surgirá para a você a tela

principal. O mesmo ao iniciar não apresenta nenhuma imagem aberta, deve-se

abrir um arquivo de imagem suportado por ele. Quando o arquivo em questão é

aberto também é apresentada uma janela com uma

Aula 8

Objetivos de aprendizado: Aplicação dos conceitos tratamento de imagem. Compreender aspectos de cada software e a utilização.

61

Paletas de Trabalho

A interface do PhotoShop contém algumas paletas para auxiliar em nosso

trabalho com o programa.

Geralmente, ao lado esquerdo da tela se encontra a PALETA DE

FERRAMENTAS.

Camadas do Photoshop

A PALETA DE CAMADAS é com certeza, a mais importante do programa. Pois

com ela iremos trabalhar a todo instante.

Para cada objeto inserido na área de trabalho, cria-se automaticamente, uma

nova camada, para podermos alterar as configurações ou ate mesmo aplicar

efeitos em nosso trabalho, temos que fazê-lo através das camadas.

Após a edição de cada camada, podemos mesclá-las, tornando às uma única

imagem, através do meu CAMADA > ACHATAR CAMADAS.

62

Na paleta de camadas, existem as opções para CRIAR NOVA CAMADA,

DELETAR UMA CAMADA. Lembrando que, um objeto inserido na tela de

pintura, só poderá ser excluído do trabalho excluindo-se a camada à que ele

pertence.

Paleta Histórico

A paleta HISTÓRICO, exibe todas as ações efetuadas no programa, ou seja,

tudo que alterarmos desde o momento em que abrimos ou criamos uma nova

imagem, estará descrito nesta paleta. Podendo então, ser desfeita uma ou

mais ações.

Os efeitos do aplicativo esta no menu filtro, onde são utilizados para gerar

grande parte dos efeitos normalmente vistos em trabalhos profissionais.

63

64

Teórica: 1. Quais são os sistemas de referência? 2. Explique cada um dos 3 sistemas de referências. 3. O que é um Storyboard? Qual sua função? 4. O que é o processo de Renderização? 5. O que é Mesh? 6. O que é a 3D view? 7. Diferencie desenhar em 2D e modelar em 3D. É possível desenhar em 3D? 8. Descreva o que é um espaço tridimensional para a computação gráfica. 9. O que é uma GPU?

PRÁTICA 1. Faça uma montagem, escolha 2 (duas) imagens para esta montagem. 2. Crie um efeito com seu nome, e salve. 3. Crie uma marca d’água, escolha uma imagem para esta técnica. 4. Modifique a cor de uma foto, escolha uma imagem ou foto e modifique-a. 5. Crie um Logotipo e uma Logomarca.

65

Processamento de imagem digital Conceitos sobre os editores 3D A importância da modelagem

Visão geral sobre editor

Segundo BRITO (2010 p. 15), Blender é um software de modelagem e

animação 3D de código aberto. Ele está sob a licença GNU-GPL, que permite

a qualquer pessoa ter acesso ao código-fonte do programa para que possa

fazer melhorias, contanto que disponibilize tais melhorias à comunidade.

Para facilitar as coisas, vamos pensar nos editores. Temos editores de textos

como o LibreOffice, que nos permite dentre outras coisas, escrever textos,

formatar esses textos, alterar as cores das letras, seus tamanhos, ordem de

escrita, inserir imagens, rotacionar e redimensionar objetos, importar tabelas e

até outros arquivos para dentro do documento.

Com os editores de imagens acontece a mesma situação. Nós criamos

imagens, alteramos imagens prontas, mudamos cores, inserimos textos,

importamos alguns tipos de arquivo externos, mudamos as dimensões, rotação

e assim por diante.

O Blender é uma espécie de editor 3-D. Nele nós criamos cenas, objetos,

alteramos as propriedades desse objeto, como as cores, dimensões, rotação.

Importamos uma série de arquivos externos, escrevemos textos em 3-D dentre

outras inúmeras possibilidades. Existem uma série de características

Aula 9

Objetivos de aprendizado: Compreender tipos de editores 2D e 3D. Conhecer como modelar objetos em 2D e 3D

66

interessantes e de coisas bacanas que podem ser executadas no Blender.

Obs. : Todos os exemplos mostrados a seguir foram feitos pelo criador desse

material.

No site do Blender e outros especializados no assunto há efeitos mais

sofisticados e que exemplificam mais amplamente o uso das ferramentas.

Modelagem Funciona como uma ferramenta de modelagem para propósitos gerais. Seja na

criação de maquetes, ambientes internos, mascotes, humanoides e até objetos

mecânicos.

Animação Desde animações simples, como deslocamento e rotações, até a articulação de

personagens e simulações de fluídos, tecidos, corpos rígidos e etc.

Simulação de pelos e cabelo Com a esfera podemos criar varios tipo Hair, ou seja, cabelo. Foi ativado o Hair

Dynamics, que possibilita dar movimento aos fios quando o corpo principal

(esfera) é animado. Uma característica interessante do Hair no Blender é que

você pode penteá-lo em tempo real. Isso mesmo!

Você conta com ferramentas que além de pentear os cabelos virtuais, também

os enrola, corta e faz crescer. É como ser um cabeleireiro com poderes extras.

A partícula Hair pode ser usada também para simular grama e mesmo reagir

com outros elementos, como vento, personagens caminhando ou corpos

rígidos que eventualmente colidirão com ela.

Simulação de tecidos Permite simular toda a sorte de tecidos, como algodão, cotton, couro e afins.

O modificador de tecido ou Clothe, como é conhecido, foi combinado com o

Hair, para criar o efeito de couro com lã. Quando visto de perto, podemos

atestar a qualidade do efeito criado com a lã e sua deformação combinada com

67

a do tecido. Os cálculos de deformação do tecido, bem como dos outros

modificadores semelhantes são feitos automaticamente, foi colocada uma

esfera que levanta o tecido pelo meio.

68

PRÁTICA: 1. Faça uma modelagem de um cubo colorido. 2. Faça uma modelagem de uma caneca. 3. Faça uma modelagem de uma mesa. 4. Faça uma modelagem em 3D de um ambiente. 5. Fala uma Modelagem do logo da Microsoft.

69

O processo de rendering Conceito sobre rendering Acabamento visual

Conceito sobre rendering

Na área da computação gráfica isso se dá por meio do emprego de programas

computacionais criados no exterior que, mesmo passando pela tradução de

suas palavras e expressões lingüísticas, não conseguem forçar o usuário a

mudar os termos que costuma utilizar para se expressar. Em geral, palavras

que ainda não sofreram sua tradução para o português por não serem de uso

corriqueiro acabam por serem empregadas na sua forma original. Isso facilita e

agiliza, a troca de informações entre profissionais de países distintos,

principalmente por meio da internet.

Como exemplo dessa situação está o termo rendering, há muito utilizado no

meio gráfico brasileiro. Esta expressão é empregada na ilustração 2d, manual

ou computacional e na ilustração e animação 3d (exclusivamente

computacionais). Quando empregado por artistas 2d o termo rendering significa

uma técnica de ilustração que permite a obtenção de imagens com grande

apelo visual e de forma rápida. Esta técnica é muito empregada na área do

Design para ilustrar idéias de novos produtos.

Já na área da computação gráfica 3D o rendering significa gerar uma imagem

2D a partir do modelo, para 3D previamente construído. Esse processo é

realizado por um programa chamado renderer, que pode ser parte integrante

do programa de modelagem 3D. O renderer faz cálculos para traduzir a

Aula 10

Objetivos de aprendizado: Compreender os conceitos sobre rendering. Conhecer técnicas empregadas na área de design.

70

linguagem 3D do modelo para a linguagem 2D, refinando o acabamento visual

original do modelo 3D. O resultado final são imagens dos mais variados

formatos, como: jpeg, .tiff, .gif, etc.

A necessidade do processo de gerar um rendering ou de renderizar um modelo

3d está relacionado a dois fatores.

Primeiro, a geração de imagens 2d ou de uma animação, que nada mais é que

uma seqüência de imagens 2d, permite que o modelo 3d seja visualizado em

diferentes formatos ou diferentes mídias (computadores, celulares, tocadores

de mp4, etc) sem a necessidade de possuirmos o programa computacional

utilizado para sua criação. Por exemplo, não lhe pedirão para comprar um

programa de modelagem e animação 3d como o Autodesk Maya ou o NewTek

LightWave quando quiser assistir a um “Madagascar” ou um “300 de Esparta”.

Segundo, a qualidade visual apresentada na tela do programa de modelagem e

animação 3d, chamada de wireframe ou aramado é inferior à obtida pelo

processo de rendering. Isso se deve ao fato da imagem apresentada por esses

programas se basear no processamento feito pelas placas de vídeo do

computador que, em geral, conseguem calcular apenas uma parcela dos

parâmetros disponíveis para geral uma imagem com acabamento refinado.

Dentre estes parâmetros, responsáveis pela qualidade de um rendering estão:

a iluminação direta e indireta do modelo 3d, o sombreamento, a texturização,

transparência, translucência, reflexão, refração, difração, etc. Por exemplo, são

estes parâmetros que permitem a obtenção de imagens que mais parecem

fotos tiradas de objetos reais, quando na verdade são modelos 3d.

Devemos considerar ainda que o processo de renderizar possa ser feito em

tempo real ou de forma prévia. O rendering em tempo real é utilizado em

simulações e em jogos eletrônicos, nos quais o processamento que traduz o

modelo 3d para uma imagem 2d é feita baseada na capacidade de

processamento gráfico do conjunto de hardware, encabeçado pela placa

gráfica. Em geral o rendering em tempo real apresenta qualidade visual inferior

ao rendering prévio ou pre-rendering.

71

Por outro lado, como o próprio nome diz, o rendering prévio ou pre-rendering

utiliza toda a capacidade de processamento da máquina empregada para esse

fim, gerando imagens 2d que podem ser vistas em outras mídias sem a

necessidade de refazer esse processamento, o que ocorre no rendering em

tempo real. Além disso, a qualidade visual das imagens tende a ser superior,

visto que esse é o processo para a criação de animações 3d e efeitos especiais

para filmes. O processo de pre-rendering pode demorar de minutos a horas ou

dias para serem concluídos, dependendo do poder de processamento da

máquina e da complexidade do modelo 3d e dos parâmetros do rendering.

Pare para pensar...

Por fim, duas considerações importantes sobre o rendering, relacionadas ao

trabalho com ilustração e animação 3d. Devido ao fato de a qualidade visual

final da imagem 2d (também chamada de ilustração 3d, quando a imagem é

gerada a partir de um modelo 3d) ou da animação 3d depender do processo de

rendering o tempo de duração deste processo deve ser considerado na

formação do custo do projeto. Além disso, o tempo de duração do rendering

também deve ser contabilizado para o tempo total de execução de qualquer

projeto de ilustração ou animação 3d, evitando-se atrasos na entrega de um

projeto ou até mesmo seu cancelamento.

72

73

Trabalho Final

Objetivos

Objetivo: Aplicação das técnicas em Computação Gráfica, desenvolvido em

uma Home Page ou um blog. Com o conteúdo abordado em aula.

Datas das apresentações:

Todas as apresentações devem ser entregues em pen drive antes do início da

aula.

Trabalhos entreguem após o prazo e momentos estabelecidos não serão

avaliados;

Apresentação deve seguir os critérios abaixo:

Conteúdo: Objetivo;

• Introdução

• Fundamentação Teórica

• Desenvolvimento

• Conclusão

• Referências;

74

Referências Bibliograficas

BAUER, Peter. Photoshop Cs4 para Leigos. Rio de Janeiro: Alta Books, 2009

FIDALGO, João. Adobe Photoshop CS4: Técnicas Avançadas e Finalização.

São Paulo: Érica, 2009

ANDRADE, Marcos Serafim de. Adobe Photoshop 7.0 : inclui recursos da

versão CS. São Paulo: SENAC, 2005

Periodico

REVISTA ESPIRITO LIVRE, Ed. n #041 - Agosto 2012 . Disponível em :

<http://www.revista.espiritolivre.org/edicoes>. Acesso em 01 setembro de 2013.

REVISTA ESPIRITO LIVRE - Ed. n #011 - Fevereiro 2010 .Disponível em:

<http://www.revista.espiritolivre.org/edicoes>. Acesso em 01 setembro de 2013.

REVISTA DESIGN. Disponível em:

<http://www.revistadesign.com.br/2/>.Acesso em 01 setembro de 2013.

REVISTA TIC TECNOLOGIA-INFORMAÇÃO-COMUNICAÇÃO NA

EDUCAÇÃO, São Paulo, V4. Disponível em :

<http://www.ticnaeducacao.com.br>. Acesso em 01 setembro de 2012.