c:computacao_grafica
Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
Ambos lados da revisão anteriorRevisão anteriorPróxima revisão | Revisão anterior | ||
c:computacao_grafica [2022/08/25 17:25] – Tópicos sobre a parte prática da CG. Bruno Lima | c:computacao_grafica [2022/08/29 22:19] (atual) – Milena Mello | ||
---|---|---|---|
Linha 1: | Linha 1: | ||
+ | ===== Visão Geral ===== | ||
+ | A computação gráfica é uma área da ciência da computação que, através de recursos computacionais e diversos algoritmos e aplicações matemáticas diferentes, realiza a representação de dados através de uma imagem, vídeo ou animação. É uma área que possibilita com que as pessoas se aproximem da tecnologia, facilitando o seu entendimento, | ||
+ | {{: | ||
+ | ===== Histórico ===== | ||
+ | |||
+ | * **1950-1960: | ||
+ | O início dos estudos quanto à computação gráfica pode ser datado no início da década de 50, momento em que estava ocorrendo um grande avanço tecnológico, | ||
+ | |||
+ | *__1950__: Muitos atribuem Benjamin Francis Laposky como sendo o responsável por criar o primeiro gráfico computacional, | ||
+ | |||
+ | *__1951__: É criado no Instituto de Tecnologia de Massachusetts (MIT) o computador Whirlwind I, como parte de um projeto da marinha americana para simulação de ambientes de voo. O Whirlwind I foi o primeiro computador digital do MIT e também o primeiro a utilizar um display gráfico, sendo capaz de mostrar texto e imagens em tempo real através de uma tela de tubo de raios catódicos (CRT). Esse computador era capaz de receber dados de um radar e sobrepor sobre a imagem geográfica existente na tela um símbolo representando uma aeronave. | ||
+ | |||
+ | *__1955__: É criada a caneta óptica, como parte do projeto do Whirwind I. Ela é um dispositivo de entrada do computador, análoga a como se usaria uma touchscreen, | ||
+ | |||
+ | *__1956__: A partir do projeto do Whirlwind I, é criado o computador SAGE (Semi-Automatic Ground Enviroment), | ||
+ | |||
+ | *__1958__: Primeiro uso de computação gráfica no cinema por John Whitney no filme Vertigo de Alfred Hitchcock, sendo então a primeira animação por computador realizada. | ||
+ | |||
+ | *__1959__: Fruto de uma parceria da General Motors e IBM, o DAC-1 (Design Augmented by Computer) foi um dos primeiros programas que utilizou computação gráfica para a realização de designs. O sistema era capaz de manipular desenhos existentes e modificá-los no computador, sem ter que ficar escaneando novos desenhos apenas para pequenas mudanças. Com novos avanços, o programa também se tornou capaz de converter linhas em um objeto 3D, sendo muito utilizado para o desenvolvimento de automóveis. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | * **1960-1970: | ||
+ | Nos anos 60, então, que explodem os estudos quanto à computação gráfica, sendo constantemente desenvolvidas novas tecnologias para proporcionar modelagem de imagens digitais e amplamente usadas no mercado, principalmente em empresas automobilísticas, | ||
+ | |||
+ | *__1962__: Steve Russel do MIT cria o primeiro jogo gráfico de computador, com interface e premissa parecida com os gráficos do Whirlwind I. | ||
+ | |||
+ | *__1963__: É criado o “Sketchpad” como parte do trabalho do Dr. Ivan Sutherland, sendo um grande avanço na área da computação gráfica, principalmente para a sua base teórica de software, pois se tratava do primeiro aplicativo de desenvolvimento e modelagem de gráficos. O Sketchpad, então, exibia gráficos no display CRT e os desenhos da caneta eram interpretados como entradas, manipulando e criando novos gráficos, de maneira análoga a um mouse moderno. Assim, tal programa foi a fundação das Interfaces Gráficas do Usuário, da interação computador-humano e da computação gráfica. | ||
+ | |||
+ | *__1966__: A NASA, como parte do programa do Laboratório de Propulsão à Jato (JPL) desenvolve um programa de processamento de imagens, o VICAR (Video Image Communications and Retrieval) para trabalhar com imagens da lua tiradas pelas espaçonaves. | ||
+ | |||
+ | *__1968__: É apresentado para o público o mouse de computador, um dispositivo de apontar que detecta movimentos em duas dimensões e os traduz para a tela, possibilitando um controle de uma interface gráfica. | ||
+ | |||
+ | * **1970-1980: | ||
+ | Já nos anos 70 o seu uso já se torna mais popular, havendo grandes melhorias para deixar os gráficos mais realistas, havendo mais estudos quanto aos gráficos 3D. | ||
+ | * Surgem mais jogos com computação gráfica (“Odyssey”, | ||
+ | * Aumenta a presença de computação gráfica nos filmes, com Edwin Catmull se tornando um dos pioneiros na indústria de animação 3D, se envolvendo em trabalhos em empresas como LucasFilms, Pixar e Disney; \\ | ||
+ | * Invenção de novas tecnologias e algoritmos, como com novas técnicas de mapeamento e renderização; | ||
+ | * Criação do SuperPaint, um precursor dos pacotes modernos de computação gráfica. | ||
+ | {{: | ||
+ | |||
+ | * **1980-1990: | ||
+ | Os anos 80 possibilitaram a expansão da computação para cada vez mais áreas, com a computação gráfica se tornando mais acessível, moderna e comercializável.\\ | ||
+ | * Mais vídeo games sendo lançados, como o jogo The Donkey Kong pela Nintendo; \\ | ||
+ | * Apple lança o computador pessoal Apple Macintosh, que abriu caminho para que as pessoas pudessem projetar coisas em seus próprios computadores com os pacotes gráficos inclusos;\\ | ||
+ | * Microsoft lança o MS Paint;\\ | ||
+ | * São fundadas as empresas SGI e Adobe;\\ | ||
+ | * Diversos filmes têm computação gráfica bastante presente em suas produções. | ||
+ | |||
+ | * **1990- Dias atuais:** | ||
+ | Assim, dos anos 90 até hoje em dia, só houveram mais avanços: | ||
+ | * Computação gráfica se torna algo bastante acessível à computadores pessoais, estando ao alcance de qualquer pessoa;\\ | ||
+ | * A indústria de jogos eletrônico agora é uma das que mais cresce;\\ | ||
+ | * Surge o standar gráfico de programação OpenGL (SGI);\\ | ||
+ | * Filmes feitos inteiramente com computadores; | ||
+ | * Gráficos são extremamente realistas, os algoritmos são extremamente avançados; | ||
+ | * Celulares também são capazes de criar gráficos realistas; | ||
+ | * Agora, um rosto humano pode ser criado completamente por computação em tempo real. | ||
+ | |||
+ | |||
+ | =====Tipos de Imagem ===== | ||
+ | ===Bitmaps/ Gráficos Raster:=== | ||
+ | São imagens formadas por um conjunto de pixels, que com a união desses, tem-se a informação de cor. Um pixel consiste em um ponto desse bitmap 2D, um ponto de cor, em que, quanto mais pontos, mais exata a imagem. Em uma imagem bitmap, as bordas sofrem alterações, | ||
+ | O computador se tornar capaz de registrar uma imagem, então, registrando qual cor está presente em cada pixel, representando essas cores com pixels, se há 8 cores, utiliza-se oito bits para armazenar a imagem, 16 cores, 16 bits etc. | ||
+ | Esse tipo de imagem, porém, acaba ocupando muito espaço na memória e sua manipulação é difícil, já que qualquer grande alteração deixa a imagem granulada (pelos pixels) ou ilegível. | ||
+ | |||
+ | ===Gráficos Vetoriais: | ||
+ | Dessa forma, as informações da imagem como cor e dimensões são representadas por geometrias simples, como pontos, linhas, curvas e polígonos, que são baseadas em equações matemáticas. A imagem pode então, ser vista como um conjunto de pontos exatamente relacionados uns com os outros (é como posicionar a imagem em cima de um plano cartesiano), | ||
+ | \\ | ||
+ | {{: | ||
+ | |||
+ | =====Principais Áreas no ramo da Computação Gráfica===== | ||
+ | ===Modelagem: | ||
+ | É a tradução de objetos do mundo real (seu tamanho, forma e propriedades) em equações matemáticas que podem ser entendidas e armazenadas pelo computador. É tornar capaz de não apenas visualizar imagens no computador, mas também conseguir mostrar sua estrutura e comportamento. Há três tipos principais de modelagem 3D: | ||
+ | * Modelagem Sólida: trabalha com formas primitivas, como esferas, cubos e prismas para construir o objeto; | ||
+ | * Modelagem Wireframe: a representação do objeto ocorre através de uma rede de vértices, pontos colocados meticulosamente, | ||
+ | * Modelagem de Superfície: | ||
+ | |||
+ | ===Renderização: | ||
+ | É o processo de, através de um software, gerar uma imagem através de uma base 3D com dados quando à geometria da imagem, ponto de vista, textura, luz, reflexos, neblina, profundidade etc. O programa vai então pegar esses dados, interpretar e aplicar na base, gerando uma imagem resultante mais detalhada e com mais contraste. Há algumas técnicas principais de renderização: | ||
+ | * Rasterização: | ||
+ | * Ray Casting: há uma simulação do comportamento da luz, lançando raios a partir do observador para perceber a distância relativa entre os objetos existentes. Essa técnica economiza recursos computacionais, | ||
+ | * Radiosidade: | ||
+ | |||
+ | ===Animação: | ||
+ | Através de modelagem e renderização, | ||
+ | |||
+ | ===Interação com o Usuário: | ||
+ | A computação gráfica está fortemente relacionada com as entradas disponibilizadas pelo usuário, em que muitas vezes é necessário dar um grande controle a ele. Ela também está presente como intermediária entre o dispositivo e o ser humano, servindo de ponte para a melhor compreensão, | ||
+ | |||
+ | ===Realidade Virtual:=== | ||
+ | É um tipo especial de interface gráfica do usuário, em que se procura gerar um ambiente tridimensional imersivo, interativo e manipulável, | ||
+ | |||
+ | ===Processamento de Imagem:=== | ||
+ | Muitas vezes considerada uma área à parte da computação gráfica, é o método utilizado para executar algumas operações em uma imagem já existente para melhorá-la ou extrair alguma informação útil. No processamento de imagens se realiza com as imagens: a descrição, | ||
+ | ===== Na prática ===== | ||
+ | |||
+ | A computação gráfica começa com o Paradigma dos 4 universos, os quais são: | ||
+ | |||
+ | *Universo físico> | ||
+ | |||
+ | *Universo matemático> | ||
+ | |||
+ | *Universo de representação> | ||
+ | |||
+ | *Universo de implementação> | ||
+ | |||
+ | Na implementação será usado uma linguagem de programação juntamente com uma API. | ||
+ | |||
+ | ==== API ==== | ||
+ | Application Programming Interface (Interface de programação de aplicações) tem a função de se comunicar | ||
+ | com o hardware para criar elementos visuais, desde uma janela que explora arquivos até | ||
+ | jogos 3D. Através da linguagem de programação a API vai receber os comandos, fazer o | ||
+ | processamento e renderizar na tela. | ||
+ | Alguns exemplos de API são OpenGL, DirectX e Windows API. Entre as 3 citadas, o OpenGL roda em outros | ||
+ | sistemas operacionais além do Windows, então será brevemente comentado seu funcionamento. | ||
+ | |||
+ | ==== OpenGL ==== | ||
+ | Open Graphics Library, é uma API versátil e rápida, muito utilizada para criação de Game Engines (mesmo com | ||
+ | o DirectX sendo o principal atualmente, o qual é limitado ao Windows), através do OpenGL o programador vai decidir o funcionamento das luzes e sombras, forma de renderização, | ||
+ | envolvendo o que e como vai aparecer na tela. | ||
+ | O OpenGL é específico para cada GPU, por isso há diversas bibliotecas que ajudam em tarefas básicas porém | ||
+ | trabalhosas se criadas do zero, como freeGLUT, GLFW e Ecere SDK que usam o OpenGL para implementação de janelas | ||
+ | e o GLEW que permite usar o OpenGL de forma mais ampla, tornando o programa multi-plataforma. | ||
+ | |||
+ | {{: | ||
+ | // | ||
+ | |||
+ | ===== Aplicações ===== | ||
+ | ===Educação=== | ||
+ | A computação gráfica está sendo capaz de revolucionar o modo em que se aprende e que se treina novos profissionais, | ||
+ | Na educação em geral, o uso de gráficos ajuda a contextualizar o que está sendo aprendido, deixando conceitos como átomos, microrganismos ou leis da física menos abstratos, sendo possível de modelá-los ou animá-los para serem observáveis. | ||
+ | |||
+ | ===Suporte a outras Indústrias=== | ||
+ | A disponibilidade de se criar modelos 3D auxilia as mais diversas indústrias, | ||
+ | |||
+ | ===Entretenimento=== | ||
+ | É inegável dizer que nos últimos anos a computação gráfica se tornou uma grande protagonista da Indústria do entretenimento, | ||
+ | Todos os últimos blockbuster de Hollywood utilizam de algum tipo de CGI ou efeito visual e a qualidade desses, muitas vezes, vai indicar a própria qualidade do filme. Quanto melhor a computação gráfica, especialmente nos jogos, mais imersiva, realista e prazerosa se torna a experiência | ||
+ | |||
+ | ===Medicina=== | ||
+ | O uso de computação gráfica na área médica não é algo recente, havendo visualizações tridimensionais de tomografias desde o fim dos anos 70. A tecnologia, no entanto, só vem evoluindo, permitindo a expansão de seu uso para outras áreas da medicina, com destaque para diagnósticos, | ||
+ | Outra área altamente beneficiada é a das cirurgias, já que, principalmente nas cirurgias plásticas, a mudança ou reconstrução pode ser simulada, dando tanto ao médico quanto ao paciente uma noção do resultado; em outras cirurgias, o processo pode ser simulado, de modo a achar alguma melhoria de execução ou outra alternativa. | ||
+ | |||
+ | === Referências === | ||
+ | |||
+ | - [[https:// | ||
+ | - [[https:// | ||
+ | - [[https:// | ||
+ | - [[https:// | ||
+ | - [[https:// | ||
+ | - [[https:// | ||
+ | - [[https:// | ||
+ | - [[http:// |