DEFORMAÇÕES
E MORFIMOS
APLICAÇÕES DE DEFORMAÇÃO E
MORFISMO

Produção de efeitos especiais no cinema, na televisão e em
propagandas;

O estudo da evolução das formas de organismos vivos;

A análise do crescimento e do desenvolvimento de organismos vivos;

A assistência à cirurgia plástica e de reconstrução;

A investigação de variações no projeto de um produto;

O “envelhecimento” de fotografias de pessoas desaparecidas ou de
suspeitos da polícia.
Efeitos Visuais
Envelhecimento
Definição matemática
de imagem
f :   {Espaçodas cores}
2
O conjunto {Espaço das cores} é o conjunto
formado pelas infinitas combinações possíveis de espectro luminoso.
No sistema RGB, cada cor é associada
por um conjunto de três números,
representando cada um a quantidade
de uma das cores primárias.
[0, 1]  números reais
Dois padrões
[0 .. 255]  números naturais
0
1
255
0
1
255
0
1
255
Matriz de Pixels
j
Necessidade:
Discretizar
o problema.
i
M[5][5]=(256,0,0)
Idéia do Software
Deformação do Vaso
y
b
a
Álgebra
das
Deformações
x
Mapeamento
Mapearemos três pontos em três pontos
y
y
T(y)
y
T(x)
x
T(z)
z
x
T
x
Mapeamento Computacional
p[0]
P[0]
p[1]
P[1]
p[2]
P[2]
T
Pontos da Imagem
(p[0][0],p[0][1])
(p[1][0],p[1][1])
(p[2][0],p[2][1])
Pontos da Transformada
(P[0][0],P[0][1]) (P[1][0],P[1][1]) (P[2][0],P[2][1])
Modelo da Transformação
 x   a0 a1   x   b0 
.    
T    
 y   a2 a3   y   b1 
P[0][0]  P[0][0].a[0]  P[0][1].a[1]  b[0]
P[1][0]  P[1][0].a[0]  P[1][1].a[1]  b[0]
P[2][0]  P[2][0].a[0]  P[2][1].a[1]  b[0]
P[0][1]  P[0][0]a[2]  P[0][1].a[3]  b[1]
P[1][1]  P[1][0].a[2]  P[1][1].a[3]  b[1]
P[2][1]  P[2][0].a[2]  P[2][1].a[3]  b[1]
Dois sistemas lineares
 P[0][0] P[0][1] 1  a[0]  p[0][0]   P[0][0] P[0][1] 1 p[0][0] 


 
 

 P[1][0] P[1][1] 1. a[1]    p[1][0]    P[1][0] P[1][1] 1 p[1][0] 
 P[2][0] P[2][1] 1  b[0]   p[2][0]  P[2][0] P[2][1] 1 p[2][0]


 
 

 P[0][0] P[0][1] 1  a[0]  p[0][1]   P[0][0] P[0][1] 1 p[0][1] 


 
 

 P[1][0] P[1][1] 1. a[1]    p[1][1]    P[1][0] P[1][1] 1 p[1][1] 
 P[2][0] P[2][1] 1  b[1]   p[2][1]  P[2][0] P[2][1] 1 p[2][1]


 
 

Escalonamento e Pivotamento
Método de Gauss-Jordan
Matriz não-escalonada:
0 0  2 0 7 12
2 4  10 6 12 28


2 4  5 6  5  1
Escalonamento e Pivotamento
Método de Gauss-Jordan
1o. passo:
0 0  2 0 7 12
2 4  10 6 12 28


2 4  5 6  5  1
Coluna não nula mais a esquerda
Escalonamento e Pivotamento
Método de Gauss-Jordan
2o. passo:
2 4  10 6 12 28
0 0  2 0 7 12


2 4  5 6  5  1
Escalonamento e Pivotamento
Método de Gauss-Jordan
3o. passo:
lider
1 2  5 3 6 14
0 0  2 0 7 12


2 4  5 6  5  1
1
 L1
2
Escalonamento e Pivotamento
Método de Gauss-Jordan
4o. passo:
14 
1 2  5 3 6
0 0  2 0 7

12


0 0 5 0  17  29
L3  2  L1
Escalonamento e Pivotamento
Método de Gauss-Jordan
5o. passo:
Se a matriz já estiver escalonada:
Siga para o passo 6.
Caso contrário, volte ao passo 1.
Escalonamento e Pivotamento
Método de Gauss-Jordan
6o. passo:
Comece com a ultima linha não nula
e trabalhe de baixo para cima, de
modo a introduzir zeros acima dos
líderes.
Implementações para a
melhoria do programa
• Mapear o maior número de pontos
possíveis
• Em vez de mapear caminhos retilíneos,
podemos curvas interpoladoras.
Download

apresentacao