17
1 Computação Gráfica Ponto, Linha, Vetor e Matriz Prof. Rodrigo Rocha [email protected] Onde Estamos.... Introdução a Computação Gráfica; Representação de Imagens: vetorial e matricial; Dispositivos de entrada e saída; Fundamentos de cor; Transformações Geométricas no Plano; Transformações Geométricas no Espaço; Projeções Geométricas; Representação e Modelagem; Realismo Visual; Introdução aos Filtros Digitais; Noções de Percepção Visual Humana; Amostragem e Quantização de Imagens Transformadas de Imagens Realce. Filtragem e Restauração Codificação Análise de Imagens e Noções de Visão Computacional.

Computação Gráfica - BolinhaBolinha · 1 Computação Gráfica Ponto, Linha, Vetor e Matriz Prof. Rodrigo Rocha [email protected] Onde Estamos.... Introdução a Computação

  • Upload
    ngodiep

  • View
    220

  • Download
    0

Embed Size (px)

Citation preview

1

Computação Gráfica

Ponto, Linha, Vetor e Matriz

Prof. Rodrigo [email protected]

Onde Estamos....

Introdução a Computação Gráfica;

Representação de Imagens: vetorial e matricial;

Dispositivos de entrada e saída;

Fundamentos de cor;

Transformações Geométricas no Plano;

Transformações Geométricas no Espaço;

Projeções Geométricas;

Representação e Modelagem;

Realismo Visual;

Introdução aos Filtros Digitais;

Noções de Percepção Visual Humana;

Amostragem e Quantização de Imagens

Transformadas de Imagens

Realce. Filtragem e Restauração

Codificação

Análise de Imagens e Noções de Visão Computacional.

2

Revisão Matemática

Sistema de coordenadas 2D

• Plano cartesiano

• Objetos são representados por coordenadas X,Y

Sistemas de 3D

• Representado por três eixos X,Y,Z

x axis

y axis

Py

x x axis

y axis

z axis

P

y

zx

Ponto, linha

Ponto

• 2D - Representado por um par de coordenadas (X,Y)

• 3D - Representado por um três coordenadas (X,Y,Z)

Linha

• Representada pelo ponto inicial e final 2D - (Xinicial, Yinicial)-(Xfinal,Yfinal)

3D - (Xinicial, Yinicial , Zinicial)-(Xfinal,Yfinal,Zfinal)

• Equação reduzida da reta

• Onde: M = coeficiente ângular

B coeficiente linear (Onde a reta cruza a ordenada (0,w)

bxmy

0

0

xx

yym

end

end

00 xmyb

3

vetor Segmento de reta AB

• comprimento (denominado módulo)

• direção

• sentido (de A para B)

Define-se

• “o conjunto infinito de todos os segmentos orientados que possuem o mesmo comprimento, a mesma direção e o mesmo sentido de AB.”

Para determinar um vetor entre dois pontos, basta subtraí-los

Vetor no espaço 3D

Operação com Vetores

Comprimento do vetor

• 2D 3D

Soma

Multiplicação por Escalar

• Basta multiplicar cada um dos elementos do vetor por um escalar

22|| yx VVV 222|| zyx VVVV

) , ( 212121 yyxx VVVVVV

x axis

y axis

V1

V2

x axis

y axis

V1

V2

V1 + V2

) ,( yx sVsVsV

x axis

y axis

sV

(sVx, sVy)

x axis

y axis

V

(Vx, Vy)

4

Operações com Vetores

Soma

) , ( 212121 yyxx VVVVVV

x axis

y axis

V1

V2

x axis

y axis

V1

V2

V1 + V2

Operações com Vetores

Multiplicação por Escalar

• Basta multiplicar cada um dos elementos do vetor por um escalar

) ,( yx sVsVsV

x axis

y axis

sV

(sVx, sVy)

x axis

y axis

V

(Vx, Vy)

5

Matrizes

Conjunto de números armazenadas em n linhas e m colunas

Operações gráficas são facilitadas com a utilização de matrizes

Operações com matrizes• Multiplicação por escalar

• Exemplo:

602

3410

13111

4321

2.1

7.6

3.4

42

15

23

8

16

4

ishsgs

fsesds

csbsas

ihg

fed

cba

s

***

***

***

*

544842

363024

18126

181614

12108

642

*3

Operações com matrizes

Soma

Multiplicação

• Para multiplicarmos duas matrizes o número de colunas da primeira deve ser igual ao número de linhas da segunda.

ziyhxg

wfveud

tcsbra

zyx

wvu

tsr

ihg

fed

cba

373329

252117

1395

191715

13119

753

181614

12108

642

28

38

4

22

26

3

4*82*2

4*72*5

4*)1(2*0

3*81*2

3*71*5

3*)1(1*0

43

21

8

7

1

2

5

0

326*35*24*1

6

5

4

321

18126

15105

1284

3*62*61*6

3*52*51*5

3*42*41*4

321

6

5

4

6

Matriz

Matriz Transposta

• Invertemos as linhas por colunas

6

5

4

3

2

1

654

321T

Sistemas de Coordenadas

Sistemas de coordenadas diferentes são aplicados na CG

• Coordenadas Universais Sistema cartesiano 2D ou 3D

• Coordenadas Normalizadas Coordenadas mínima e máxima da janela variam de 0 a 1

• Coordenadas de Dispositivos Coordenadas do terminal de vídeo, ex: 800x600

7

Transformações 2D

No trabalho com gráficos existe a necessidade de realizar operações com os objetos, como:

• Translação

• Mudar a escala

• Rotação

Transformações são aplicadas nas coordenadas reais e transformados em coordenadas do dispositivo

• Exemplo: Dispositivo de 1024x768

eixo X

eixo Y

eixo Z

(0, 0, 0) coordenadas universais(512,384,0) coordenadas dispositivos

(512, 384, 0)

(512, -384, 0)

Translação

Reposicionar um objeto linearmente

Mover o objeto de uma posição a outra

• x’ = x + dx;

• y’ = y + dy;

Onde:

– Dx deslocamento no eixo x

– Dy deslocamento no eixo y

Matriz de transformação

Exemplo: transladar o triângulo (4,3)

(x,y)

(x’,y’)

dx

dy

1100

10

01

1

y

x

ty

tx

y

x

8

Escala

Modificar as dimensões do objeto

Todas as coordenadas são multiplicadas

• x’ = Sx * x

• y’ = Sy * y

Matriz de transformação

Exemplo: Escala por(3,2)

1100

00

00

1

y

x

sy

sx

y

x

Rotação

Rotacionar todas as coordenadas

Pontos são rotacionados

sobre a origem

•x’ = x × cosθ – y × sinθ

•y’ = x × sinθ + y × cosθ

Matriz de transformação

Exemplo: •Rotacionar 30º (PI/6)

1100

0cossin

0sincos

1

y

x

y

x

9

Rotação em um ponto

Fazer os seguintes passos:• Transladar para o ponto (0,0)

• Aplicar a rotação

• Transladar para o ponto inicial

Exemplo• Translação (0x,0y)

• Rotação (90º)

• Translação (x,y)

Ajudando ....

10

Cisalhamento / Shearing

Distorcer o objeto nos eixos x ou y• x’ = x + shx * y

• y’ = shy * x + y

Matriz de transformação

Exemplo:• Cisalhamento no eixo x com fator shx=2

1100

01

01

1

y

x

shy

shx

y

x

Reflexão / Espelhamento / Mirror

Produz um objeto espelhado em relação a um dos eixos ou aos dois

• x y xy

• x’ = x x’ = -x x’ = -x

• y’ = -y y’ = y y’ = -y

Matriz de transformação

11

Exercícios 1-) Trace a reta dada pela equação: y=1.5*x + 0.5

2-) Resolva as seguintes operações envolvendo matrizes:

__

__

__

__

__

__

7

4

11

23

6

3T

__

__

__

__

__

__

__

__

7

1

5

19

1

0

2

15

*6

________151415151911

________

________

________

________

51633

09141

5151510

11121016

1015419

189215

63514

011203

__

__

__

__

__

__

17

7

5

15

14

1

8

4

9

3

19

13

__

__

__

__

_________________

_________________

_________________

_________________

3

6

11

4

*

51633

09141

5151510

11121016

__

__

__

__

__________

__________

__________

__________

7

13

19

19

10

0

12

15

*3

4

12

19

4

15

7

8

Exercícios

A-) Faça a translação por (7,3)

B-) Transforme a escala do objeto por 3 em x e 4 em y

12

Exercícios

Rotacione o objeto 45º

Exercícios

Faça um cisalhamento no eixo x de Shx=1,5

13

Exercícios

Faça um cisalhamento no eixo y de Shx=1,0

Exercícios

Faça um cisalhamento no eixo x de Shx=1,0

E no eixo y de Shy=1,5

14

Exercícios

Faça os espelhamentos no eixo x, y e xy simultaneamente.

Exercícios

Faça uma translação(-2,-1), rotação 30º e escala de 0,5

15

Exercícios

Desenvolva um algoritmo que implemente as transformações em 2D estudadas?

Atenção: Sua área de desenho possui o ponto (0,0) no canto superior esquerdo e suas dimensões devem ser dadas pelas constantes larguraX e alturaY.

Exercícios

Enade 2005

16

Exercícios

53. [PosComp 2002 TE] Considere uma cena representada no sistema de referência do universo (SRU), uma window definida pelo par de coordenadas (0,0)-(100,100) e uma viewport definida pelo par de coordenadas (20,30)-(300,100). Considere ainda que as coordenadas que definem window e viewport correspondem, respectivamente, aos limites inferior esquerdo e superior direito de ambas. Analise as afirmativas abaixo levando em consideração os conceitos clássicos de window e viewport e assinale a alternativa correta.

I – Window e viewport estão definidas no SRU.

II – No processo de mapeamento desta window para esta viewport haverá modificação na relação de aspecto.

III – O mapeamento da window redefinida pelo par de coordenadas (0,0) – (50,50) para a mesma viewport (20,30)-(300,100) corresponde a uma operação de zoom out sobre o mesmo universo.

a) As alternativas I e II são verdadeiras.

b) As alternativas I e III são falsas..

c) Apenas a afirmativa III é verdadeira.

d) As afirmativas II e III são verdadeiras.

e) As alternativas I e II são falsas.

Exercícios

57) [PosComp 2004 TE] Considere: todas as etapas do processo de visualização de objetos 2D; uma window delimitada pelo par de coordenadas (0,0)-(60,60); uma viewport delimitada pelo par de coordenadas (0,0)-(100,80); e os seguintes parâmetros de instanciamento, aplicados nesta ordem: (1º) Escala em X: 1, Escala em Y: 2; (2º) Rotação: 0º; (3º) Translação X: 10, Translação Y: 0

Assumindo que, nas opções apresentadas abaixo, os retângulos pontilhados representam a viewport, qual dos desenhos a seguir mais se parece com o desenho do triângulo cuja definição no sistema de referência do universo é dada pelos pares de coordenadas (10,0)-(10,30)-(40,0)? Considere ainda que as coordenadas que definem window e viewport correspondem, respectivamente, aos limites inferior esquerdo e superior direito de ambas.

17

Bibliografia

Livro texto (Programa do Livro texto - PLT)• FORBELLONE, A. Lógica de Programação. São Paulo: Pearson,

2005“

Complementar• CORMEN, Thomas H. Algoritmos: teoria e prática. 1.ed. Rio de

Janeiro: CAMPUS, 2002.

• MANZANO, J. A. N. G. Algoritmos: lógica para desenvolvimento de programação. 1.ed. São Paulo: Erica, 1996.

• ASTÊNCIO, A .F.G.; CAMPOS, E.D.. Fundamentos da Programação de Computadores. 1.ed. São Paulo: PRENTICE HALL BRASIL, 2002.