1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

217
1 Computação Gráfica versão 1.0 17/08/2009

Transcript of 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

Page 1: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

1

Computação Gráfica

versão 1.017/08/2009

Page 2: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

2

Revisões

Data Por: Modificação

Page 3: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

3

Computação Gráfica

A computação gráfica é a área da computação destinada à geração de imagens em geral — em forma de representação de dados e informação, ou em forma de recriação do mundo real.

Ela pode possuir uma infinidade de aplicações para diversas áreas. Desde a própria informática ao produzir interfaces gráficas para software, sistemas operacionais e sites na Internet, quanto para produzir animações e jogos.

Page 4: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

4

Computação Gráfica

A computação gráfica é a área da ciência da computação que estuda a transformação dos dados em imagem. Esta aplicação estende-se à recriação visual do mundo real por intermédio de fórmulas matemáticas e algoritmos complexos.

Page 5: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

5

Introdução

O que é computação gráfica ? Aplicações

Page 6: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

6

Aplicações

A computação gráfica intervém em diversas áreas, tais como:

Design Visual: para o desenvolvimento de mídias visuais, desde a impressa (como propagandas em revistas e outdoors) quanto para o auxílio cinematográfico dos comerciais televisivos.

Geoprocessamento : Para geração de dados relacionados à cidades, regiões e países.

Page 7: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

7

Aplicações

Entretenimento CAD (Computer-aided design) Visualização Científica Treinamento Educação E-commerce Arte Computacional

Page 8: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

8

Entretenimento Filmes Animações Jogos: A indústria do entretenimento

atualmente dá mais lucro que a cinematográfica! Jogos são a maior aplicação da computação gráfica, e a grande motivação para seu desenvolvimento.

Cinema: para produção de efeitos especiais, retoques nas imagens do filme, e filmes de animação.

Page 9: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

9

CAD

Construções de Aeroportos Construção de um avião Arquitetura e Design de Produto:

desenvolvimento gráfico dos projetos de forma visual e com a aplicação dos cálculos matemáticos para os testes dos projetos quanto a resistência, a variação de luz e ambientes.

Page 10: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

10

Visualização Científica

Estudo do fluxo de ar em uma tempestade

Visualização do corpo humano Medicina: Para análise de exames

como tomografia, radiografia, e mais recentemente o ultra-som (que consegue gerar a partir deste uma imagem em 3D)

Page 11: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

11

Treinamentos

Simuladores de direção Simuladores de vôo Montagens em geral (ex, como montar

um determinado aparelho)

Page 12: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

12

Educação

Visualização de monumentos históricos

Estudo do esqueleto humano

Page 13: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

13

E-Commerce

Planejamento de uma cozinha planejada

Loja virtual de telefones

Page 14: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

14

Arte computacional

Artes : Para expressão artística utilizando os ambientes gráfico-computacionais como meio ou fim, tais como gravura digital, arte digital, web arte.

Page 15: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

15

2 - Primitivas gráficas em 2D

Page 16: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

16

Primitivas Gráficas

Chamamos de primitivas gráficas os comandos e funções que manipulam e alteram os elementos gráficos de uma imagem.

Também entra na definição de primitivas os elementos básicos de gráficos a partir dos quais são construídos outros, mais complexos.

Page 17: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

17

Pontos

Um ponto é uma unidade gráfica fundamental (também pode ser chamado pixel)

Propriedades Posição no plano gráfico Sua cor

Primitivas Pintar um pixel Ler um pixel

Page 18: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

18

Linhas retas

y = mx + b m é chamado de coeficiente angular (está

ligado ao ângulo que a reta faz com o eixo x)

m<=1 ângulo entre 0º e 45º com o eixo x m>1 o ângulo encontra-se entre 45º e

90º. b é o coeficiente linear e dá o valor do

eixo y cruzado pela reta

Page 19: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

19

Linhas Retas

Dado dois pontos P1 e P2, pode-se obter m e b, ou seja, a equação da reta que passa pelos pontos:

m=(y2-y1)/(x2-x1)Como y = mx + b, então: b +mx = y b = y - mxSe x=x1 e y=y1:b=y1-mx1

Page 20: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

20

Segmento de reta definido entre dois pontos

Page 21: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

21

Algoritmos para desenhar retas

DDA – Digital Differential Analyser (Analisador Diferencial Digital)

Algoritmo de Breseham

Page 22: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

22

Algoritmo DDA (Digital Differential Analyser)

Page 23: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

23

Algoritmo DDA (Digital Differential Analyser)

Page 24: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

24

Page 25: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

25

Algoritmo DDA (Analisador Diferencial Digital)

void SegLinDDA(int x0, int y0, int x1, int y1){ double dx = (double) abs(x1-x0); double dy = (double) abs(y1-y0);

double xf, s;

double x=x0; double y=y0;

if( (dx) > (dy) ) { s = dx; } else { s = dy; }

double xi=dx/s; double yi=dy/s;

pinta(round(x),round(y));

}

Page 26: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

26

Algoritmo DDA (Analisador Diferencial Digital)

int k=0;

for(k=0; k<s; k++) { x = x + xi; y = y + yi; pinta(round(x),round(y)); }

Page 27: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

27

Algoritmo de Breseham

É um método veloz Utiliza somente aritmética inteira Evita operações caras em ponto

flutuante como multiplicações e divisões

Evita operações de arredondamento

Page 28: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

28

Algoritmo de Breseham

Page 29: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

29

Algoritmo de Bresenhamvoid SegLinBres(int x0, int y0, int x1, int y1) { double dx = abs(x0-x1); double dy = abs(y0-y1); double p = 2*dy - dx; double p2 = 2*dy; double xy2 = 2*(dy-dx); double x, y, xf; if(x0>x1) { x = x1; y = y1; xf = x0; } else { x = x0; y = y0; xf = x1; } pinta( round(x), round(y) ); while(x<xf) { x = x+1; if (p<0) { // sim p = p + p2; } else { y = y + 1; p = p + xy2; } pinta(round(x),round(y)); } }

Page 30: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

30

Polilinhas

Retas são a base para uma grande variedade de figuras que são composta por segmentos de retas, como:

polígonos caracteres figuras geométricas complexas

Page 31: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

31

Polilinhas

Uma polilinha é um conjunto de segmentos de retas, cujas extremidades coincidem, ou seja, um segmento começa no ponto em que o segmento anterior termina

Page 32: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

32

Polilinhas

Exemplos de Polilinhas

Page 33: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

33

Propriedades da Polilinhas

é composta de n segmentos de retas (n >= 1)

é definida por n + 1 pontos

Polilinha poderá ser aberta ou fechada

Page 34: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

34

Polígono

Pode ser definido como uma polilinha fechada Propriedades:

n segmentos de retas (n >= 2) definida por n pontos

Obs: No caso da definição de apenas dois pontos,

haverá dois segmentos de reta, um indo do 1º ao 2º ponto e outro indo do 2º ao 1º. Não será desenhado um polígono fechado, mas n=2 é uma quantidade de pontos que satisfaz o algoritmo

Page 35: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

35

3 – Tópico Teórico: Frame Buffer

Dispositivo gráfico – o acesso ao dispositivo gráfico é mais lento que ao acesso à memória

Controlador gráfico – responsável pela exibição dos gráficos

Page 36: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

36

Frame Buffer

É uma técnica de construção de imagem em memória

1. região de memória (que armazena a imagem)

2. rotinas de acesso a imagem Por que construir uma imagem em

memória ?Resposta: o acesso ao dispositivo gráfico é mais

lento do que o acesso a memória (questões de velocidade)

Page 37: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

37

Usando a memória

um pixel será representado por um certo número de bytes

a quantidade de memória do frame-buffer deverá comportar todos os pixels que a serem representados

correspondência aritmética entre a posição (x,y) de um pixel genérico e seu endereço no frame-buffer

Page 38: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

38

Exemplo

Representação de uma imagem true color (32 bits) de 800x600 pixels

Qual o tamanho do frame-buffer ? 800 x 600 x 4 = 192000 bytes ou

1,92Mb

Page 39: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

39

Exemplo

Uma possível representação em linguagem C seria:

unsigned long FrameBuffer[800][600];

Obs: o tamanho do long é 4 bytes

Page 40: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

40

Exemplo

Acesso ao pixel: FrameBuffer[x][y]=0; // pixel é

apagado FrameBuffer[x+1][y+1] =

FrameBuffer[x][y];

Page 41: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

41

Exemplo

Representação usando apenas um vetor

Cada linha da imagem é representada por uma sequência de bytes que se agrupam como sequência consecutivas

Page 42: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

42

Exemplo

Page 43: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

43

Exemplo FB é o endereço do primeiro byte do Frame-

buffer o segundo pixel encontra-se no endereço

FB+4 o terceiro pixel encontra-se no endereço

FB+2*4 o quarto pixel encontra-se no endereço

FB+3*4 o último byte da primeira linha encontra-se

em FB+799*4

Page 44: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

44

Exemplo

O primeiro byte da segunda linha encontra-se em FB+800*4

De forma genérica, podemos mapear qualquer posição (x,y) em FB+[800*y+x]*4

Page 45: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

45

Exemplo

m = FB + [ x + Ly ] * bonde:

m: endereço do inicio do pixel no frame-buffer

FB: endereço inicial do FrameBuffer L: número de pixels numa linha da

imagem b: tamanho do pixel (em bytes)

Page 46: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

46

Exemplo

x = resto ((m-FB)/b*L)/b ou ((m-FB) % (b*L))/b

y = (m-FB)/b*Londe:

m: endereço do inicio do pixel no frame-buffer

FB: endereço inicial do FrameBuffer L: número de pixels numa linha da imagem b: tamanho do pixel (em bytes)

Page 47: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

47

4 – Círculos e elipses

Introdução traçado de círculos

Page 48: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

48

Círculos

Um círculo é definido como um conjunto de pontos que estão a mesma distância de um ponto

A distância é o raio do círculo, e o ponto equidistante de todos é o centro do círculo

Matematicamente: (x-x0)2 + (y-y0)2 = r2

Page 49: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

49

Círculos

Função x = xc +- sqrt(r2 – (y-yc)2) y = yc +- sqrt(r2 – (x –xc)2)

Problemas:- exige muitos cálculos envolvendo

exponenciação e radiciação- geram imprecisão no traçado,

principalmente quando o círculo fica quase na horizontal ou vertical

Page 50: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

50

Imprecisões no traçado de círculosimprecisões

Page 51: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

51

Sistema de Coordenadas

Coordenadas cartesianas (x,y) Coordenadas polares (r, θ)

Page 52: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

52

Círculo de raio r

Page 53: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

53

Sistemas de Coordenadas

x = xc + r cos θ y = xc + r sen θ

onde θ é um ângulo que varia entre 0 e 2π (os ângulos devem ser tratados com unidades em radianos)

Problemas:- cálculos envolvendo senos e cossenos

perda de tempo e agilidade- precisão depende do raio do círculo

Page 54: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

54

Divisão da Circunferência em 8 segmentos

Page 55: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

55

Aplicação do algoritmo do ponto médio para círculos

Page 56: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

56

Algoritmo do ponto médio para círculos

Page 57: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

57

Page 58: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

58

Elipse

Uma elipse é definida como o conjunto de pontos cuja soma das distâncias para dois pontos fixos é constantes.

Os dois pontos fixos são chamados os focos da elipse

Sua definição matemática é:sqr((x-x1)2 + (y-y1)2) + sqr((x-x2)2 + (y-

y2)2) = d1 + d2

Page 59: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

59

Representação de uma elipse e suas grandezas principais

onde (x1,y1) e (x2,y2) são as posições dos focos, e d1 e d2 são as do ponto P distancia até os focos.

Page 60: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

60

Elipses

y = yc + rx*cos θ x = xc + ry*sen θonde rx e ry são os raios nas direções x

e y e (xc,yc) é o centro da elipseθ é um ângulo que varia entre 0 e 2PI

Page 61: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

61

Elipse – quatro quadrantes

simetrias por quadrantes (um quarto da elipse, com theta indo de 0 até 2PI

Page 62: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

62

Algoritmo do ponto médio para elipses

Page 63: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

63

Page 64: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

64

Algoritmo do ponto médio para elipses

Evita problemas de precisão aumenta a rapidez dos cálculos É um algoritmo simples

Page 65: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

65

5 – Preenchimento de Áreas

Introdução Algoritmo ponto dentro – ponto fora Algoritmo do preenchimento recursivo

Page 66: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

66

Prenchimento de Áreas

Exemplo 1 Exemplo 2

No Exemplo 1, os pontos A e C está fora do polígono, enquanto o ponto Bencontra-se no interior do polígono

Page 67: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

67

Preenchimento de Áreas

Exemplo 1 Exemplo 2

Page 68: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

68

Algoritmo de Preenchimento de Áreas

Page 69: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

69

Algoritmo de Preenchimento

Page 70: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

70

6 – Atributos de primitivas

Page 71: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

71

Atributos de pontos: cores

Um pixel tem somente um atributo possível: sua cor

Sistema de Cores RGB (Red, Green e Blue)

Cada cor é caracterizada por três componentes cada qual especificando uma intensidade de cada uma das cores básicas

Page 72: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

72

Profundidade de uma cor

Profundidade (é uma grandeza): número de bits disponível por pixel: 3, 6, 12, 24

3 bits = 23 cores = 1 bit por cor 6 bits = 26 cores = 2 bits por cor 12 bits = 212 cores = 4 bits por cor 24 bits = 224 cores = 8 bits por cor

Page 73: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

73

Tabela de Cores

São tabelas que relacionam a intensidade de cada cor básica para gerar todas as cores existentes em uma imagem.

Por exemplo, podemos ter uma tabela de 256 entradas que representem todas as cores existentes em uma imagem onde cada pixel possui certa profundidade.

O uso de tabela de cores agiliza a geração e o tratamento de imagens

Page 74: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

74

Atributos de linhas

Tipo de linha Espessura da linha (ou largura da

linha) Padrão de pincel

Page 75: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

75

Tipo de linha

Uma linha, quanto a seu traçado, pode ser: contínua pontilhada tracejada ponto-traço

Page 76: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

76

Exemplos de Tipos de Linhas

O tipo de linha determina a continuidade do traçadocontínua, pontilhada, tracejada, ponto-traço

Page 77: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

77

Espessura da linha (largura)

Estabelece a espessura com a qual uma linha deve ser representada

Page 78: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

78

Atributos de áreas

Uma área pode ser definida pelas linhas que definem seu perímetro.

Page 79: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

79

Atributos de área

Cor Textura

Page 80: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

80

Aplicação de um padrão para o preenchimento de uma área

Page 81: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

81

7 – Tópico Teórico: antialias

Introdução Método de superamostragem

adaptativo Método de superamostragem recursivo

Page 82: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

82

Método de superamostragem recursivo

Page 83: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

83

8 – Transformações geométricas em duas dimensões

Transformações básicas Translação Rotação Escala

Page 84: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

84

Transformações básicas

Transformações geométricas são operações que podem ser utilizadas visando a alteração de algumas características como posição, orientação, forma ou tamanho do objeto a ser desenhado

Translação Rotação Escala

Page 85: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

85

Translação

x’ = x + txy’ = y + ty

Chamamos de translação o ato de levar um objeto de um ponto para outronum sistema de referência

O par (tx,ty) é chamadovetor de translação ou vetor dedeslocamento

P’ = P + T

Page 86: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

86

Rotação

x’ = xcos0 – ysen0y’ = xsen0 – ycos0

Dá-se o nome de rotação ao ato de girar um objeto de um ângulo, num sistema de referências

P’=R.P

Page 87: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

87

Escala

x’ = x . sxy’ = y . sy

Quando se aplica uma transformação de escala a um objeto, o resultadoé um novo objeto semelhante ao original, porém “esticado” ou “encolhido”

P’=S.P

O par (sx,sy) é chamadovetor de escala

Page 88: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

88

9 – Transformações compostas

Introdução às coordenadas homogêneas

Transformações compostas em coordenadas homogêneas

Transformações especiais Transformações afins

Page 89: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

89

Como rotacionar um objeto deslocado da origem

1) deslocar o ponto pivot para origem das coordenadas

2) aplicar a rotação no objeto deslocado3) transladar de volta o ponto pivot para

o local original

Page 90: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

90

Aplicação de Transformações Sucessivas

Page 91: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

91

Introdução as coordenadas homogêneas

Coordenadas homogêneas são uma representação especial dos pontos, vetores e matrizes, a qual facilita a generalização das operações entre esse tipo de objetos

Ao expressarmos posições em coordenadas homogêneas, as equações de transformações geométricas ficam reduzidas a multiplicação de matrizes 3 x 3 elementos

As coordenadas são representadas por colunas (vetores) de três elementos, e as operações de transformação são matrizes 3x3 elementos

Page 92: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

92

Translação / Rotação e Escala em coordenadas homogêneas

Translação

Rotação

Escala

x’y’1

cos0 –sen0 0sen0 cos0 0 0 0 1

xy1

x’y’1

sx 0 00 sy 00 0 1

xy1

x’y’1

1 0 tx0 1 ty0 0 1

xy1

Page 93: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

93

Transformações Compostas em coordenadas homogêneas

Concatenação de translações Concatenação de rotações Concatenação de escalas Concatenações de transformações

genéricas

Page 94: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

94

Transformações especiais

Reflexões sobre eixos notáveis Distorções angulares em uma única

direção: shears

Page 95: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

95

Reflexões sobre eixos notáveis

Reflexão com relação ao eixo X Reflexão com relação ao eixo Y Reflexão com relação à origem Reflexão com relação a reta Y = X Reflexão com relação a reta Y = -X

Page 96: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

96

Reflexão com relação ao eixo X

1 0 0 0 -1 0 0 0 1

Matriz de transformação:

Page 97: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

97

Reflexão com relação ao eixo Y

-1 0 0 0 1 0 0 0 1

Matriz de transformação:

Page 98: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

98

Reflexão com relação a origem

-1 0 0 0 -1 0 0 0 1

Matriz de transformação:

Page 99: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

99

Reflexão com relação a reta Y = X

0 1 0 1 0 0 0 0 1

Matriz de transformação:

Page 100: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

100

Reflexão com relação a reta Y = -X

0 -1 0-1 0 0 0 0 1

Matriz de transformação:

Page 101: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

101

Distorções angulares em uma única direção: shears

As distorções do tipo shear resultam numa inclinação do objeto numa dada direção. Uma de suas aplicações é a transformação de fontes de texto no estilo itálico.

Shear na direção X Shear na direção Y

Page 102: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

102

Shear na direção X

1 shx 0 0 1 0 0 0 1

Matriz de transformação:

Page 103: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

103

Shear na direção Y

1 0 0 shy 1 0 0 0 1

Matriz de transformação:

Page 104: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

104

Transformações afins

Uma transformação na forma:x’ = axxx + axyy + bx

y’ = ayxx + ayyy + by

é chamada de transformação afim bidimensional

Page 105: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

105

10 – Primitivas básicas em 3D

Introdução Planos Paralelepípedos e Cubos Superfícies curvas Superfícies quadráticas

Esferas Elipsóides Toróides

Superfícies superquadráticas: os supereelipsóides Blobs

Page 106: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

106

Planos

Os planos são os objetos mais simples que podemos definir na geometria em três dimensões

Caracterização Ax + By + Cz + D = 0, onde x, y,z são as

coordenadas de um ponto pertencente ao plano

onde A, B e C e D são constantes

Page 107: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

107

Um plano ao pôr-do-sol, com seu vetor normal

Vetor Normal é um vetor que é perpendicular ao plano.

N = Ax + By + Cz

Page 108: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

108

Paralelepípedos

São objetos com aparências de “caixas”, isto é, objetos com seis faces retangulares que são paralelas e iguais duas a duas

Cubo é um paralelepípedo com faces quadradas.

Page 109: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

109

Paralelepípedos

Um paralelepípedo

Um paralelepípedo com uma diagonal e os pontos que o definem

Page 110: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

110

Superfícies curvas

Permite representar elementos simples e complexos e também fazer concordâncias entre elementos gráficos

Page 111: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

111

Superfícies quadráticas

Forma Geral: Ax2+By2+Cz2+Dxy+Exz+Fyz+Gx+Hy+

Iz = J

Page 112: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

112

Esferas

Equação da esfera em coordenadas cartesianas:

x2+y2+z2=r2

onde:x, y e z são as coordenadas de pontos

que pertencem a superfície da esfera, e r é o raio

Page 113: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

113

Uma esfera

Uma esfera: todos os pontos estãoa mesma distância do centro

Page 114: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

114

Elipsóides

(x/rx)2 + (y/ry)2 + (z/rz)2 = 1

onde:x,y,z são as coordenadas do ponto

que pertencem a elipsóiderx, ry, rz coeficientes

Page 115: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

115

Elipsóides

Um elipsóide comtrês raios diferentes

Page 116: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

116

Toróides

Representação de um toróide

Page 117: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

117

Superfícies superquadráticas: os superelipsóides

Page 118: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

118

Blobs

Blobs podem ser descritos como aglomerações (conjuntos) de pequenas esferas (em alguns casos, cilindros) que mudam de forma quando se aproximam uns dos outros

Page 119: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

119

Blobs

Um objeto blobcomposto por três elementos

Page 120: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

120

11 – Tópico teórico: métodos de interpolação*

Queremos calcular o valor de uma função f(x) num ponto genérico x sem o uso da expressão analítica de f(x)

Page 121: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

121

12 – Luz e sombra

Introdução As fontes de luz

o comportamento das superfícies iluminadas

propagação da luz As cores

objetos iluminados por luzes de cores diferentes

Page 122: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

122

Introdução

Fontes de luz Corpos opacos Corpos transparentes Propagação da luz

Page 123: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

123

As fontes de luz

Primária:

Secundária:

emite a luz que ela própria produzEx: o Sol, as chamas de uma fogueira, o filamento de uma lâmpada incandescente, uma tela de TV

reemite a luz produzida por uma fonte primáriaEx: o teto, as paredes, a Lua, os planetas,

Fontes de Luz

Page 124: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

124

Comportamento das superfícies iluminadas

Corpos opacos: as superfícies opacas reemitem a luz em várias direções, mas não se deixam atravessar por ela (esse fenômeno é chamado difusão da luz)

Corpos translúcidos: deixam atravessar por uma parte da luz que recebem mas trabalham como difusores de luz

Corpos transparente: deixa-se atravessar pela luz

Page 125: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

125

Objeto opaco

Um objeto opaco: a luz não o atravessa, e é gerada uma sombra

Page 126: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

126

Objeto translúcido

Um objeto translúcido é parcialmente atravessado pela luz

Page 127: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

127

Objeto transparente

Um objeto transparente permite a passagem total da luz

Page 128: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

128

Propagação da luz

A luz se propaga em linha reta em um meio transparente e homogêneo

O sentido de propagação é sempre partindo da fonte (primária ou secundária)

Page 129: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

129

As cores Luz branca (ex: luz do sol, luz de uma

lâmpada incandescente) Luz branca é decomposta em suas

componentes (por um prisma, ou um disco de CD)

espectro de luz: é o nome dado a seqüência de cores obtidas pela decomposição da luz branca

Cores presentes no espectro da luz branca: vermelho, laranja, amarelo, verde, azul, índigo e violeta

Page 130: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

130

Objetos iluminados por luzes de cores diferentes

A cor observada de um objeto depende da cor que o ilumina.

Um objeto que reemite todas as cores da luz apresenta-se com a cor branca

Um objeto que absorve todas as cores da luz apresenta-se com a cor preta

o aspecto de um objeto depende da cor da luz que o ilumina

Page 131: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

131

Tabela com a cor aparente de um objeto em função da luz que o ilumina

Cor da Luz

Cor observada do objeto

BrancaVermelh

aAzul Verde Branca Preta

Vermelha

Vermelha

Preta PretaVermelh

aPreta

Azul Preta Azul Preta Azul Preta

Verde Preta Preta Verde Verde Preta

Page 132: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

132

Imagem e a decomposição em suas componentes

uma imagem e a decomposição em suas componentes, obtidas através da iluminação nas três cores básicas: vermelho, verde e azul

Page 133: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

133

Síntese aditiva e subtrativa

Síntese aditiva: é o fenômeno de obter uma luz de uma determinada cor a partir da soma das luzes de outras cores

Síntese subtrativa: pode-se subtrair de uma luz colorida uma de suas componentes com a utilização de filtros, e assim obter uma luz de outra cor. Os filtros atuam como componentes subtrativos, absorvendo a luz da cor que os compõe, e deixando-se atravessar pelas outras

Page 134: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

134

Síntese aditiva

Luz azul + luz vermelha = luz magenta Luz verde + luz azul = luz ciano Luz verde + luz vermelha = luz

amarela Luz verde + luz vermelha + luz azul =

luz branca

Page 135: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

135

Síntese aditiva de cores primárias

Três fontes de luz cores diferentes iluminam uma parede branca. Note-se a síntese aditiva na regiões de sobreposição

Page 136: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

136

Síntese subtrativa

Filtro amarelo + filtro ciano = filtro verde Filtro amarelo + filtro magenta = filtro

vermelho Filtro ciano + filtro magenta = filtro azul Filtro amarelo + filtro ciano + filtro

magenta = filtro preto = opaco

Page 137: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

137

12.6 Síntese subtrativa

Um fonte de luz branca atravessa filtros amarelos e ciano, resultando em luz verde

Page 138: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

138

Síntese subtrativa

Uma fonte de luz branca atravessa filtros magenta e ciano, resultando em luz azul

Page 139: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

139

Síntese subtrativa

Uma fonte de luz branca atravessa filtros amarelo e magenta, resultando em luz vermelha

Page 140: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

140

Geração de imagens coloridas

Em monitores usa RGB (Red, Green , Blue) ou

(Vermelho, Verde ou Azul) Em impressoras e fotografias

usa CMYB (Ciano, Magenta, Amarelo, Black)

Page 141: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

141

Geração de imagens coloridas em monitores

Utiliza o mesmo princípio da televisão em cores

Usa a síntese aditiva

Page 142: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

142

Geração de imagens coloridas em impressoras e fotografias

As impressoras e gráficas usam quatro cores de tintas: ciano, amarelo, magenta e preto.

A geração de cores é obtida através da síntese subtrativa

Page 143: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

143

Sombras: fonte de luz pontual

Uma fonte de luz pontual é o caso mais simples de geração de sombra

Quando um objeto é iluminado por uma fonte de luz pontual, este tem o lado voltado para a fonte iluminada e o lado oposto escurecido

sombra própria – nome dado a sombra formada no lado escurecido

sombra projetada – nome dado a sombra vista na região iluminada de um anteparo

cone de sombra – nome dado a porção do espaço que ficou escurecida pela presença do objeto

Page 144: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

144

Fonte de luz pontual

um objeto iluminado por uma fonte de luz pontual gera uma sombra bem nítida

Page 145: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

145

Duas fontes de luz

Utilizando-se duas fontes de luz pontuais, observam se duas regiões de sombra projetada, mas , mesmo assim, existem regiões que são iluminadas por apenas uma das fontes. Esse efeito recebe o nome de penumbra.

Quando um objeto é colocado entre as duas fontes de luz pontuais, existe a formação da penumbra. A sombra total somente será observada se as regiões de penumbra forem sobrepostas

Page 146: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

146

Duas fontes de luz

A sombra gerada por duas fontes de luz pontuais é, na verdade, a sobreposição das duas sombras distintas

Page 147: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

147

Fonte de luz extensa

Pode ser modelada por quantidade infinita de fontes pontuais

região de transição entre a iluminação e a sombra é chamada de penumbra

Page 148: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

148

Fonte de luz extensa

Uma fonte de luz extensa pode ser modelada por uma quantidade infinita de fontes pontuais. A sombra desse tipo de fonte de luz apresenta uma penumbraque varia da iluminação total até a sombra total

Page 149: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

149

Simulando a propagação da luz

Três cores básicas: Vermelho (Red) Verde (Green) Azul (Blue)

Intensidade controlada por números

Page 150: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

150

Raios luminosos de cor RGB atravessando um filtro cinza (50%) e um filtro vermelho

Page 151: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

151

13 – Efeitos especiais: cuidando das superfícies

Texturas Pigmentos Normal Finalizações Brilhos superficiais

Page 152: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

152

Texturas

O material (ou materiais) que compõem um objeto é representado através da superfície visível.

Em teoria, as características da textura podem ser divididas em três categorias combinadas entre si: os pigmentos vetor normal finalização (ou revestimento)

Page 153: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

153

Texturas

As texturas ainda podem ser modeladas segundo três tipos básicos: lisa: consiste em um único pigmento, com efeitos

uniformes ao longo de sua superfície combinada: associa, em regiões da superfície,

duas ou mais texturas com camadas: é feita através da sobreposição de

texturas diferentes, nas quais existem regiões transparentes ou semitransparentes

Page 154: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

154

Esferas com vários efeitos de superfície e finalização

Page 155: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

155

Pigmentos

Representam as cores ou padrões de cores do material

Todas texturas lisas devem ter um pigmento cor contínua é o tipo mais simples de

um pigmento

Page 156: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

156

Normal

Vetor normal estabelece as irregularidades da superfície

Page 157: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

157

Normal

os vetores normais de uma superfície lisa e de uma irregular

O vetor normal de uma superfície é, por definição, um vetor perpendiculara essa superfície, isto é, apontando para cima

Page 158: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

158

Finalização (ou Revestimento)

Descreve as propriedades reflexivas de um material

reflexão especular obtida quando a luz incide sobre uma superfície lisa

difusão obtida quando a luz incide sobre uma superfície com rugosidade

Page 159: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

159

Brilhos superficiais

O brilho manifesta-se com uma região numa superfície onde a luz tem um comportamento especular especialmente intenso

A visão do brilho depende do ângulo de iluminação e da posição do observador

Page 160: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

160

Brilhos Superficiais

Efeito "Phong" Reflexão especular Iridescência (interferência de Newton,

ou filme fino)

Page 161: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

161

Efeito "phong"

Nessa figura foi atribuído apenas ao toróide da esquerda, o brilho phong

Page 162: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

162

14 – Transformações geométricas em três dimensões

Transformações básicas Translação Rotação Escala

Concatenação de transformações em três dimensões

Projeções Projeção paralela Projeção com perspectiva

Page 163: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

163

Transformações básicas

Translação de um objeto

Page 164: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

164

Translação

x’ = x + tx

y’ = y + ty

z’ = z + tz

onde o vetor (tx,ty,tz) é chamado vetor de translação ou vetor de deslocamento

Page 165: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

165

Matriz homogênea de translação

P’ = T.P

x1’x2’x3’1

1 0 0 tx

0 1 0 ty

0 0 1 tz

0 0 0 1

x1

x2

x3

1

=

Page 166: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

166

Rotação

Rotação de um objeto (da primeira figura) nos três eixos (x, y e z)

Page 167: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

167

x1’x2’x3’1

cosθx –senθx 0 0 senθ x cosθx 0 0 0 0 1 0 0 0 0 1

x1

x2

x3

1

=

x1’x2’x3’1

1 0 1 0 0 cosθy –senθy 0 0 senθ x cosθx 0 0 0 0 1

x1

x2

x3

1

=

x1’x2’x3’1

cosθz 0 senθx 0 0 1 0 0 -senθ z 0 cosθz 0 0 0 0 1

x1

x2

x3

1

=

Rotação em tornodo eixo x

Rotação em tornodo eixo y

Rotação em tornodo eixo z

Matriz homogênea de rotação

Page 168: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

168

Escala

Page 169: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

169

Matriz homogênea de escala

x1’x2’x3’1

sx 0 0 0 0 sy 0 0 0 0 sz 0 0 0 0 1

x1

x2

x3

1

=

P’ = S . P

P’ S P

Page 170: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

170

Concatenação de transformações em três dimensões

sx 0 0 0 0 sy 0 0 0 0 sz 0 0 0 0 1

=

1 0 0 x 0 1 0 y 0 0 1 z 0 0 0 1

1 0 0 -x 0 1 0 -y 0 0 1 -z 0 0 0 1

sx 0 0 (1-sx)x 0 sy 0 (1-sy)y 0 0 sz (1-sz)z 0 0 0 1

translação

escala translação

Page 171: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

171

Projeções

É a operação de transformar uma imagem 3D em 2D

Page 172: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

172

Tipos de Projeções

Projeção paralela Projeção com perspectiva

Page 173: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

173

Projeção Paralela

Projeção de um objeto sobre o plano. Na projeção paralela, as linhas que levam os pontos dos objetos ao plano de projeção são paralelas entre si e perpendiculares ao plano de projeção

Page 174: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

174

Projeção Paralela

Page 175: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

175

Projeção com perspectiva

Na projeção com perspectiva, supõe-se que o observador esteja num ponto (chamado ponto de referência ou ponto de fuga) e que partem linhas imaginárias desse ponto para o interior da cena

Page 176: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

176

Projeção com Perspectiva

Page 177: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

177

15 – O uso de um pacote de ray-tracing

Introdução A necessidade de um sistema de referencia Vetores: posições, direções e rotação Ray-tracers Elementos de uma imagem 3D O uso de uma linguagem de descrição

Níveis de descrição o POV ray-tracer

elementos de linguagem do POV

Page 178: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

178

16 – Objetos básicos

Introdução Plano Esferas Paralelepípedos Cone Cilindro Toróide Height field CSG (Constructive Solid Geometry)

Page 179: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

179

17 - Iluminação

Introdução Fonte de luz ambiente Fontes de luz pontuais Fontes de spotlight Fontes cilíndricas Objetos como fontes de luz

Page 180: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

180

18 – Cores e texturas

Introdução Acabamentos Bumps Padrões de Cores Texturas predefinidas Padrões de pigmentos e normais Pigmentos e padrões Modificadores de padrões Pigmentos transparentes e sobreposição de

texturas Mapas de pigmentos

Page 181: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

181

Introdução

A textura de um objeto é uma importante matéria a ser estudada no sentido de aumentar o grau de realismo de uma cena

Page 182: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

182

19 – Efeitos de superfície

Introdução Operações básicas com o vetor normal Sobreposição de modificadores da

normal Acabamentos Atenuação da luz Iridescência

Page 183: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

183

Introdução

Objetos com superfícies bem lisas não são muito realistas. Existem várias formas de perturbar a perfeição de uma superfície, todas elas via manipulação do vetor normal. A normal é vetor que fica perpendicular a cada ponto da superfície, e a forma como a luz se comporta depende desse vetor

Page 184: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

184

20 – A câmera virtual e animação

Escolha da posição e das lentes Animação

Page 185: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

185

21 – Formatos de arquivos de imagens e Internet

Arquivos gráficos Implantação de imagens em páginas

HTML Cuidados especiais para otimizar a

transmissão das páginas

Page 186: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

186

Arquivos gráficos

Chamamos formato o conjunto de regras que estabelecem um padrão de organização de dados nos arquivos gráficos

Page 187: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

187

Formatos e extensões

Formato Extensão

Targa .tga

Portable Network Graphics

.png

Unix PPM .ppm

Windows bitmap .bmp

Page 188: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

188

Apêndice A – Matemática da computação gráfica

Introdução Gráficos 2D versus gráficos 3D Sistemas de Coordenadas Pontos, vetores e matrizes

Page 189: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

189

Representações de um Cubo

Page 190: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

190

Sistemas de Coordenadas

Um sistema de coordenadas é composto por eixos que sejam perpendiculares entre si, sendo um para cada dimensão do espaço

Page 191: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

191

Sistemas de coordenadas

2D Sistema Cartesiano (x, y) Sistema Polar (r, θ)

3D Sistema Cartesiano (x,y,z) Sistema cilíndrico (r, θ, z) Sistema esférico (r, θ, φ)

Page 192: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

192

Sistema Cartesiano no plano (2D)

Page 193: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

193

Sistema cartesiano no espaço (3D)

Page 194: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

194

Sistema Esférico (tridimensional)

Page 195: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

195

Sistema Cilíndrico (tridimensional)

Page 196: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

196

Pontos, vetores e matrizes

Ponto: é uma posição especificada dentro de um sistema de referências

Vetor: estabelece a distância entre dois pontos e possui uma direção

Page 197: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

197

Definição de um vetor no plano cartesiano

Page 198: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

198

Operações com vetores

produto por um escalar soma de vetores (+) produto escalar (.) produto vetorial (x)

Page 199: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

199

Matrizes

Page 200: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

200

Operações com matrizes

produto por um escalar produto de matrizes transposição de matrizes (troca das

linhas pelas colunas)

Page 201: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

201

Referências

http://www.student.cs.uwaterloo.ca/~cs488/

http://www.cs.princeton.edu/courses/archive/spr03/cs426/

http://annibal.sites.uol.com.br/compgraf.html

Page 202: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

202

Backup Slides

Page 203: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

203

Computação Gráfica na Wikipédia

http://pt.wikipedia.org/wiki/Computa%C3%A7%C3%A3o_gr%C3%A1fica

Page 204: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

204

Sistema de Cores

RGB (Red, Green, Blue) XYZ (CIE) CMY (Cyan, Magenta, Yellow)

Subtractive (complement RGB) HSV (Hue, Saturation, Value) Outros

Page 205: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

205

RGB (Red, Green, Blue)

R G B Cor

0 0 0 Preto (Black)

1 0 0 Vermelho (Red)

0 1 0 Verde (Green)

0 0 1 Azul (Blue)

1 1 0 Amarelo (Yellow)

1 0 1 Magenta

0 1 1 Ciano (Cyan)

1 1 1 Branco (White)

Page 206: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

206

Cubo de Cores RGB

Page 207: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

207

Pixel

Page 208: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

208

CMY (Cyan, Magenta, Yellow)

C M Y Cor

0 0 0 branco

1 0 0 cyan

0 1 0 magenta

0 0 1 amarelo

1 1 0 azul

1 0 1 verde

0 1 1 vermelho

1 1 1 preto

Page 209: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

209

Cubo de Cores CMY

Page 210: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

210

Modelo de Cores HSV

H S V Cor

0 1 1 Vermelho

120 1 1 Verde

240 1 1 Azul

* 0 1 Branco

* 0.0 0.5 Cinza

* 0.0 Preto

60

270

Page 211: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

211

Aplicações Gráficos para TV

Esse é o tipo de aplicação que vemos com mais freqüência. Suas animações são mais voltadas para movimentação de logotipos e textos.

Visualização CientíficaNa aplicação de estudos acadêmicos a computação gráfica tem um papel importante. Ela tem a tarefa de traduzir números e dados em representações gráficos de leitura mais fácil. Essas representações são chamadas as vezes de Visual Data Analysis.

SimulaçãoA computação gráfica, pode ser utilizada para simular acidentes ou acontecimentos importantes para um público maior. Esse tipo de simulação é muito utilizado em jornalismo, para ilustrar algum acontecimento. Nos EUA, existem empresas especializadas em criar simulações de acidentes de trânsito, para apresentação em tribunais.

Simuladores de VooOs treinamentos de pilotos são realizados de maneira barata e segura nesses simuladores. Essa aplicação é mais restrita, já que os equipamentos envolvidos são caros.

Page 212: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

212

Aplicações Militares

Os militares são consumidores ávidos por computação gráfica, pelo menos os militares americanos. Eles utilizam a CG para treinamentos e simulações de cenários envolvidos em conflitos. Os investimentos necessários para o desenvolvimento da informática e da computação gráfica, só foram possíveis graças a interesses militares.

Astronomia e espaçoEsse tipo de aplicação é muito semelhante a visualização científica, mas sua aplicação é mais ilustrativa do que acadêmica. Eventos que se passam a milhões de KM da nossa atmosfera não podem ser filmados com facilidade, então eles são apresentados ao público em geral na forma de uma animação. Existem aplicações científicas também, como estudo de trajetórias e simulação de colisões no espaço.

ArquiteturaA visualização de projetos arquitetônicos é extremamente difundida entre as pessoas que estão começando a trabalhar no mercado de CG. Todos se interessam pelas famosas “maquetes eletrônicas”. Esse interesse não é justificado pela aplicação comercial mais imediata desse produto. Existem mais pessoas interessadas em comprar esse tipo de CG. Com o crescimento do setor de construção, esse é um ramo da CG que só tende a crescer no nosso país.

Page 213: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

213

Aplicações Arqueologia

O uso de CG para arqueologia é muito parecido com o seu uso para arquitetura. A diferença é o objetivo. Na visualização arquitetônica, a CG mostra o que será construído e na arqueologia o objetivo é reconstruir um local, para mostrar como ela era no passado.

MedicinaAplicações médicas são importantes na CG para desenvolvimento de treinamentos e auxílio em diagnósticos. Algumas empresas de CG são especializadas nesse tipo de aplicação, como eu já mostrei em um artigo publicado aqui.

FilmesAcho que eu não preciso falar muito sobre esse tipo de aplicação, já que é uma área altamente divulgada. Aqui as aplicações da CG são fundamentais para contar uma história de maneira convincente. Nos últimos anos a CG tem tido um destaque mair pela

presença de filmes completamente produzidos em CG.

Page 214: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

214

Aplicações Efeitos especiais

Esse ramo da CG tem relação direta com os filmes. Várias produções utilizam a exaustão efeitos especiais para contar uma história. Você já imaginou contar a história de Star Wars, sem efeitos especiais? Tanto a área de filmes como a de efeitos especiais exigem hardware sofisticado e conhecimentos técnicos avançados, dos profissionais envolvidos na produção.

PublicidadeUtilizar a CG na publicidade ajuda a vender mais produtos, com a utilização de recursos sofisticados. Essa área é bem desenvolvida no nosso país e pode absorver muitos profissionais no futuro.

Comunicação corporativaCom acesso facilitado a tecnologia, várias empresas utilizam a CG para realizar treinamentos e comunicados. Material produzido dentro da própria empresa pode ser atualizado de maneira mais fácil e rápida.

EducaçãoAs aplicações da CG para educação são infinitas, podendo simular praticamente qualquer coisa com o objetivo de instruir e ensinar. O advento de instituições que utilizam ensino a distância, impulsiona esse mercado, já que boa parte do matéria deve ser produzido em meios eletrônicos.

Page 215: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

215

Aplicações Jogos

O mercado de jogos eletrônicos sempre foi uma grande promessa no nosso país. Os jogos modernos consomem uma enorme quantidade de animações, modelos 3D e ilustrações. Esse é um mercado que tem poucos profissionais especializados e que pode trazer um bom retorno para quem se interessar.

ArteA CG também tem aplicações para artistas interessados em desenvolver trabalhos em 3D e ilustração. Existem vários artistas desenvolvendo animações abstratas e simulações que envolvem formas e tempo.

MultimídiaEssa área é uma mistura de várias das aplicações citadas aqui. A habilidade de misturar textos, sons e imagens em uma interface com o usuário. Esse tipo de aplicação pode ser utilizado para vender produtos, apresentar idéias ou educar pessoas. Existem empresas e profissionais especializados em produzir esse tipo de material.

Page 216: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

216

Aplicações da Computação Gráfica

Como você deve ter percebido, as aplicações da Computação Gráfica são variadas e algumas áreas se relacionam diretamente entre si. A escolha da área certa para atuar pode determinar o sucesso ou o fracasso de um profissional.

Com esse artigo, pessoas que estão começando a sua jornada profissional na CG, podem escolher de maneira mais fácil a área em que desejam atuar.

Page 217: 1 Computação Gráfica versão 1.0 17/08/2009. 2 Revisões DataPor:Modificação.

217

Aplicações da Computação Gráfica

Fonte: http://www.allanbrito.com/2007/01/16/aplicacoes-da-computacao-grafica/