fundamentos de processamento gráfico
TRANSCRIPT
![Page 1: Fundamentos de Processamento Gráfico](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/2.jpg)
![Page 3: Fundamentos de Processamento Gráfico](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/28.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/29.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/30.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/31.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/32.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/33.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/34.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/35.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/36.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/37.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/38.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/39.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/40.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/41.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/42.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/43.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/44.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/45.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/46.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/47.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/48.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/49.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/50.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/51.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/52.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/53.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/54.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/55.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/56.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/57.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/58.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/59.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/60.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/61.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/62.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/63.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/64.jpg)
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](https://reader035.vdocuments.net/reader035/viewer/2022081701/62e2b514c26d7b611c2f6702/html5/thumbnails/65.jpg)