65
Fundamentos de Processamento Gr ´ afico Helton H. B´ ıscaro ; F ´ atima Nunes 30 de agosto de 2019 Helton H. B´ ıscaro ; F´ atima Nunes Computac ¸˜ ao Gr ´ afica 30 de agosto de 2019 1 / 41

Fundamentos de Processamento Gráfico

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Fundamentos de Processamento Gráfico

Fundamentos de Processamento Grafico

Helton H. Bıscaro ; Fatima Nunes

30 de agosto de 2019

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 1 / 41

Page 2: Fundamentos de Processamento Gráfico
Page 3: Fundamentos de Processamento Gráfico

Introducao

Paradigma dos Quatro Universos

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 3 / 41

Page 4: Fundamentos de Processamento Gráfico

Introducao

Paradigma dos Quatro Universos

Fısico: Contem objetos do mundo real que pretendemos estudar;

Matematico: Contem uma descricao abstrata dos objetos do universofısico;

Representacao: Contem representacoes simbolicas e finitas associadasaos objetos do universo matematico ;

Implementacao: Contem particularidades da linguagem de programacaoescolhida para a implementacao do problema.

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 4 / 41

Page 5: Fundamentos de Processamento Gráfico

Introducao

Sıntese de imagem

Modelo classico de camera de furo

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 5 / 41

Page 6: Fundamentos de Processamento Gráfico

Introducao

Geometria

Do grego : Geo - “terra ”+ metria - “medida ”.“Ramo da matematica preocupado com questoes de forma, tamanho eposicao relativa de figuras e com as propriedades dos espacos... ”.

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 6 / 41

Page 7: Fundamentos de Processamento Gráfico

Introducao

GeometriaEuclides:

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 historia da Matematica.

E um tratado geometrico escrito em 13 volumes.Compreende uma colecao de definicoes, postulados (axiomas),proposicoes (teoremas e construcoes), e provas matematicas dasproposicoes.O 13◦ livro cobre a geometria Euclideana e uma versao Grega antiga eelementar da teoria dos numeros.

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 7 / 41

Page 8: Fundamentos de Processamento Gráfico

Introducao

GeometriaOs Elementos

Impresso pela primeira vez em Veneza em 1482.Foi um dos primeiros trabalhos sobre matematica a ser impresso apos ainvencao da imprensa, perdendo apenas para a bıblia, quanto ao numerode edicoes (mais de 1.000).

Foi usado como texto basico de geometria no mundo Ocidental por cercade 2.000 anos.

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 8 / 41

Page 9: Fundamentos de Processamento Gráfico

Introducao

Geometria

Representacao eficiente de objetos (coordenadas);Transformacoes necessarias a manipulacao dos mesmos;

Operacoes de Posicionamento;Operacoes de modelagem;Operacoes de Visualizacao.

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 9 / 41

Page 10: Fundamentos de Processamento Gráfico

Introducao

Geometria

Operacoes de Posicionamento: As transformacoes Euclidianas saooperacoes basicas de posicionamento e movimento de objetosgeometricos num cenario 2D ou 3D;Operacoes de Modelagem:

As transformacoes afins sao operacoes basicas de modelagem de objetosgeometricos num cenario 2D ou 3D;Permitem a definicao de um objeto no seu proprio sistema de coordenadaslocais (modeling coordinates)Permite usar a definicao de um objeto varias vezes numa cena com umsistema de coordenadas globais (world coordinates)

Operacoes de Visualizacao: Permitem montar um cenario que envolveo observador, o plano de projecao e a cena (os varios objetos da cena)

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 10 / 41

Page 11: Fundamentos de Processamento Gráfico

Introducao

Geometria EuclidianaOperacoes de Posicionamento

Translacao 2D

{x ′ = x + ∆xy ′ = y + ∆y

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 11 / 41

Page 12: Fundamentos de Processamento Gráfico

Introducao

Geometria EuclidianaOperacoes de Posicionamento

Rotacao 2D

{x ′= x cos(θ)− y sin(θ)y ′= x sin(θ) + y cos(θ)

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 12 / 41

Page 13: Fundamentos de Processamento Gráfico

Introducao

Geometria EuclidianaOperacoes de Posicionamento

Coordenadas Polares

Justificativa - exercıcio{x = r cosφ

y = r sinφ

{x ′= r cos(φ + θ)y ′= r sin(φ + θ)

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 13 / 41

Page 14: Fundamentos de Processamento Gráfico

Introducao

Geometria EuclidianaOperacoes de Posicionamento

Rotacao 2D Na Forma Matricial

{[x ′

y ′

]=

[cos(θ) −sin(θ)sin(θ) cos(θ)

][xy

]

OBS: E possıvel fazer k rotacoes atraves do produto de k matrizes

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 14 / 41

Page 15: Fundamentos de Processamento Gráfico

Introducao

Geometria AfimOperacoes de Modelagem

Rotacoes, translacoes + variacao de tamanho (Scaling) e cisalhamento(shearing)

Invariante Fundamental : paralelismoOutros Invariantes:

razao de distancias entre quaisquer 3 pontos pertencentes a uma retacolinearidade

ExemplosE possıvel transformar uma quadrado em um retangulouma circunferencia pode ser transformada numa elipse

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 15 / 41

Page 16: Fundamentos de Processamento Gráfico

Introducao

Geometria AfimOperacoes de Modelagem

Variacao de Tamanho 2D (Scaling)

{x ′ = λxxy ′ = λy y

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 16 / 41

Page 17: Fundamentos de Processamento Gráfico

Introducao

Geometria AfimOperacoes de Modelagem

Cisalhamento 2D (Shearing)

{x ′ = x + kxxy ′ = y + ky y

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 17 / 41

Page 18: Fundamentos de Processamento Gráfico

Introducao

Projecoes

Transformacoes de visualizacao via de regra nao preservam paralelismo

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 18 / 41

Page 19: Fundamentos de Processamento Gráfico

Introducao

Projecoes

Tipos de projecoes

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 19 / 41

Page 20: Fundamentos de Processamento Gráfico

Introducao

Exemplo

Camera Digital

Modelo de Camera de furo com projecao perspectiva.Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 20 / 41

Page 21: Fundamentos de Processamento Gráfico

Introducao

Geometrias nao EuclidianasO quinto postulado

“Por um ponto exterior a uma reta dada, pode ser tracada uma unica retaparalela...”

Durante seculos se tentou deduzir este axioma, a partir dos outrosaxiomas.

Pergunta: pode-se construir uma geometria sem o quinto axioma?

Varias tentativas foram feitas, mas ate o meio do seculo 19, opensamento matematico nao estava maduro o suficiente.

Diferentes geometrias (nao Euclideanas) foram criadas baseadas nanegacao do quinto axioma:

Por exemplo: A geometria Hiperbolica admite uma infinidade de retasparalelas.

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 21 / 41

Page 22: Fundamentos de Processamento Gráfico

Introducao

Geometrias nao EuclidianasO quinto postulado

“Por um ponto exterior a uma reta dada, pode ser tracada uma unica retaparalela...”

Durante seculos se tentou deduzir este axioma, a partir dos outrosaxiomas.

Pergunta: pode-se construir uma geometria sem o quinto axioma?

Varias tentativas foram feitas, mas ate o meio do seculo 19, opensamento matematico nao estava maduro o suficiente.

Diferentes geometrias (nao Euclideanas) foram criadas baseadas nanegacao do quinto axioma:

Por exemplo: A geometria Hiperbolica admite uma infinidade de retasparalelas.

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 21 / 41

Page 23: Fundamentos de Processamento Gráfico

Introducao

Geometrias nao EuclidianasO quinto postulado

“Por um ponto exterior a uma reta dada, pode ser tracada uma unica retaparalela...”

Durante seculos se tentou deduzir este axioma, a partir dos outrosaxiomas.

Pergunta: pode-se construir uma geometria sem o quinto axioma?

Varias tentativas foram feitas, mas ate o meio do seculo 19, opensamento matematico nao estava maduro o suficiente.

Diferentes geometrias (nao Euclideanas) foram criadas baseadas nanegacao do quinto axioma:

Por exemplo: A geometria Hiperbolica admite uma infinidade de retasparalelas.

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 21 / 41

Page 24: Fundamentos de Processamento Gráfico

Introducao

Geometrias nao EuclidianasO quinto postulado

“Por um ponto exterior a uma reta dada, pode ser tracada uma unica retaparalela...”

Durante seculos se tentou deduzir este axioma, a partir dos outrosaxiomas.

Pergunta: pode-se construir uma geometria sem o quinto axioma?

Varias tentativas foram feitas, mas ate o meio do seculo 19, opensamento matematico nao estava maduro o suficiente.

Diferentes geometrias (nao Euclideanas) foram criadas baseadas nanegacao do quinto axioma:

Por exemplo: A geometria Hiperbolica admite uma infinidade de retasparalelas.

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 21 / 41

Page 25: Fundamentos de Processamento Gráfico

Introducao

Geometrias nao EuclidianasO quinto postulado

“Por um ponto exterior a uma reta dada, pode ser tracada uma unica retaparalela...”

Durante seculos se tentou deduzir este axioma, a partir dos outrosaxiomas.

Pergunta: pode-se construir uma geometria sem o quinto axioma?

Varias tentativas foram feitas, mas ate o meio do seculo 19, opensamento matematico nao estava maduro o suficiente.

Diferentes geometrias (nao Euclideanas) foram criadas baseadas nanegacao do quinto axioma:

Por exemplo: A geometria Hiperbolica admite uma infinidade de retasparalelas.

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 21 / 41

Page 26: Fundamentos de Processamento Gráfico

Introducao

Geometrias nao EuclidianasO quinto postulado

“Por um ponto exterior a uma reta dada, pode ser tracada uma unica retaparalela...”

Durante seculos se tentou deduzir este axioma, a partir dos outrosaxiomas.

Pergunta: pode-se construir uma geometria sem o quinto axioma?

Varias tentativas foram feitas, mas ate o meio do seculo 19, opensamento matematico nao estava maduro o suficiente.

Diferentes geometrias (nao Euclideanas) foram criadas baseadas nanegacao do quinto axioma:

Por exemplo: A geometria Hiperbolica admite uma infinidade de retasparalelas.

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 21 / 41

Page 27: Fundamentos de Processamento Gráfico

Introducao

Projecao Perspectiva

Do latim perspicere, ou “ver atraves”, e uma representacao aproximadade uma imagem, como percebida pelo olho, sobre uma superfıcie plana.

Objetos sao desenhados menores a medida que a distancia aumenta.

As dimensoes de um objeto ao longo da linha de visao sao relativamentemenores que as dimensoes perpendiculares a linha de visao.

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 22 / 41

Page 28: Fundamentos de Processamento Gráfico

Introducao

Projecao PerspectivaHistorico

Na idade Media, arte era para ser lida como um grupo de sımbolos, aoinves de ser vista como uma figura coerente.

O unico metodo de retratar distancias era por sobreposicao depersonagens.

Sobreposicao e um metodo ruim para retratar arquitetura.

Pinturas medievais de cidades sao um amontoado de linhas em todas asdirecoes.

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 23 / 41

Page 29: Fundamentos de Processamento Gráfico

Introducao

Exemplo

Ausencia de perspectiva

Ilustracao de “A Batlha - Crusader Bible - 1240”

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 24 / 41

Page 30: Fundamentos de Processamento Gráfico

Introducao

Projecao PerspectivaHistorico

Em 1415, Filippo Brunelleschi demonstrou o metodo geometrico daperspectiva, usado atualmente pelos artistas, pintando esbocos de variospredios Florentinos sobre um espelho

Logo apos, quase todo artista em Florenca usava perspectiva geometricanas suas pinturas, notadamente Donatello, que comecou a esculpir pisosquadriculados elaborados.

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 25 / 41

Page 31: Fundamentos de Processamento Gráfico

Introducao

Exemplo

Anunciacao, de Botticelli (1489-1490)

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 26 / 41

Page 32: Fundamentos de Processamento Gráfico

Introducao

Exemplo

Afresco da Capela Cistina (1481-1482)

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 27 / 41

Page 33: Fundamentos de Processamento Gráfico

Introducao

Exemplo

Perspectivas com 1, 2 e 3 pontos de fuga...

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 28 / 41

Page 34: Fundamentos de Processamento Gráfico

Introducao

Moral da Historia...

Transformacoes Lineares preservam paralelismo.

Transformacao perspectiva NAO e linear

Visao humana funciona com uma camera.

Camera virtual precisa de um modelo de geometria distinto daEuclideana.

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 29 / 41

Page 35: Fundamentos de Processamento Gráfico

Introducao

Geometria Projetiva

O espaco projetivo real de dimensao n, RPn e o conjunto de todas as retas emRn+1 que passam pela origem, excluindo a origem.Um ponto projetivo p ∈ RPn e uma classe de equivalencia.

p = (λx1, . . . ,λxn,λxn+1),λ 6= 0

Ou Seja:

p = (x1, . . . ,xn,xn+1)≡ λp

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 30 / 41

Page 36: Fundamentos de Processamento Gráfico

Introducao

Geometria Projetiva

Associa-se o espaco RPn com o espaco euclidiano Rn+1

RPn← Rn+1−{(0,0, . . . ,0)}

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 31 / 41

Page 37: Fundamentos de Processamento Gráfico

Introducao

Geometria Projetiva

O espaco projetivo pode ser decomposto em dois conjuntos: o hiperplano deRn+1 onde xn+1 = 1 e o hiperplano em que xn+1 = 0. Em outras palavras:

RPn = {(x1, . . . ,xn,xn+1),xn+1 6= 0}∪{(x1, . . . ,xn,0)}

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 32 / 41

Page 38: Fundamentos de Processamento Gráfico

Introducao

Geometria Projetiva

Pontos Afins:

pa = (x1, . . . ,xn,1),xn+1 6= 0,λ =1

xn+1(Coordenadas Homogeneas)

Pontos do Infinito , ou Pontos Ideais

pi = (x1, . . . ,xn,0),xn+1 = 0,λ = 1

OBS: Uma reta no plano projetivo RP2 e o conjunto dos pontos [x ;y ;z] quesatisfazem a uma equacao linear ax + by + cz = 0

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 33 / 41

Page 39: Fundamentos de Processamento Gráfico

Introducao

Geometria Projetiva

Paralelismo no Espaco Projetivo

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 34 / 41

Page 40: Fundamentos de Processamento Gráfico

Introducao

Transformacoes Projetivas em RP3

Uma Transformacao Projetiva em RP3 e uma Transformacao Linear em R4

T : R4 :−→ T : R4

T pode ser representada por uma matriz M4×4 e pode ser avaliada comoT (p) = Mp.

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 35 / 41

Page 41: Fundamentos de Processamento Gráfico

Introducao

Anatomia de uma Transformacao Projetiva

Podemos dividir a Matriz M em quatro blocos distintos:

M =

[A TP S

]

A- Bloco Linear 3×3;

T - Bloco de Translacao 3×1;

P- Bloco de Perspectiva 1×3;

S- Bloco de Escala 1×1;

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 36 / 41

Page 42: Fundamentos de Processamento Gráfico

Introducao

Anatomia de uma Transformacao Projetiva

Matriz de Translacao

1 0 0 ∆x

0 1 0 ∆y

0 0 1 ∆z

0 0 0 1

xyz1

=

x + ∆x

y + ∆y

z + ∆z

1

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 37 / 41

Page 43: Fundamentos de Processamento Gráfico

Introducao

Anatomia de uma Transformacao Projetiva

Matriz de Transformacao Linear

a b c 0d e f 0g h i 00 0 0 1

xyz1

=

ax + by + czdx + ey + fzgx + hy + iz

1

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 38 / 41

Page 44: Fundamentos de Processamento Gráfico

Introducao

Anatomia de uma Transformacao Projetiva

Matriz de Transformacao Perspectiva

1 0 0 00 1 0 00 0 1 0p q r 1

xyz1

=

xyz

px + qy + rz + 1

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 39 / 41

Page 45: Fundamentos de Processamento Gráfico

Introducao

Exemplo

Efeito da transformacao perspectiva

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 40 / 41

Page 46: Fundamentos de Processamento Gráfico

Introducao

Anatomia de uma Transformacao Projetiva

Matriz de Escala

1 0 0 00 1 0 00 0 1 00 0 0 s

xyz1

=

xyzs

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 41 / 41

Page 47: Fundamentos de Processamento Gráfico

Introducao

Rotacoes em RP3

Rotacao em torno do eixo z

Rotacao em torno do eixo y

Rotacao em torno do eixo x

x ′

y ′

z′

1

=

cos(θ) −sin(θ) 0 0sin(θ) cos(θ) 0 0

0 0 1 00 0 0 1

xyz1

x ′

y ′

z′

1

=

cos(θ) 0 sin(θ) 0

0 1 0 0−sin(θ) 0 cos(θ) 0

0 0 0 1

xyz1

x ′

y ′

z′

1

=

1 0 0 00 cos(θ) −sin(θ) 00 sin(θ) cos(θ) 00 0 0 1

xyz1

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 42 / 41

Page 48: Fundamentos de Processamento Gráfico

Introducao

Rotacoes em RP3

Exemplos de Aplicacoes

Figura: Deteccao de colisoes

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 43 / 41

Page 49: Fundamentos de Processamento Gráfico

Introducao

Rotacoes em RP3

Exemplos de Aplicacoes

Figura: Quando o triangulo e colocado no plano XZ, o teste se reduz a umacomparacao de coordenadas - Ver animacoes

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 44 / 41

Page 50: Fundamentos de Processamento Gráfico

Introducao

Modelo de Camera VirtualUm ponto de fuga

Camera Digital

Modelo de Camera de furo com projecao perspectiva.Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 45 / 41

Page 51: Fundamentos de Processamento Gráfico

Introducao

Modelo de Camera Virtual

Dados:

Um centro otico O.

um plano de projecao π a uma distancia f de O.

Um sistema de coordenadas cuja origem esteja em O e que tenha oseixos perpendiculares a π.

Figura: Determinacao da projecao perspectiva

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 46 / 41

Page 52: Fundamentos de Processamento Gráfico

Introducao

Modelo de Camera Virtual

Neste sistema, se P = (X ,Y ,Z ):

A reta passando por P e α(X ,Y ,Z ).

O ponto que esta em π tem ultima coordenada f , logo: .

α = fZ , x = fX

Z , y = fYZ .

OBS: Esta operacao nao esta definida para os pontos tais que Z = 0.

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 47 / 41

Page 53: Fundamentos de Processamento Gráfico

Introducao

Modelo de Camera Virtual

Exemplo: retas paralelas ao eixo Z −→ {(X0,Y0,Z )/Z ∈ IR}

A projecao de um ponto generico (X0,Y0,Z0) dessas retas e dado por( fX0

Z0, fY0

Z0).

A projecao para o ponto (X0,Y0,0) nao esta 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”.

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 48 / 41

Page 54: Fundamentos de Processamento Gráfico

Introducao

Transformacoes de Camera

Sistemas de Coordenadas

1 Sistemas de Coordenadas do Mundo (SCM)2 Sistemas de Coordenadas de Camera (SCC)3 Sistemas de Coordenadas de Imagem (SCI)4 Sistemas de coordenadas de Pixel (SCP)

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 49 / 41

Page 55: Fundamentos de Processamento Gráfico

Introducao

Transformacoes de Camera

Sistemas de coordenadas

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 50 / 41

Page 56: Fundamentos de Processamento Gráfico

Introducao

Transformacoes de Camera

Do SCM ao SCC, Mudanca 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, r2 e r3 sao as coordenadas dos vetores i, j ek dos eixos do SCM com relacao a base i, j e k dos eixos do SCC.

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 51 / 41

Page 57: Fundamentos de Processamento Gráfico

Introducao

Transformacoes de Camera

Do SCM ao SCC, Mudanca de referencial.

(X , Y , Z ) = T + Xr1 + Yr2 + Zr3; ou

P = RP + T ;

Ou ainda em coordenadas homogeneas:

XYZ1

=

[R T0 1

]XYZ1

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 52 / 41

Page 58: Fundamentos de Processamento Gráfico

Introducao

Transformacoes de Camera

Do SCM ao SCC, Mudanca de referencial (forma de Rodriguez).

w =

wx

wy

wz

representa a direcao do eixo de rotacao e o angulo de em torno

deste eixo (atraves de sua norma)matriz de rotacao R associada a w e dada por:

R = cos(θ) I +sen (θ)

θ[w ]x +

(1− cos [θ])

θ2 ww t (1)

Onde θ = ‖w‖ e [w ]x =

0 −wz wy

wz 0 −wx

wy wx 0

.

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 53 / 41

Page 59: Fundamentos de Processamento Gráfico

Introducao

Transformacoes de Camera

Do SCM ao SCC, Mudanca de referencial .Outras formas de se obter a matriz R:

1 Angulos de Euler: ou seja dos angulos sucessivos de rotacao em tornodos eixos.

2 Quaternions: generalizacao de numeros complexos para R3

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 54 / 41

Page 60: Fundamentos de Processamento Gráfico

Introducao

Transformacoes de Camera

Do SCC ao SCI, Projecao Perspectiva.

xy1

≈ f 0 0 0

0 f 0 00 0 1 0

XYZ1

Essa Transformacao nao e inversıvel.

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 55 / 41

Page 61: Fundamentos de Processamento Gráfico

Introducao

Transformacoes de Camera

Do SCI ao SCP, Registro no Sensor. uv1

=

sx τ uc

0 sy vc

0 0 1

xy1

sx e sy representam o numero de pixels por unidade de comprimento, nasdirecoes horizontal;

uc e vc fornecem a posicao, em pixels, da projecao ortogonal C da origemsobre o plano de projecao; na maior parte das cameras, C esta no centroda imagem e os valores de uc e vc sao idealmente iguais a metade dasdimensoes da imagem;

τ e a tangente do angulo que as colunas de pixels formam com aperpendicular as linhas; (Idealmente 0)

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 56 / 41

Page 62: Fundamentos de Processamento Gráfico

Introducao

Transformacoes de Camera

Compondo as Transformacoes.

[p]≈

sx τ uc

0 sy vc

0 0 1

f 0 0 00 f 0 00 0 1 0

[ R T0 1

][P];

ou ainda

[p]≈

fsx fτ uc

0 fsy vc

0 0 1

[ R T]

[P]

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 57 / 41

Page 63: Fundamentos de Processamento Gráfico

Introducao

Exemplo - OpenGL

Tecnologia - OpenGL

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 58 / 41

Page 64: Fundamentos de Processamento Gráfico

Introducao

Transformacoes de Camera

Exercıcios.1 Encontre os angulos e as rotacoes necessarias para colocar um triangulo

arbitrario T = (p1,p2,p3) em R2 de modo que uma de suas arestascoincida co o eixo y .

2 Repita o exercıcio anterior, para um triangulo arbitrario T = (p1,p2,p3)em R3, mas agora o coloque no plano XZ e com uma de suas arestassobre o eixo Z .

Para Casa : Modificar o exemplo do Opengl para fazer rotacoes ao longo dos treseixos a escolha do usuario;

Helton H. Bıscaro ; Fatima Nunes Computacao Grafica 30 de agosto de 2019 59 / 41

Page 65: Fundamentos de Processamento Gráfico