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

Preview:

Citation preview

1

Computação Gráfica

versão 1.017/08/2009

2

Revisões

Data Por: 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.

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.

5

Introdução

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

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.

7

Aplicações

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

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.

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.

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)

11

Treinamentos

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

um determinado aparelho)

12

Educação

Visualização de monumentos históricos

Estudo do esqueleto humano

13

E-Commerce

Planejamento de uma cozinha planejada

Loja virtual de telefones

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.

15

2 - Primitivas gráficas em 2D

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.

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

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

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

20

Segmento de reta definido entre dois pontos

21

Algoritmos para desenhar retas

DDA – Digital Differential Analyser (Analisador Diferencial Digital)

Algoritmo de Breseham

22

Algoritmo DDA (Digital Differential Analyser)

23

Algoritmo DDA (Digital Differential Analyser)

24

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));

}

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)); }

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

28

Algoritmo de Breseham

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)); } }

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

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

32

Polilinhas

Exemplos de Polilinhas

33

Propriedades da Polilinhas

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

é definida por n + 1 pontos

Polilinha poderá ser aberta ou fechada

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

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

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)

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

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

39

Exemplo

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

unsigned long FrameBuffer[800][600];

Obs: o tamanho do long é 4 bytes

40

Exemplo

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

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

FrameBuffer[x][y];

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

42

Exemplo

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

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

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)

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)

47

4 – Círculos e elipses

Introdução traçado de círculos

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

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

50

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

51

Sistema de Coordenadas

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

52

Círculo de raio r

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

54

Divisão da Circunferência em 8 segmentos

55

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

56

Algoritmo do ponto médio para círculos

57

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

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.

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

61

Elipse – quatro quadrantes

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

62

Algoritmo do ponto médio para elipses

63

64

Algoritmo do ponto médio para elipses

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

65

5 – Preenchimento de Áreas

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

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

67

Preenchimento de Áreas

Exemplo 1 Exemplo 2

68

Algoritmo de Preenchimento de Áreas

69

Algoritmo de Preenchimento

70

6 – Atributos de primitivas

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

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

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

74

Atributos de linhas

Tipo de linha Espessura da linha (ou largura da

linha) Padrão de pincel

75

Tipo de linha

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

76

Exemplos de Tipos de Linhas

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

77

Espessura da linha (largura)

Estabelece a espessura com a qual uma linha deve ser representada

78

Atributos de áreas

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

79

Atributos de área

Cor Textura

80

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

81

7 – Tópico Teórico: antialias

Introdução Método de superamostragem

adaptativo Método de superamostragem recursivo

82

Método de superamostragem recursivo

83

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

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

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

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

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

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

88

9 – Transformações compostas

Introdução às coordenadas homogêneas

Transformações compostas em coordenadas homogêneas

Transformações especiais Transformações afins

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

90

Aplicação de Transformações Sucessivas

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

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

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

94

Transformações especiais

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

direção: shears

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

96

Reflexão com relação ao eixo X

1 0 0 0 -1 0 0 0 1

Matriz de transformação:

97

Reflexão com relação ao eixo Y

-1 0 0 0 1 0 0 0 1

Matriz de transformação:

98

Reflexão com relação a origem

-1 0 0 0 -1 0 0 0 1

Matriz de transformação:

99

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

0 1 0 1 0 0 0 0 1

Matriz de transformação:

100

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

0 -1 0-1 0 0 0 0 1

Matriz de transformaçã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

102

Shear na direção X

1 shx 0 0 1 0 0 0 1

Matriz de transformação:

103

Shear na direção Y

1 0 0 shy 1 0 0 0 1

Matriz de transformação:

104

Transformações afins

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

y’ = ayxx + ayyy + by

é chamada de transformação afim bidimensional

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

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

107

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

Vetor Normal é um vetor que é perpendicular ao plano.

N = Ax + By + Cz

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.

109

Paralelepípedos

Um paralelepípedo

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

110

Superfícies curvas

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

111

Superfícies quadráticas

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

Iz = J

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

113

Uma esfera

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

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

115

Elipsóides

Um elipsóide comtrês raios diferentes

116

Toróides

Representação de um toróide

117

Superfícies superquadráticas: os superelipsóides

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

119

Blobs

Um objeto blobcomposto por três elementos

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)

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

122

Introdução

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

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

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

125

Objeto opaco

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

126

Objeto translúcido

Um objeto translúcido é parcialmente atravessado pela luz

127

Objeto transparente

Um objeto transparente permite a passagem total da luz

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)

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

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

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

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

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

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

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

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

137

12.6 Síntese subtrativa

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

138

Síntese subtrativa

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

139

Síntese subtrativa

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

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)

141

Geração de imagens coloridas em monitores

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

Usa a síntese aditiva

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

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

144

Fonte de luz pontual

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

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

146

Duas fontes de luz

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

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

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

149

Simulando a propagação da luz

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

Intensidade controlada por números

150

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

151

13 – Efeitos especiais: cuidando das superfícies

Texturas Pigmentos Normal Finalizações Brilhos superficiais

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)

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

154

Esferas com vários efeitos de superfície e finalizaçã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

156

Normal

Vetor normal estabelece as irregularidades da superfície

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

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

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

160

Brilhos Superficiais

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

ou filme fino)

161

Efeito "phong"

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

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

163

Transformações básicas

Translação de um objeto

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

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

=

166

Rotação

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

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

168

Escala

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

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

171

Projeções

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

172

Tipos de Projeções

Projeção paralela Projeção com perspectiva

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

174

Projeção Paralela

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

176

Projeção com Perspectiva

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

178

16 – Objetos básicos

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

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

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

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

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

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

184

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

Escolha da posição e das lentes Animaçã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

186

Arquivos gráficos

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

187

Formatos e extensões

Formato Extensão

Targa .tga

Portable Network Graphics

.png

Unix PPM .ppm

Windows bitmap .bmp

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

189

Representações de um Cubo

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

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, θ, φ)

192

Sistema Cartesiano no plano (2D)

193

Sistema cartesiano no espaço (3D)

194

Sistema Esférico (tridimensional)

195

Sistema Cilíndrico (tridimensional)

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

197

Definição de um vetor no plano cartesiano

198

Operações com vetores

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

199

Matrizes

200

Operações com matrizes

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

linhas pelas colunas)

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

202

Backup Slides

203

Computação Gráfica na Wikipédia

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

204

Sistema de Cores

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

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

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)

206

Cubo de Cores RGB

207

Pixel

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

209

Cubo de Cores CMY

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

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.

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.

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.

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.

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.

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.

217

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

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

Recommended