baixe aqui - Computação Gráfica

Transcrição

baixe aqui - Computação Gráfica
Disciplina
Computação
Gráfica
Sobre o autor
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.
Apresentação
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
desenvolvimento de uma educação de qualidade.
favoráveis
ao
Sumário
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
Projeto instrucional
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
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
Aula
1
Introdução a Computação Gráfica
Definição CG
Historia
Objetivos de aprendizado:
Conhecer os recursos da computação
gráfica.
Pouco da historia da computação
gráfica.
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
1
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.
2
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.
3
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.
4
•
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.
5
•
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.
6
•
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.
7
•
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.
8
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.
9
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
10
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.
11
Aula
2
Dispositivos Gráficos
Tipos de dispositivos I/O
Dispositivos de interatividade
Objetivos de aprendizado:
Conhecer os Dispositivos Gráficos.
Compreender
as
Homem/Maquina.
interações
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.
12
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
13
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
14
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.
15
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.
16
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
17
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.
18
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.
19
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).
20
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).
21
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.
22
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
23
24
Aula
3
Métodos da Computação Gráfica
Tipos de processamento de imagens.
Objetivos de aprendizado:
Mecanismos de estudo das imagens.
Como funcionam os processos das
imagens.
Quais são os métodos 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”.
25
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 coresfalsas, 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.
26
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
27
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
28
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
(coordenada - y)
(x,y) preto
(coordenada - x)
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)
29
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.
30
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.
31
Aula
4
Técnicas de produção de imagem
Recursos de produção imagens
Objetivos de aprendizado:
Inserção das técnicas produção imagens
Abordagem das mídias digitais
Conhecer os tipos de produção de
imagem pelo computador.
Compreender os termos técnicos e
ferramentas computacionais.
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
32
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
33
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.
34
É 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
35
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.
36
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.
37
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
38
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.
39
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.
40
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?
41
Aula
5
Primitivas Gráficas
Conceitos de primitivas
Conversão matricial
Objetivos de aprendizado:
Conhecer as Primitivas Gráficas.
Compreender a 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.
42
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
43
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
44
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.
45
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.
46
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
47
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
48
49
Aula
6
Conceitos de aplicativos gráficos
Manipulação de ambiente gráfico
Objetivos de aprendizado:
Aplicativos gráficos
Conhecer e manipular ambiente gráfico.
Quais são os aplicativos
disponível no mercado.
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
50
gráficos
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
51
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
52
•
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
53
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.
54
Aula
7
Tipos de Coordenadas
Exemplos de transformações
Objetivos de aprendizado:
Conhecer a estrutura de transformação
2D e 3D.
Mudanças de coordenadas
Compreender
coordenadas.
as
mudanças
Identificar estas 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.
55
de
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
56
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.
57
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.
58
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.
59
Aula
8
Tratamento de imagem
Software de tratamento de imagem
Objetivos de aprendizado:
Aspectos de cada software
Aplicação dos conceitos tratamento de
imagem.
Compreender
aspectos
software e a utilização.
de
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
60
cada
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.
61
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.
62
63
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.
64
Aula
9
Processamento de imagem digital
Conceitos sobre os editores 3D
Objetivos de aprendizado:
A importância da modelagem
Compreender tipos de editores 2D e
3D.
Conhecer como modelar objetos em
2D e 3D
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
65
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
66
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.
67
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.
68
Aula
10
O processo de rendering
Conceito sobre rendering
Objetivos de aprendizado:
Acabamento visual
Compreender
rendering.
os
conceitos
sobre
Conhecer técnicas empregadas na
área de design.
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
69
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.
70
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.
71
72
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;
73
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
EDUCAÇÃO,
TIC
TECNOLOGIA-INFORMAÇÃO-COMUNICAÇÃO
São
Paulo,
V4.
Disponível
NA
em
:
<http://www.ticnaeducacao.com.br>. Acesso em 01 setembro de 2012.
74

Documentos relacionados