{ "metadata": { "name": "" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "[Python para Desenvolvedores](http://ricardoduarte.github.io/python-para-desenvolvedores/#conteudo)\n", "===================================\n", "2ª edi\u00e7\u00e3o, revisada e ampliada\n", "-----------------------------------\n", "\n", "Cap\u00edtulo 34: Computa\u00e7\u00e3o Gr\u00e1fica\n", "=============================\n", "_____________________________\n", "A Computa\u00e7\u00e3o Gr\u00e1fica (CG) \u00e9 a \u00e1rea da Ci\u00eancia da Computa\u00e7\u00e3o que estuda a gera\u00e7\u00e3o, representa\u00e7\u00e3o e manipula\u00e7\u00e3o de conte\u00fado visual em sistemas computacionais e tem aplica\u00e7\u00e3o em v\u00e1rias \u00e1reas do conhecimento humano.\n", "\n", "Simula\u00e7\u00f5es, por exemplo, s\u00e3o sistemas que empregam c\u00e1lculos matem\u00e1ticos para imitar um ou mais aspectos de um fen\u00f4meno ou processo que existe no mundo real. Simula\u00e7\u00f5es permitem entender melhor como o experimento real funciona e verificar cen\u00e1rios alternativos com outras condi\u00e7\u00f5es.\n", "\n", "No caso dos jogos, que na verdade s\u00e3o uma forma de simula\u00e7\u00e3o interativa que faz uso de recursos visuais para aumentar a sensa\u00e7\u00e3o de realismo, conhecida como imers\u00e3o, e com isso, enriquecer a experi\u00eancia do jogador.\n", "\n", "Outra aplica\u00e7\u00e3o \u00e9 a visualiza\u00e7\u00e3o, como dizia um antigo ditado popular: \"uma imagem vale por mil palavas\", e isso \u00e9 mais verdadeiro ainda quando \u00e9 necess\u00e1rio interpretar grandes quantidades de dados, como acontece em diversas atividades cientificas, m\u00e9dicas e de engenharia.\n", "\n", "\u00c1reas como geografia, cartografia e geologia demandam por GIS (*Geographic Information Systems* / Sistemas de Informa\u00e7\u00f5es Geogr\u00e1ficas), que representam topologias e dados associados, tais como altura, umidade e outros.\n", "\n", "A engenharia e atividades afins usam ferramentas CAD (*Computer Aided Design* / Projeto Assistido por Computador) para facilitar a cria\u00e7\u00e3o de desenhos t\u00e9cnicos para componentes ou pe\u00e7as de maquinaria.\n", "\n", "Al\u00e9m disso, v\u00e1rias formas de arte se beneficiam da CG, como o cinema, principalmente para a cria\u00e7\u00e3o de efeitos especiais. A CG tamb\u00e9m permitiu o surgimento novas formas de arte, que usam um ambiente digital como m\u00eddia, como por exemplo a anima\u00e7\u00e3o em tr\u00eas dimens\u00f5es (3D).\n", "\n", "Matrizes versus vetores\n", "-----------------------\n", "\u00c9 muito comum representar uma informa\u00e7\u00e3o visual em forma bidimensional (2D), seja em fotos, gr\u00e1ficos impressos ou em uma tela de LCD. Existem duas formas para a representa\u00e7\u00e3o de imagens bidimensionais amplamente utilizadas, cada qual com suas vantagens e desvantagens.\n", "\n", "A primeira \u00e9 matricial, tamb\u00e9m conhecida como mapa de *bits* (*bitmap*) ou *raster*, na qual a imagem \u00e9 representada como uma matriz bidimensional de pontos com informa\u00e7\u00f5es sobre cor, chamados de elementos de imagem (*picture element*, geralmente abreviado como *pixel*). Esta forma requer algoritmos sofisticados para ser manipulada e armazenada, devido ao volume de dados, e a complexidade das opera\u00e7\u00f5es, como interpolar valores durante um redimensionamento, por exemplo.\n", "\n", "![Bitmap](files/bpypd_diags24.png)\n", "\n", "A segunda forma de representa\u00e7\u00e3o s\u00e3o as imagens vetoriais, que s\u00e3o descritas atrav\u00e9s de entidades matem\u00e1ticas que comp\u00f5em a geometria da imagem (linhas, pol\u00edgonos, texto e outros). Esta forma \u00e9 menos exigente em termos de recursos computacionais e n\u00e3o apresenta problemas associados a redimensionamento, por\u00e9m n\u00e3o permite muitas opera\u00e7\u00f5es que o mapa de bits viabiliza.\n", "\n", "Entre outras formas de representa\u00e7\u00e3o, \u00e9 interessante destacar os fractais, em que as imagens s\u00e3o geradas atrav\u00e9s de algoritmos que s\u00e3o aplicados de forma recursiva.\n", "\n", "Estas formas de representa\u00e7\u00e3o levaram ao surgimento de v\u00e1rios formatos de arquivo para armazenamento de imagens, inclusive abertos, como o PNG (*Portable Network Graphics*), que suporta imagens raster, com transpar\u00eancia inclusive, e o SVG (*Scalable Vectorial Graphics*), para imagens vetoriais, mapas de bits e at\u00e9 anima\u00e7\u00f5es. Ambos s\u00e3o homologados pelo W3C (*World Wide Web Consortium*).\n", "\n", "![Bitmap x Vetorial](files/bpypd_diags23.png)\n", "\n", "Existem hoje v\u00e1rias bibliotecas voltadas para CG dispon\u00edveis para Python, que est\u00e3o em estado avan\u00e7ado de maturidade." ] }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [ { "html": [ "\n", "" ], "output_type": "pyout", "prompt_number": 1, "text": [ "" ] } ], "prompt_number": 1 } ], "metadata": {} } ] }