1 Computação Gráfica. 2 A computação gráfica é a área da computação destinada à geração...
Transcript of 1 Computação Gráfica. 2 A computação gráfica é a área da computação destinada à geração...
1
Computação Gráfica
2
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.
3
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.
4
Introdução
O que é computação gráfica ? Aplicações
5
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.
6
Aplicações
Entretenimento CAD (Computer-aided design) Visualização Científica Treinamento Educação E-commerce Arte Computacional
7
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.
8
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.
9
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)
10
Treinamentos
Simuladores de direção Simuladores de vôo Montagens em geral (ex, como
montar um determinado aparelho)
11
Educação
Visualização de monumentos históricos
Estudo do esqueleto humano
12
E-Commerce
Planejamento de uma cozinha planejada
Loja virtual de telefones
13
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.
14
2 - Primitivas gráficas em 2D
15
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.
16
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
17
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
18
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)b=y1-mx1
19
Segmento de reta definido entre dois pontos
20
Algoritmos para desenhar retas
DDA – Digital Differential Analyser (Analisador Diferencial Digital)
Algoritmo de Breseham
21
Algoritmo DDA (Digital Differential Analyser)
22
Algoritmo DDA (Digital Differential Analyser)
23
24
Algoritmo de Breseham
25
Algoritmo de Breseham
26
Polilinhas
Retas são a base para uma grande variedade de figuras que são composta por segmentos de retas:
polígonos caracteres figuras geométricas complexas
27
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
28
Polilinhas
Exemplos de Polilinhas
29
Propriedades
é composta de n segmentos de retas (n >= 1)
é definida por n + 1 pontos
Polilinha fechada
30
Polígono
Pode ser definido como uma polilinha fechada
Propriedades: n segmentos de retas (n >= 2) definida por n pontos
31
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
32
Frame Buffer
É uma técnica de construção de imagem em memória
Por que construir uma imagem em memória ?
33
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
34
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
35
Exemplo
Uma possível representação em linguagem C seria:
unsigned long FrameBuffer[800][600];
Obs: o tamanho do long é 4 bytes
36
Exemplo
Acesso ao pixel: FrameBuffer[x][y]=0; // pixel é
apagado FrameBuffer[x+1][y+1] =
FrameBuffer[x][y];
37
Exemplo
Representação usando apenas um vetor
cada linha da imagem é representada por uma seqüência de bytes que se agrupam como seqüência consecutivas
38
Exemplo
39
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
40
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
41
Exemplo
m = FB + [ x + Ly ] * bonde:
m: endereço do inicio do pixel no frame-buffer
FB: L: número de pixels numa linhas da
imagem b: tamanho do pixel (em bytes)
42
Exemplo
x = resto ((m-FB)/bL) y = (m-FB)/bL
43
4 – Círculos e elipses
Introdução traçado de círculos
44
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
45
Círculos
x = xc +- sqrt(r2 – (y-yc)2) y = yc +- sqrt(r2 – (x –xc)2)
46
Círculo de raio r
47
Sistema de Coordenadas
Coordenadas cartesianas Coordenadas polares
48
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)
49
Imprecisões no traçado de círculos
50
Divisão da Circunferência em 8 segmentos
51
Aplicação do algoritmo do ponto médio para círculos
52
Algoritmo do ponto médio para círculos
53
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
54
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.
55
Elipse – quatro quadrantes
56
Algoritmo do ponto médio para elipses
57
5 – Preenchimento de Áreas
Algoritmo ponto dentro – ponto fora
58
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
59
Preenchimento de Áreas
Exemplo 1 Exemplo 2
60
Algoritmo de Preenchimento de Áreas
61
Algoritmo de Preenchimento
62
6 – Atributos de primitivas
63
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
64
Profundidade de uma cor
Profundidade (é uma grandeza): número de bits disponível por pixel: 3, 6, 12, 24
65
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
66
Atributos de linhas
tipo de linha espessura da linha (ou largura da
linha) padrão de pincel
67
Tipo de linha
Uma linha, quanto a seu traçado, pode ser: contínua pontilhada tracejada ponto-traço
68
Exemplos de Tipos de Linhas
69
Espessura da linha (largura)
70
Atributos de áreas
Uma área pode ser definida pelas linhas que definem seu perímetro.
71
Atributos de área
cor textura
72
Aplicação de um padrão para o preenchimento de uma área
73
7 – Tópico Teórico: antialias
Introdução Método de superamostragem
adaptativo Método de superamostragem
recursivo
74
Método de superamostragem recursivo
75
8 – Transformações geométicas em duas dimensões Transformações básicas
Translação Rotação Escala
76
Transformações básicas
77
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
78
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
79
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
80
9 – Transformações compostas
Introdução às coordenadas homogêneas
Transformações compostas em coordenadas homogêneas
Transformações especiais Transformações afins
81
Como rotacionar um objeto deslocado da origem
1) deslocar o ponto pivot para origem das coordenadas
2) aplicar a rotação no objeto deslocado
3) transladar de volta o ponto pivot para o local original
82
Aplicação de Transformações Sucessivas
83
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
84
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
85
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
86
Transformações especiais
Reflexões sobre eixos notáveis Distorções angulares em uma
única direção: shears
87
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
88
Reflexão com relação ao eixo X
1 0 0 0 -1 0 0 0 1
Matriz de transformação:
89
Reflexão com relação ao eixo Y
-1 0 0 0 1 0 0 0 1
Matriz de transformação:
90
Reflexão com relação a origem
-1 0 0 0 -1 0 0 0 1
Matriz de transformação:
91
Reflexão com relação a reta Y = X
0 1 0 1 0 0 0 0 1
Matriz de transformação:
92
Reflexão com relação a reta Y = -X
0 -1 0-1 0 0 0 0 1
Matriz de transformação:
93
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
94
Shear na direção X
1 shx 0 0 1 0 0 0 1
Matriz de transformação:
95
Shear na direção Y
1 0 0 shy 1 0 0 0 1
Matriz de transformação:
96
Transformações afins
Uma transformação na forma:x’ = axxx + axyy + bx
y’ = ayxx + ayyy + by
é chamada de transformação afim bidimensional
97
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
98
Planos
Os planos são os objetos mais simples que podemos definir na geometria em três dimensões
Caracterização Ax + Bx + Cz + D = 0 onde A, B e C e D são constantes
99
Um plano ao pôr-do-sol, com seu vetor normal
100
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.
101
Paralelepípedos Um paralelepípedo
Um paralelepípedo com uma diagonal e os pontos que o definem
102
Superfícies curvas
103
Superfícies quadráticas
Ax2+By2+Cz2+Dxy+Exz+Fyz+Gx+Hy+Iz = J
104
Esferas
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
105
Uma esfera
Uma esfera: todos os pontos estãoa mesma distância do centro
106
Elipsóides
(x/rx)2 + (y/ry)2 + (z/rz)2 = 1
107
Elipsóides
Um elipsóide comtrês raios diferentes
108
Toróides
109
Toróides
Representação de um toróide
110
Superfícies superquadráticas: os superelipsóides
111
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
112
Blobs
Um objeto blobcomposto por três elementos
113
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)
114
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
115
Introdução
Fontes de luz corpos opacos corpos transparentes propagação da luz
116
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
117
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
118
Objeto opaco
Um objeto opaco: a luz não o atravessa, e é gerada uma sombra
119
Objeto translúcido
Um objeto translúcido é parcialmente atravessado pela luz
120
Objeto transparente
Um objeto transparente permite a passagem total da luz
121
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)
122
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
123
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
124
Tabela com a cor aparente de um objeto em função da luz que o ilumina
Cor da Luz
Cor observada do objeto
Branca Vermelha
Azul Verde Branca Preta
Vermelha
Vermelha
Preta Preta Vermelha
Preta
Azul Preta Azul Preta Azul Preta
Verde Preta Preta Verde Verde Preta
125
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
126
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
127
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
128
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
129
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
130
12.6 Síntese subtrativa
Um fonte de luz branca atravessa filtros amarelos e ciano, resultando em luz verde
131
Síntese subtrativa
Uma fonte de luz branca atravessa filtros magenta e ciano, resultando em luz azul
132
Síntese subtrativa
Uma fonte de luz branca atravessa filtros amarelo e magenta, resultando em luz vermelha
133
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)
134
Geração de imagens coloridas em monitores
Utiliza o mesmo princípio da televisão em cores
Usa a síntese aditiva
135
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
136
Sombras: fonte de luz pontalUma fonte de luz pontual é o caso mais simples
de geração de sombraQuando 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
137
Fonte de luz pontual
um objeto iluminado por uma fonte de luz pontual gera uma sombra bem nítida
138
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
139
Duas fontes de luz
A sombra gerada por duas fontes de luz pontuais é, na verdade, a sobreposição das duas sombras distintas
140
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
141
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
142
Simulando a propagação da luz
Três cores básicas: Vermelho (Red) Verde (Green) Azul (Blue)
Intensidade controlada por números
143
Raios luminosos de cor RGB atravessando um filtro cinza (50%) e um filtro vermelho
144
13 – Efeitos especiais: cuidando das superfícies
Texturas Pigmentos Normal Finalizações Brilhos superficiais
145
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)
146
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
147
Esferas com vários efeitos de superfície e finalização
148
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
149
Normal
Vetor normal estabelece as irregularidades da superfície
150
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
151
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
152
Brilhos superficiais
O brilho manisfesta-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
153
Brilhos Superficiais
Efeito "Phong" Reflexão especular Iridescência (interferência de
Newton, ou filme fino)
154
Efeito "phong"
Nessa figura foi atribuído apenas ao toróide da esquerda, o brilho phong
155
14 – Transformações geométicas 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
156
Transformações básicas
Translação de um objeto
157
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
158
Matriz homogênea de transaçã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
=
159
Rotação
Rotação de um objeto (da primeira figura) nos três eixos (x, y e z)
160
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
161
Escala
162
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
163
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
164
Projeções
É a operação de transformar uma imagem 3D em 2D
Projeção paralela Projeção com perspectiva
165
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
166
Projeção paralela
167
Projeção com perspectiva
Na projeção com perspectiva, supõe-se que o observador esteja num ponto (chamado ponto de referencia ou ponto de fuga) e que partem linhas imaginárias desse ponto para o interior da cena
168
Projeção com Perspectiva
169
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
170
16 – Objetos básicos
Introdução Plano Esferas Paralelepípedos Cone Cilindro Toróide Height field CSG (Constructive Solid Geometry)
171
17 - Iluminação
Introdução Fonte de luz ambiente Fontes de luz pontuais Fontes de spotlight Fontes cilíndricas Objetos como fontes de luz
172
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
173
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
174
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
175
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
176
20 – A câmera virtual e animação
Escolha da posição e das lentes Animação
177
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
178
Arquivos gráficos
Chamamos formato o conjunto de regras que estabelecem um padrão de organização de dados nos arquivos gráficos
179
Formatos e extensões
Formato Extensão
Targa .tga
Portable Network Graphics
.png
Unix PPM .ppm
Windows bitmap .bmp
180
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
181
Representações de um Cubo
182
Sistemas de Coordenadas
Um sistema de coordenadas é composto por eixos que sejam perpendiculares entre si, sendo um para cada dimensão do espaço
183
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, θ, φ)
184
Sistema Cartesiano no plano (2D)
185
Sistema cartesiano no espaço (3D)
186
Sistema Esférico (tridimensional)
187
Sistema Cilíndrico (tridimensional)
188
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
189
Definição de um vetor no plano cartesiano
190
Operações com vetores
produto por um escalar soma de vetores produto escalar produto vetorial
191
Matrizes
192
Operações com matrizes
produto por um escalar produto de matrizes transposição de matrizes (troca
das linhas pelas colunas)
193
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
194
Backup Slides
195
Computação Gráfica na Wikipédia
http://pt.wikipedia.org/wiki/Computa%C3%A7%C3%A3o_gr%C3%A1fica
196
Sistema de Cores
RGB (Red, Green, Blue) XYZ (CIE) CMY (Cyan, Magenta, Yellow)
Subtractive (complement RGB) HSV (Hue, Saturation, Value) Outros
197
RGB (Red, Green, Blue)
R G B Cor
0 0 0 Preto
1 0 0 Vermelho
0 1 0 Verde
0 0 1 Azul
1 1 0 Amarelo
1 0 1 Magenta
0 1 1 Cyan
1 1 1 White
198
Cubo de Cores RGB
199
Pixel
200
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
201
Cubo de Cores CMY
202
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
203
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.
204
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.
205
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.
206
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.
207
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.
208
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.
209
Aplicações da Computação Gráfica
Fonte: http://www.allanbrito.com/2007/01/16/aplicacoes-da-computacao-grafica/