Buscar

REVISAO_A2

Prévia do material em texto

EXERCÍCIO DE REVISÃO 2 A2 	 	 
DATA: 13/11/2019 
 
1. Cria uma linha do tempo com os marcos históricos da computação Gráfica desde o seu início até os dias de hoje. 
A Computação Gráfica (CG) nasce no início dos anos 60
Anos 40 e 50
· Dois projectos militares norte-americanos incluem elementos básicos de Computação Gráfica:
•Whirlwind - construção de um simulador de voo
•SAGE - sistema de defesa aéreo contra ataques nucleares
· Em 1958 no MIT liga-se um ecrã com capacidades gráficas ao computador de médio porte TX-1
	Anos 60
· Em 1963 Coons inventa a teoria de representação de superfícies curvas através de “retalhos” baseados em aproximações polinomiais
· Em 1965 Roberts cria um algoritmo de remoção de partes invisíveis de segmentos de recta e introduz a noção de coordenadas homogéneas na representação geométrica de objectos
· Bresenham desenvolve algoritmos eficientes para o desenho de primitivas geométricas 2D (algoritmos incrementais de varrimento)
· A Universidade do Utah cria o departamento de Ciências da Computação, no qual a Computação Gráfica assumirá papel de destaque na investigação científica
· Em 1967 Appel cria algoritmos de cálculo de visibilidade, sombras e visualização 3D, e um ano depois inventa um método de cálculo devisibilidade precursor do método de traçagem de raios
· Em 1968 a Univ. do Utah convida D. Evans a formar uma secção de Computação Gráfica no departamento de Ciências da Computação
· Sutherland apresenta um novo dispositivo de visualização
· Em 1969 nos Bell Labs constrói-se a primeira matrizde pixels (cada pixel representado por 3 bits)
· A. Kay desenvolve, na Xerox PARC, o primeirointerface gráfico com o utilizador 
· A década de 60 registou grande actividade na investigação fundamental da Computação Gráfica (algoritmos, métodos e técnicas), dado tudo estar por descobrir e fazer
· Surgiram as primeiras manifestações de arte computacional (Estugarda e Nova Iorque em 1965, Londres em 1968, etc)
· A investigação centra-se em grupos sediados em universidades americanas e surge uma massa crítica de investigadores
· A Computação Gráfica 2D desenvolve-se muito rapidamente e aparecem algoritmos fundamentais eficientes
· A Computação Gráfica 3D ainda é muito incipiente e não existem algoritmos de visualização satisfatórios
	Anos 70
· Em 1970 Bézier desenvolve novas formas de representação de superfícies 3D generalizadas (para a indústria automóvel)
· Gouraud inventa um método de coloração de faces 3D
· Em 1972 Shoup cria, na Xerox PARC, a primeira matriz de pixels com 8 bits/pixel–Newell, Newell e Sancha inventam algoritmos de cálculo de visibilidade de superfícies 3D baseados em técnicas de ordenação
· Em 1973 realiza-se a primeira conferência SIGGRAPH
· Em 1974 Catmull desenvolve um método eficiente de cálculo de visibilidade e coloração de faces 3D (designado z-buffer)
· Em 1975 Phong inventa um método de coloração de faces 3D capaz de reproduzir efeitos direccionais de iluminação (reflexões simples)
· Mandelbrot formaliza a teoria dos fractais
· Newell define um objecto geométrico (bule de chá de Utah), muito usado em testes e que viria a tornar-se mundialmente famoso
· Em 1976 Catmull cria um programa para geração de imagens intermédias em animação (tweening)
· Blinn inventa diversos métodos de mapeamento de texturas
· Em 1977 surge o primeiro standard gráfico de programação (puramente 2D), designado GKS (Graphical Kernel System -ANSI)
Anos 80
· Em 1980 Whitted inventa o método de traçagem de raios
· Em 1984 Greenberg desenvolve um novo método de síntese foto realista de imagem baseado em teorias de transporte (radiosidade)
· Em 1984 Porter e Duff inventam algoritmos sofisticados de composição criativa de imagens 2D (aplicáveis ao cinema)
· Em 1986 Kajiya descreve a equação matemática que governa os fenómenos de transporte da luz, na base da iluminação global
Anos 90
· O ACM reforça o reconhecimento público das contribuições científicas dos investigadores da Computação Gráfica através de prémios anuais de mérito (Achievement Awards do SIGGRAPH)
· Em 1992 surge o standard gráfico de programação OpenGL (SGI)
· A Univ. do Illinois desenvolve tecnologia de realidade virtual (CAVE)
· A partir de 1993 a Pixar recebe prémios sucessivos da Academia
· Em 1995 M. Pesce introduz o conceito VRML (standard ISO 1997)
· Em 1997 a Univ. de Chapell Hill cria um novo sistema computacional paralelo para produção interactiva de imagens em cenas complexas
· Em 1997 a empresa NVIDIA começa a contratar investigadores para produzir hardware gráfico 3D para computadores pessoais IBM PC
· A partir de 1993 G. Ward desenvolve o programa de síntese fisicamente realista de imagem RADIANCE, que se torna uma referência de facto em arquitectura e luminotecnia
Anos 2000 e 2001
· A plataforma mais comum para actividades em Computação Gráfica é o computador pessoal IBM PC com 512 Mbytes de memória, suporte hardware de coloração Phong, visibilidade z-buffer,mapeamento de texturas em tempo real e ecrã de elevada resolução
· Em 2000 são lançadas no mercado as consolas de jogos Sega Dreamcast e Sony Playstation 2 (poderosos computadores gráficos)
· A Disney exibe o filme animado por computador Dinosaur e a Sony o filme Hollow Man (outras empresas avançam para a produção CG)
· Em 2001 exibe-se o filme Shrek (DreamWorks), que recorre a novos métodos de síntese e animação de personagens “naturais”
· Em 2001 exibe-se o filme Pearl Harbour (Disney), repleto de efeitos especiais ultra realistas em sequências de combate aéreo e naval
2. Apresente e explique uma aplicação importante de técnicas de computação gráfica atualmente. 
Ray Tracing – é um algoritmo de computação gráfica usado para síntese (renderização) de imagens tridimensionais. O método utilizado pelo algoritmo chamado Ray Tracing, baseia-se na simulação do trajecto que os raios de luz percorreriam no mundo real, mas, neste caso, de trás para a frente.
3. O algoritmo de traçado de raios (XXXX) é considerado um marco no desenvolvimento de técnicas de computação gráfica para a geração de imagens realistas. Qual é o nome desse algoritmo? Explique como funciona. Cite exemplos. 
Ray Tracing - é um método de sintetização (também entendido como renderização) de gráficos tridimensionais por computadores. Essa técnica busca criar imagens do ambiente 3D de um jogo e reproduzir, na tela ou em óculos de real virtual, uma simulação do trajeto feito pelos raios de luz dos objetos até olhos do jogador. A ideia é se aproximar da realidade e da interação física entre o usuário e o local.
4. Cite duas áreas hoje, dependente da computação gráfica, cite exemplos. 
Medicina: A computação permite construir modelos tridimensionais de órgãos e ossos, auxiliando na precisão dos diagnósticos e nas confecções de próteses sob medida.
Jogos: Os jogos são os grandes responsáveis por essa contínua evolução da computação gráfica, a necessidade de representações cada vez mais realistas impulsionada pelo quase sempre aquecido mercado de games, faz com que a computação gráfica seja cada vez mais disseminada.
5. Explique os processos de transformação geométrica mais utilizados em computação Gráfica. Cite no mínimo um exemplo para cada transformação. 
Translação – É uma operação que desloca pontos em uma determinada direção. O exemplo clássico em computação gráfica de aplicação desta
transformação é a função pan, disponível em vários sistemas gráficos.
Escalamento – Escalamento pode tornar um objeto maior ou menor. O uso clássico desta operação em computação gráfica é a função zoom in (ampliação) ou zoom out (redução).
Rotação - Rotaciona (gira) um objeto de um determinado ângulo minado ângulo θ.
6. Crie uma tabela que faça o resumo dos 3 principais sistemas de cores utilizados, colocando uma coluna para conceituar, outra para principais características, outra para vantagens e por último uma para desvantagens.
	Conceito
	Características 
	Vantagem 
	Desvantagem
	RGB(Vermelho, verde e azul)
	Sistema criado para reprodução de cores em aparelhoseletrônicos e os diferentes modelos de tela. O RGB está presente em praticamente todos os dispositivos conhecidos atualmente, TVs, monitores de computador, telas de notebooks, câmeras digitais, escâneres, aparelhos celulares, etc. 
	Melhor em monitores ou visualização digital
➤ Pode adaptar-se em impressão de escritórios ou arquivos pessoais
➤ Permite fácil manipulação de cores em um monitor (Photoshop)
➤ Converte em CMYK facilmente (mas não vai fazer a imagem toda e converter, você vai querer chorar com a diferença!)
	 Diferenciação de cores após conversão de RGB para CMYK (Só não se mate ao ver o que sua imagem vira!)
	CMYK( Ciano, Magenta, Amarelo)
 
	Sistema de cores utilizado em impressões, seja em impressoras domésticas ou gráficas profissionais, como, por exemplo, serigrafia, fotolito. Tem como suas cores principais as opostas ao sistema.RGB: Ciano/Vermelho, Magenta/Verde e Amarelo/Azul. 
	Processo de Impressão Offset
➤ Cores nítidas em impressões no papel azul e branco
➤ Cores mais quentes em papéis creme e branco
	Custo das Cores (E nem é culpa do dólar)
	Cor HSV (HSB) 
	Um modelo de cor que define três componentes: matiz (H), saturação (S) e brilho (V - Value). 
O matiz determina a cor ou tonalidade (amarelo, laranja, vermelho, etc.); 
O brilho determina a intensidade percebida (cor mais clara ou mais escura);
A saturação determina a profundidade ou “pureza” da cor (de esmaecida a intensa).
	Este sistema foi inventado no ano de 1974, por Alvy Ray Smith.[1] É caracterizada por ser uma transformação não-linear do sistema de cores RGB.
	
7. Explique como funciona a técnica de Iluminação, como uma iluminação modifica uma imagem. Depois explique os tipos de iluminação. 
Um modelo de iluminação em CG define a natureza da luz emanada por uma fonte e sua interação com todos os objetos em cena.
Quando a luz incide em uma superfície, ela pode ser absorvida, refletida ou refratada. Se toda luz incidente em um objeto fosse absorvida, o objeto tornaria-se invisível.
A luz refletida de um objeto pode ser classificada como difusa (espalhada igualmente em todas as direções) ou especular. 
Interpolated Shading
Calcula a cor nos vértices da face
· Interpola ao longo das arestas
· Interpola ao longo de cada linha
· Dá mais qualidade à imagem
· Útil para objetos sem superfícies curvas como cubos e pirâmides
· Objetos curvos ficam facetados
FLATshading Conhecido também como “constante”ou “facetado”. Utiliza um único valor de intensidade de luz para cada face. 
Modelo de Gouraud - Busca obter mais suavidade na exibição de objetos formados por faces, por meio da interpolação de intensidades de luz ao longo de cada face.
Phong Shading
· Busca obter suavidade na exibição de objetos com superfícies curvas quando representados por polígonos
· Mantendo o brilho especular
· Em cada vértice é calculado um novo Vetor Normal que é a média das normais das faces que compartilham o vértice
· Este Vetor é interpolado ao longo das arestas
· As Normais nos extremos de cada linha são interpoladas ao longo da mesma
· O cálculo da cor dos pontos internos da face é feita a partir da Normal para cada ponto
COMPLEMENTO
O que é modelagem 3D?
É basicamente o processo de criar um objeto com 3 dimensões, por meio de programas específicos para isso. Com essa técnica, é possível simular objetos, cenários e personagens em cenas animadas ou estáticas. Sua aplicação é destinada a diversas áreas, como cinema, jogos, arquitetura e ilustrações.
Como acontece o processo de criação em 3 dimensões?
Para desenvolver a criação de qualquer cena 3D, por meio de modelagem em computadores, é importante ter em mente a sua aplicação, a complexidade e o estilo desejados.
Esta cena pode ser uma simulação da realidade ou uma cena estilizada como de filmes para crianças que utilizam o estilo cartoon, por exemplo. No processo de criação, alguns passos são comuns a todas as aplicações:
Concepção dos elementos
Este é o momento de definir o estilo da imagem que deseja criar, se ela será uma cena estática ou animação. É importante listar todos os elementos que serão modelados, a composição e o aspecto de cada um: cor, textura, rugosidade etc.
Nesta etapa, é aconselhado construir um projeto com desenhos, storyboard (no caso das animações), referências e descrições. Todo esse planejamento poupa tempo na confecção da sua arte 3D e facilita o resultado da imagem final.
Modelagem
A partir do planejamento realizado na concepção, é iniciada a modelagem nos softwares específicos. Alguns programas como Autodesk Maya, Max, cinema 4d ou Blender são os mais usados. Contudo, é possível contar com o apoio de programas como Zbrush ou Mudbox para elaboração de modelagens mais orgânicas como as de personagens.
Também em programas 3D são feitas estruturas, conhecidas como rigging, para que seja possível animar os objetos modelados. Por exemplo, mãos e pés podem conter dedos com articulações. O limite aqui é a sua criatividade!
Renderização
Com a cena modelada e texturizada, chegou o momento de criar a iluminação e gerar a
imagem (renderizar) para que se transforme no que foi concebido. 
O modelo desenvolvido nos programas 3D aparece para você em uma cor sólida ou com
texturas simples para uma pré-visualização. A cena completa, com todos os efeitos de luz,
sombras e aspecto dos materiais precisam ser geradas em um renderer — programa ou plugin que dará a saída final para a imagem.
Cenas 3D para games
A renderização neste caso é diferente, já que é feita em tempo real no game. Toda a simulação de luz, sombra e aspectos das texturas é criada na sua tela, enquanto acontece o jogo. A Engine, programa para criação de jogos, é responsável por proporcionar essa simulação em tempo real. As mais populares são a Unreal Engine, utilizada no Curso Playgame, e a Unity.
Pós-produção
Quase toda cena 3D criada e renderizada, seja ela estática ou uma animação, passa por algum tratamento de pós-produção. Cenas estáticas podem ter suas cores ou estilo melhorados em programas como Photoshop.
Isso também acontece com animações, que são inseridas em outras cenas ou alteradas na
composição utilizando programas como o After Effects. 
Texturização em OpenGL
No desenvolvimento de programas que utilizam texturização de objetos, estes devem ser bastante dinâmicos e que sejam padrões. Com OpenGL, é possível fazer isso, controlando a maneira pela qual a sua textura é armazenada internamente, como ela é filtrada e como está envolvido quando está sendo aplicada a um objeto.
Para fazer isso, é preciso se preocupar inicialmente com a criação de alguns parâmetros de textura e do ambiente da sua cena.
Mip Mapping
Como mencionamos acima, um dos parâmetros a ser setado tem a opção de usar Mipmap. Mip Mapping é uma abordagem para o mapeamento de textura em que um mapa de textura original de alta resolução é escalado e filtrada em múltiplas resoluções, ou níveis, antes de ser aplicado na superfície de um objeto.
Bump mapping
Exibe superfície com aspecto rugoso ou ondulado sem a necessidade de modelar estas ondulações geometricamente.
Environment mapping
Também conhecida como "reflection mapping", o objetivo deste mapeamento é renderizar objetos reluzentes exibindo em sua superfície o ambiente ao seu redor. Podemos encontrar várias técnicas onde a principal diferença está no formato do mapa de textura utilizado.
Cubic mapping
Técnica que utiliza um cubo como mapa de textura, ou seja, teremos seis sub-mapas que juntos compõem as faces de um cubo.
Sphere mapping
Técnica que utiliza como mapa de textura uma esfera. A figura abaixo foi gerada utilizando essa técnica.
Shadow mapping
Utiliza o algoritmo de renderização de uma cena usando a localização da fonte de luz como posição do observador para computar os pontos de sombra: as superfícies visíveis apareceriam iluminadas e, as superfícies não visíveis apareceriam escurecidas.

Continue navegando