Baixe o app para aproveitar ainda mais
Prévia do material em texto
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 blocosda 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 quecompõ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-seo 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 coordenadasTransformaçõ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 elairemos 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.
Compartilhar