Fundamentos de Processamento Gr ´afico
Helton H. B´ıscaro ; F ´atima Nunes
Introduc¸ ˜ao
Paradigma dos Quatro Universos
F´ısico: Cont ´em objetos do mundo real que pretendemos estudar; Matem ´atico: Cont ´em uma descric¸ ˜ao abstrata dos objetos do universo
f´ısico;
Representac¸ ˜ao: Cont ´em representac¸ ˜oes simb ´olicas e finitas associadas
aos objetos do universo matem ´atico ;
Implementac¸ ˜ao: Cont ´em particularidades da linguagem de programac¸ ˜ao
escolhida para a implementac¸ ˜ao do problema.
S´ıntese de imagem
Introduc¸ ˜ao
Geometria
Do grego :Geo - “terra ”+ metria - “medida ”.
“Ramo da matem ´atica preocupado com quest ˜oes de forma, tamanho e posic¸ ˜ao relativa de figuras e com as propriedades dos espac¸os... ”.
Geometria
Euclides:
Considerado o pai da geometria.
Grego, viveu em 300 AC, e acredita-se que esteve ativo em Alexandria (Egito) durante o reinado de Ptolomeu (323-283 AC).
Os Elementos ´e o livro mais bem sucedido da hist ´oria da Matem ´atica. ´
E um tratado geom ´etrico escrito em 13 volumes.
Compreende uma colec¸ ˜ao de definic¸ ˜oes, postulados (axiomas), proposic¸ ˜oes (teoremas e construc¸ ˜oes), e provas matem ´aticas das proposic¸ ˜oes.
O 13◦livro cobre a geometria Euclideana e uma vers ˜ao Grega antiga e elementar da teoria dos n ´umeros.
Introduc¸ ˜ao
Geometria
Os Elementos
Impresso pela primeira vez em Veneza em 1482.
Foi um dos primeiros trabalhos sobre matem ´atica a ser impresso ap ´os a invenc¸ ˜ao da imprensa, perdendo apenas para a b´ıblia, quanto ao n ´umero de edic¸ ˜oes (mais de 1.000).
Foi usado como texto b ´asico de geometria no mundo Ocidental por cerca de 2.000 anos.
Geometria
Representac¸ ˜ao eficiente de objetos (coordenadas); Transformac¸ ˜oes necess ´arias `a manipulac¸ ˜ao dos mesmos;
Operac¸ ˜oes de Posicionamento; Operac¸ ˜oes de modelagem; Operac¸ ˜oes de Visualizac¸ ˜ao.
Introduc¸ ˜ao
Geometria
Operac¸ ˜oes de Posicionamento: As transformac¸ ˜oes Euclidianas s ˜ao
operac¸ ˜oes b ´asicas de posicionamento e movimento de objetos geom ´etricos num cen ´ario 2D ou 3D;
Operac¸ ˜oes de Modelagem:
As transformac¸ ˜oes afins s ˜ao operac¸ ˜oes b ´asicas de modelagem de objetos geom ´etricos num cen ´ario 2D ou 3D;
Permitem a definic¸ ˜ao de um objeto no seu pr ´oprio sistema de coordenadas locais (modeling coordinates)
Permite usar a definic¸ ˜ao de um objeto v ´arias vezes numa cena com um sistema de coordenadas globais (world coordinates)
Operac¸ ˜oes de Visualizac¸ ˜ao: Permitem montar um cen ´ario que envolve
o observador, o plano de projec¸ ˜ao e a cena (os v ´arios objetos da cena)
Projec¸ ˜oes
Introduc¸ ˜ao
Projec¸ ˜oes
Tipos de projec¸ ˜oes
Exemplo
C ˆamera Digital
Introduc¸ ˜ao
Geometrias n ˜ao Euclidianas
O quinto postulado
“Por um ponto exterior a uma reta dada, pode ser trac¸ada uma ´unica reta paralela...”
Durante s ´eculos se tentou deduzir este axioma, a partir dos outros axiomas.
Pergunta: pode-se construir uma geometria sem o quinto axioma?
V ´arias tentativas foram feitas, mas at ´e o meio do s ´eculo 19, o pensamento matem ´atico n ˜ao estava maduro o suficiente.
Diferentes geometrias (n ˜ao Euclideanas) foram criadas baseadas na negac¸ ˜ao do quinto axioma:
Por exemplo: A geometria Hiperb ´olica admite uma infinidade de retas paralelas.
Geometrias n ˜ao Euclidianas
O quinto postulado
“Por um ponto exterior a uma reta dada, pode ser trac¸ada uma ´unica reta paralela...”
Durante s ´eculos se tentou deduzir este axioma, a partir dos outros axiomas.
Pergunta: pode-se construir uma geometria sem o quinto axioma?
V ´arias tentativas foram feitas, mas at ´e o meio do s ´eculo 19, o pensamento matem ´atico n ˜ao estava maduro o suficiente.
Diferentes geometrias (n ˜ao Euclideanas) foram criadas baseadas na negac¸ ˜ao do quinto axioma:
Por exemplo: A geometria Hiperb ´olica admite uma infinidade de retas paralelas.
Introduc¸ ˜ao
Geometrias n ˜ao Euclidianas
O quinto postulado
“Por um ponto exterior a uma reta dada, pode ser trac¸ada uma ´unica reta paralela...”
Durante s ´eculos se tentou deduzir este axioma, a partir dos outros axiomas.
Pergunta: pode-se construir uma geometria sem o quinto axioma?
V ´arias tentativas foram feitas, mas at ´e o meio do s ´eculo 19, o pensamento matem ´atico n ˜ao estava maduro o suficiente.
Diferentes geometrias (n ˜ao Euclideanas) foram criadas baseadas na negac¸ ˜ao do quinto axioma:
Por exemplo: A geometria Hiperb ´olica admite uma infinidade de retas paralelas.
Geometrias n ˜ao Euclidianas
O quinto postulado
“Por um ponto exterior a uma reta dada, pode ser trac¸ada uma ´unica reta paralela...”
Durante s ´eculos se tentou deduzir este axioma, a partir dos outros axiomas.
Pergunta: pode-se construir uma geometria sem o quinto axioma? V ´arias tentativas foram feitas, mas at ´e o meio do s ´eculo 19, o pensamento matem ´atico n ˜ao estava maduro o suficiente.
Diferentes geometrias (n ˜ao Euclideanas) foram criadas baseadas na negac¸ ˜ao do quinto axioma:
Por exemplo: A geometria Hiperb ´olica admite uma infinidade de retas paralelas.
Introduc¸ ˜ao
Geometrias n ˜ao Euclidianas
O quinto postulado
“Por um ponto exterior a uma reta dada, pode ser trac¸ada uma ´unica reta paralela...”
Durante s ´eculos se tentou deduzir este axioma, a partir dos outros axiomas.
Pergunta: pode-se construir uma geometria sem o quinto axioma? V ´arias tentativas foram feitas, mas at ´e o meio do s ´eculo 19, o pensamento matem ´atico n ˜ao estava maduro o suficiente.
Diferentes geometrias (n ˜ao Euclideanas) foram criadas baseadas na negac¸ ˜ao do quinto axioma:
Por exemplo: A geometria Hiperb ´olica admite uma infinidade de retas paralelas.
Geometrias n ˜ao Euclidianas
O quinto postulado
“Por um ponto exterior a uma reta dada, pode ser trac¸ada uma ´unica reta paralela...”
Durante s ´eculos se tentou deduzir este axioma, a partir dos outros axiomas.
Pergunta: pode-se construir uma geometria sem o quinto axioma? V ´arias tentativas foram feitas, mas at ´e o meio do s ´eculo 19, o pensamento matem ´atico n ˜ao estava maduro o suficiente.
Diferentes geometrias (n ˜ao Euclideanas) foram criadas baseadas na negac¸ ˜ao do quinto axioma:
Por exemplo: A geometria Hiperb ´olica admite uma infinidade de retas paralelas.
Introduc¸ ˜ao
Projec¸ ˜ao Perspectiva
Do latimperspicere, ou “ver atrav ´es”, ´e uma representac¸ ˜ao aproximada
de uma imagem, como percebida pelo olho, sobre uma superf´ıcie plana. Objetos s ˜ao desenhados menores a medida que a dist ˆancia aumenta. As dimens ˜oes de um objeto ao longo da linha de vis ˜ao s ˜ao relativamente menores que as dimens ˜oes perpendiculares `a linha de vis ˜ao.
Projec¸ ˜ao Perspectiva
Hist ´orico
Na idade M ´edia, arte era para ser lida como um grupo de s´ımbolos, ao inv ´es de ser vista como uma figura coerente.
O ´unico m ´etodo de retratar dist ˆancias era por sobreposic¸ ˜ao de personagens.
Sobreposic¸ ˜ao ´e um m ´etodo ruim para retratar arquitetura.
Pinturas medievais de cidades s ˜ao um amontoado de linhas em todas as direc¸ ˜oes.
Introduc¸ ˜ao
Exemplo
Aus ˆencia de perspectiva
Ilustrac¸ ˜ao de “A Batlha - Crusader Bible - 1240”
Projec¸ ˜ao Perspectiva
Hist ´orico
Em 1415,Filippo Brunelleschidemonstrou o m ´etodo geom ´etrico da
perspectiva, usado atualmente pelos artistas, pintando esboc¸os de v ´arios pr ´edios Florentinos sobre um espelho
Logo ap ´os, quase todo artista em Florenc¸a usava perspectiva geom ´etrica
nas suas pinturas, notadamenteDonatello, que comec¸ou a esculpir pisos
Introduc¸ ˜ao
Exemplo
Anunciac¸ ˜ao, de Botticelli (1489-1490)
Exemplo
Introduc¸ ˜ao
Exemplo
Perspectivas com 1, 2 e 3 pontos de fuga...
Moral da Hist ´oria...
Transformac¸ ˜oes Lineares preservam paralelismo.
Transformac¸ ˜ao perspectivaN ˜AO ´e linear
Vis ˜ao humana funciona com uma c ˆamera.
C ˆamera virtual precisa de um modelo de geometria distinto da Euclideana.
Introduc¸ ˜ao
Geometria Projetiva
O espac¸o projetivo real de dimens ˜ao n, RPn ´e o conjunto de todas as retas em
R
n+1que passam pela origem, excluindo a origem.Um ponto projetivo p
∈
RPn ´e uma classe de equival ˆencia.p
= (λ
x1, . . . , λ
xn, λ
xn+1), λ 6=
0Ou Seja:
p
= (
x1, . . . ,
xn,
xn+1) ≡ λ
pGeometria Projetiva
Associa-se o espac¸o RPncom o espac¸o euclidiano
R
n+1Introduc¸ ˜ao
Geometria Projetiva
O espac¸o projetivo pode ser decomposto em dois conjuntos: o hiperplano de
R
n+1onde xn+1=
1 e o hiperplano em que xn+1=
0. Em outras palavras:RPn
= {(
x1, . . . ,
xn,
xn+1),
xn+16=
0} ∪ {(
x1, . . . ,
xn,
0)}
Geometria Projetiva
Pontos Afins:
pa
= (
x1, . . . ,
xn,
1),
xn+16=
0, λ =
1
xn+1
(Coordenadas Homog ˆeneas) Pontos do Infinito , ou Pontos Ideais
pi
= (
x1, . . . ,
xn,
0),
xn+1=
0, λ =
1OBS: Uma reta no plano projetivo RP2 ´e o conjunto dos pontos
[
x;
y;
z]
queIntroduc¸ ˜ao
Geometria Projetiva
Paralelismo no Espac¸o Projetivo
Transformac¸ ˜oes Projetivas em RP
3Uma Transformac¸ ˜ao Projetiva em RP3 ´e uma Transformac¸ ˜ao Linear em
R
4T
: R
4:−→
T: R
4T pode ser representada por uma matriz M4×4e pode ser avaliada como
Introduc¸ ˜ao
Anatomia de uma Transformac¸ ˜ao Projetiva
Podemos dividir a Matriz M em quatro blocos distintos:
M
=
A T P S A- Bloco Linear 3×
3;T - Bloco de Translac¸ ˜ao 3
×
1;P- Bloco de Perspectiva 1
×
3;S- Bloco de Escala 1
×
1;Anatomia de uma Transformac¸ ˜ao Projetiva
Matriz de Translac¸ ˜ao
1 0 0∆
x 0 1 0∆
y 0 0 1∆
z 0 0 0 1
x y z 1
=
x+ ∆
x y+ ∆
y z+ ∆
z 1
Introduc¸ ˜ao
Anatomia de uma Transformac¸ ˜ao Projetiva
Matriz de Transformac¸ ˜ao Linear
a b c 0 d e f 0 g h i 0 0 0 0 1
x y z 1
=
ax+
by+
cz dx+
ey+
fz gx+
hy+
iz 1
Anatomia de uma Transformac¸ ˜ao Projetiva
Matriz de Transformac¸ ˜ao Perspectiva
1 0 0 0 0 1 0 0 0 0 1 0 p q r 1
x y z 1
=
x y z px+
qy+
rz+
1
Introduc¸ ˜ao
Exemplo
Efeito da transformac¸ ˜ao perspectiva
Anatomia de uma Transformac¸ ˜ao Projetiva
Matriz de Escala
1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 s
x y z 1
=
x y z s
Introduc¸ ˜ao
Rotac¸ ˜oes em RP
3Rotac¸ ˜ao em torno do eixo z
Rotac¸ ˜ao em torno do eixo y
Rotac¸ ˜ao em torno do eixo x
x0 y0 z0 1 = cos (θ) − sin (θ) 0 0 sin (θ) cos (θ) 0 0 0 0 1 0 0 0 0 1 x y z 1 x0 y0 z0 1 = cos (θ) 0 sin (θ) 0 0 1 0 0 − sin (θ) 0 cos (θ) 0 0 0 0 1 x y z 1 x0 y0 z0 1 = 1 0 0 0 0 cos (θ) − sin (θ) 0 0 sin (θ) cos (θ) 0 0 0 0 1 x y z 1
Modelo de C ˆamera Virtual
Um ponto de fugaC ˆamera Digital
Introduc¸ ˜ao
Modelo de C ˆamera Virtual
Dados:
Um centro ´otico O.
um plano de projec¸ ˜ao
π
a uma dist ˆancia f de O.Um sistema de coordenadas cuja origem esteja em O e que tenha os
eixos perpendiculares a
π
.Figura:Determinac¸ ˜ao da projec¸ ˜ao perspectiva
Modelo de C ˆamera Virtual
Neste sistema, se P
= (
X,
Y,
Z)
:A reta passando por P ´e
α(
X,
Y,
Z)
.O ponto que est ´a em
π
tem ´ultima coordenada f , logo: .α =
Zf, x=
fXZ, y=
fYZ.Introduc¸ ˜ao
Modelo de C ˆamera Virtual
Exemplo: retas paralelas ao eixo Z
−→ {(
X0,
Y0,
Z)/
Z∈ IR}
A projec¸ ˜ao de um ponto gen ´erico
(
X0,
Y0,
Z0)
dessas retas ´e dado por(
fX0Z0
,
fY0
Z0
)
.A projec¸ ˜ao para o ponto
(
X0,
Y0,
0)
n ˜ao est ´a definida .O conjunto de todos esses pontos formam uma reta que passa por
(
0,
0)
,com esse ponto exclu´ıdo.
O ponto
(
0,
0,
0)
pode ser visto como “ponto no infinito”.Transformac¸ ˜oes de C ˆamera
Sistemas de Coordenadas
1 Sistemas de Coordenadas do Mundo (SCM)
2 Sistemas de Coordenadas de C ˆamera (SCC)
3 Sistemas de Coordenadas de Imagem (SCI)
Introduc¸ ˜ao
Transformac¸ ˜oes de C ˆamera
Sistemas de coordenadas
Transformac¸ ˜oes de C ˆamera
Do SCM ao SCC, Mudanc¸a de referencial.
Dados
(
X,
Y,
Z)
no SCM, devemos expressar essas coordenadas no SCC.Seja T o vetor que fornece a origem O do mundo no SCC.
Seja R a matriz cujas colunas r1
,
r2e r3s ˜ao as coordenadas dos vetores i,
j eIntroduc¸ ˜ao
Transformac¸ ˜oes de C ˆamera
Do SCM ao SCC, Mudanc¸a de referencial.
( ˜
X, ˜
Y, ˜
Z) =
T+
Xr1+
Yr2+
Zr3; ou˜
P
=
RP+
T ;Ou ainda em coordenadas homog ˆeneas:
e
Xe
Ye
Z 1
=
R T 0 1
X Y Z 1
Transformac¸ ˜oes de C ˆamera
Do SCM ao SCC, Mudanc¸a de referencial (forma de Rodriguez).
w
=
wx wy wz
representa a direc¸ ˜ao do eixo de rotac¸ ˜ao e o ˆangulo de em tornodeste eixo (atrav ´es de sua norma) matriz de rotac¸ ˜ao R associada a w ´e dada por: R
= cos (θ)
I+
sen(θ)
θ
[
w]
x+
(
1− cos [θ])
θ
2 ww t (1) Ondeθ = k
wk
e[
w]
x=
0−
wz wy wz 0−
wx wy wx 0
.Introduc¸ ˜ao
Transformac¸ ˜oes de C ˆamera
Do SCM ao SCC, Mudanc¸a de referencial . Outras formas de se obter a matriz R:
1 Angulos de Euler: ou seja dos ˆangulos sucessivos de rotac¸ ˜ao em tornoˆ
dos eixos.
2 Quaternions: generalizac¸ ˜ao de n ´umeros complexos para
R
3Transformac¸ ˜oes de C ˆamera
Do SCC ao SCI, Projec¸ ˜ao Perspectiva.
x y 1
≈
f 0 0 0 0 f 0 0 0 0 1 0
X Y Z 1
Introduc¸ ˜ao
Transformac¸ ˜oes de C ˆamera
Do SCI ao SCP, Registro no Sensor.
u v 1
=
sxτ
uc 0 sy vc 0 0 1
x y 1
sx e sy representam o n ´umero de pixels por unidade de comprimento, nas
direc¸ ˜oes horizontal;
uce vcfornecem a posic¸ ˜ao, em pixels, da projec¸ ˜ao ortogonal C da origem
sobre o plano de projec¸ ˜ao; na maior parte das c ˆameras, C est ´a no centro
da imagem e os valores de uc e vcs ˜ao idealmente iguais `a metade das
dimens ˜oes da imagem;
τ
´e a tangente do ˆangulo que as colunas de pixels formam com aperpendicular `as linhas; (Idealmente 0)
Transformac¸ ˜oes de C ˆamera
Compondo as Transformac¸ ˜oes.
[
p] ≈
sxτ
uc 0 sy vc 0 0 1
f 0 0 0 0 f 0 0 0 0 1 0
R T 0 1[
P]
; ou ainda[
p] ≈
fsx fτ
uc 0 fsy vc 0 0 1
R T[
P]
Introduc¸ ˜ao
Transformac¸ ˜oes de C ˆamera
Exerc´ıcios.
1 1) Continuar a implementac¸ ˜ao do programa de processamento de
imagens da aula anterior: implementar o filtro passa-alta e mais dois m ´etodos de detecc¸ ˜ao de bordas (voc ˆe pode escolher). Devem ser entregues em um arquivo PDF: o programa fonte e um exemplo de imagem processada (incluir imagem original e imagem resultante) para cada um dos tr ˆes m ´etodos implementados
2 Encontre as transformac¸ ˜oes de visualizac¸ ˜ao de um sistema cuja c ˆamera
est ´a posicionada na posic¸ ˜ao
(
3,
3,
3)
, o plano de projec¸ ˜ao ´e definido peloponto
(
1,
1,
1)
e pelo vetor(−
1, −
1, −
1)
e o espac¸o de imagem ´e definidopor um quadrado de lado 20 centrado na origem do plano de projec¸ ˜ao.1
3 Considere este mesmo modelo de c ˆamera e ainda s
x
=
sy=
1, uc=
600e vc
=
400 e encontre as coordenadas da projec¸ ˜ao do ponto(
0,
0.
5,
0.
5) ∈ R
34 Descreva como fica a transformac¸ ˜ao projetiva com mais de um ponto de
fuga.
1DICA: Use ˆangulos de Euler para determinar a matriz de rotac¸ ˜ao R.