71
Recorte Edward Angel, Cap. 7 Apontamentos CG 1

Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

  • Upload
    others

  • View
    5

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Recorte

Edward Angel, Cap. 7

Apontamentos CG

1

Page 2: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Pergunta (teste) Considere o triângulo ABC ilustrado na figura abaixo e definido

pelos pontos A = [5 5]T, B = [20 10] T e C = [5 15]T. Para efeitos

do cálculo do sombreamento de Phong, sabe que as normais nos

três vértices do triângulo ABC são dadas pelos vectores𝑛𝐴 = −0.2 −0.4 0.3 𝑇, 𝑛𝐵 = 0.2 0.0 0.6 𝑇e 𝑛𝐶 = 0.0 0.4 0.3 𝑇 .

a) Indique o valor da normal no ponto P = [10 10]T. Note que este

vector deve estar normalizado. 2

Page 3: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Pergunta (teste) 𝑛𝐴 = −0.2 −0.4 0.3 𝑇, 𝑛𝐵 = 0.2 0.0 0.6 𝑇e 𝑛𝐶 = 0.0 0.4 0.3 𝑇 .

b) Sabendo que existe apenas uma fonte de luz, calcule a valor

do halfway vector nesse ponto, tendo em conta que

𝑙 = 02

2

2

2

𝑇

e 𝑣 = 0 −2

2

2

2

𝑇

.

3

Page 4: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Pergunta (teste) 𝑛𝐴 = −0.2 −0.4 0.3 𝑇, 𝑛𝐵 = 0.2 0.0 0.6 𝑇e 𝑛𝐶 = 0.0 0.4 0.3 𝑇 .

c) Calcule a componente azul da cor desse ponto P, tendo em

conta que existe apenas uma fonte de luz direccional, não

existe luz ambiente global nem atenuação atmosférica, e que o

material e as componentes da fonte de luz são definidos

conforme indicado na pergunta anterior.4

Page 5: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Back-Face CullingRemoção de Faces Traseiras e Recorte

5

Page 6: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Faces Traseiras

Requisitos

Objecto é um poliedro sólido

• faces poligonais envolvem o volume

O interior não é exposto pelo recorte

Conclusão

Faces traseiras não são visíveis

Solução

Identificar faces traseiras

• Remover da cena

Faces Traseiras?

6

Page 7: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Faces Traseiras

Requisitos

Objecto é um poliedro sólido

• faces poligonais envolvem o volume

O interior não é exposto pelo recorte

Conclusão

Faces traseiras não são visíveis

Solução

Identificar faces traseiras

• Remover da cena

Faces Traseiras?

7

Page 8: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Identificar Faces Traseiras

Como identificar faces traseiras?

Calcular o ângulo entre a normal e a VPN?

V

N N

> 90o < 90o

Front-Face Back-Face

8

Page 9: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Identificar Faces Traseiras

Como identificar faces traseiras?

Usar produto interno

• Normal ao polígono (N)

• Vector de visualização (V)

< 0 Polígono visível

= 0 Arestas visíveis

> 0 Polígono invisível (back-face)

Cálculos em coordenadas de visualização (VRC)

V

N N

> 90o < 90o

Front-Face Back-Face

9

Page 10: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Identificar Faces Traseiras

Como identificar faces traseiras?

Usar produto interno ( N V > 0 back-face)

Cálculos em coordenadas da câmara (VRC)

É mesmo necessário calcular o produto interno?

Não!

• Basta verificar a componente Z da normal!! NZ > 0 back-face

V

N N

> 90o < 90o

Front-Face Back-Face

Z

10

Page 11: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Remover Faces Traseiras

Cena com um poliedro convexo

RSO fica completa com back-face culling

Em poliedros côncavos

Algumas front-faces podem estar

• totalmente ocultas (E)

• parcialmente ocultas (C)

x

z

A

B

C

D

E

F

G

H

11

Page 12: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Back-Face Culling

Remoção de faces traseiras

Remove (aprox.) metade dos polígonos

Limitações

Apenas funciona em • Modelos sólidos

Definidos com malhas poligonais

Para volumes não convexos• Apenas serve como passo de pré-processamento

É necessário usar outro algoritmo

Objectos definidos com outra representação:

• Convertidos em malhas poligonais

12

Page 13: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Pipeline de Visualização 3D

13

Page 14: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Pipeline de Visualização 3D

14

Page 15: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

RecorteRemoção de Faces Traseiras e Recorte

15

Page 16: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Volume de Visualização

Sobre que volume de visualização é feito o recorte?

Volume Perspectivo (Frustum)?

Volume Ortogonal?

Volume Canónico Perspectivo?

Volume Canónico Ortogonal?

Onde estamos no pipeline 3D?

2º Andar, 3º Passo

• Recorte de Polígonos

Qual o volume de visualização

Que temos neste ponto?16

Page 17: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Recorte (1/3)

Usa volume canónico ortogonal

Paralelepípedo x,y,z [-1..1]

y

z

x

(-1, 1, 1)

(1, -1, 1)(1, -1, -1)

(-1, -1, -1)

(-1, 1, -1)

(-1, -1, 1)

(1, 1, 1)plano de recorte

anterior (z = -1)

plano de recorte

posterior (z = 1)

17

Page 18: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Recorte (2/3)

Elimina primitivas fora do volume canónico

Objectos, vértices, arestas e faces

18

Page 19: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Recorte (3/3)

Vértices:

Comparar

• x, y e z com +/- 1

Conservar se dentro dos limites, eliminar se fora

Arestas

Calcular intersecção com planos de recorte

Determinar valores x, y, z na intersecção

Conservar parte da aresta dentro do volume

Recorte 3D extensão “trivial” de recorte 2D

19

Page 20: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Recorte 2DRemoção de Faces Traseiras e Recorte

20

Page 21: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Recorte de Linhas

(xmin ≤ X ≤ Xmax) e (Ymin ≤Y ≤Ymax) ponto dentro

Extremos dentro [AB]: segmento dentro

Um fora outro dentro [CD]

Determinar ponto de intersecção [D’]

• Rejeitar exterior

Ambos fora [GH ou IJ]:

Determinar pontos de intersecção

• se houver [GH], usá-los

• rejeitar se não [IJ]

Rectângulo

de Recorte

A

B C

D

E

F

G

H

I

J

D´F´

Recorte

A

B C

21

Page 22: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Recorte de Linhas: Força Bruta

Testar extremos contra rectângulo de recorte

Tratar os casos triviais de inclusão total

Casos não triviais:

• usar equação paramétrica da recta

Resolver equações simultâneas

• segmento de recta (tline)

• 4 lados do rectângulo (tedge)

Existe intersecção se:

X = X0 + t (X1 - X0)

Y = Y0 + t (Y1 - Y0)

0 tline 1 e 0 tedge 1

22

Page 23: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Algoritmo de Cohen-SutherlandRemoção de Faces Traseiras e Recorte

23

Page 24: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Algoritmo de Cohen-Sutherland (1/5)

Usa Outcodes

divide plano em 9 regiões

Casos triviais:

OC1= OC0 = 0000 => aceita

OC1 & OC0 0000 => rejeita (semiplano ext.)

0000

1000 10101001

0010

0100

0001

0101 0110

1º Bit: Acima do lado superior (Y > Ymax)

2º Bit: Abaixo do lado inferior (Y < Ymin)

3º Bit: À direita do lado direito (X > Xmax)

4º Bit: À esquerda do lado esquerdo (X < Xmin)

24

Page 25: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Algoritmo de Cohen-Sutherland (2/5)

Restantes Casos (OC1 & OC0 = 0)

Subdividir segmento inicial:

• Corte através de um lado da janela atravessado

• Partir de um extremo exterior

• Testar outcode para escolher próximo lado de recorte (bit a 1)

Descartar o fragmento exterior

Se fragmento interior

• trivialmente tratável

• o processo termina.

Caso contrário,

• subdividi-lo

• repetir o processo.

25

Page 26: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Exemplo

Algoritmo de Cohen-Sutherland (3/5)

Recorte de [AD]

Subdividir pelo lado superior [AB] e [BD].

Descartar fragmento exterior [BD].

Aceitar trivialmente [AB] (OCA = OCB = 0)

Rectangulo de Recorte

A

B

D

0000

0100

1001

0010

1000 1010

26

Page 27: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Algoritmo de Cohen-Sutherland (4/5)

Partir de E e subdividir por baixo [EF] e [FI]

Descartar [EF] [FI] não trivial

Subdividir [FI] pelo lado superior [FH] e [HI].

Descartar [HI] [FH] não trivial (OCH = 0010).

Subdividir [FH] pelo lado direito [FG] e [GH].

Descartar [GH] Aceitar [FG] (OCF = OCG = 0).

Exemplo

I

E

H

F

G

0000

0100

1001

0010

1000 1010

Rectangulo de Recorte

27

Page 28: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Recorte de PolígonosRecorte 2D

28

Page 29: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Recorte de Polígonos

29

Page 30: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Recorte de Polígonos

Lados do Polígono testados com arestas de recorte

Lados iniciais podem ser:

• trivialmente aceites, rejeitados ou subdivididos

Podem surgir novos lados

• colineares com arestas de recorte

O resultado final pode ser um ou mais polígonos

30

Page 31: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Recorte de Polígonos

31

Page 32: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Algoritmo de

Sutherland-Hodgman (1/4)

Abordagem “Dividir para Reinar”

Recortes sucessivos do polígono por aresta infinita

Quatro passos (um para cada aresta)

32

Page 33: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Algoritmo de

Sutherland-Hodgman (2/4)

Passo 1: Left Clip

Quatro passos (um para cada aresta)

Em cada passo:

Entrada = cadeia de vértices (V1, V2, …, Vn)

Resultado = nova cadeia de vértices (polígono recortado)

Resultado do passo N = Entrada do N+1

33

Page 34: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Algoritmo de

Sutherland-Hodgman (2/4)

Quatro passos (um para cada aresta)

Em cada passo:

Entrada = cadeia de vértices (V1, V2, …, Vn)

Resultado = nova cadeia de vértices (polígono recortado)

Resultado do passo N = Entrada do N+1

Passo 2: Top Clip

34

Page 35: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Algoritmo de

Sutherland-Hodgman (2/4)

Quatro passos (um para cada aresta)

Em cada passo:

Entrada = cadeia de vértices (V1, V2, …, Vn)

Resultado = nova cadeia de vértices (polígono recortado)

Resultado do passo N = Entrada do N+1

Passo 3: Right Clip

35

Page 36: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Algoritmo de

Sutherland-Hodgman (2/4)

Quatro passos (um para cada aresta)

Em cada passo:

Entrada = cadeia de vértices (V1, V2, …, Vn)

Resultado = nova cadeia de vértices (polígono recortado)

Resultado do passo N = Entrada do N+1

Passo 4 : Bottom Clip

36

Page 37: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Algoritmo de

Sutherland-Hodgman (3/4)

Executa o chamado “pipeline clipping”

Quatro andares de clipping

• Um para cada aresta

Pode-se aplicar o Cohen-Sutherland

• Aresta a aresta

Left

Clip Top Clip

Right

Clip

Bottom

Clip

37

Page 38: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Inserção de pontos

Algoritmo de

Sutherland-Hodgman (4/4)

Interior Exterior

S

P

Interior Exterior

S

P

Interior Exterior

S

PI

Interior Exterior

S

PI

Caso 1: Caso 2: Caso 3: Caso 4:

Inserir ponto P Inserir ponto I Não insere pontos Insere primeiro I

Insere depois P

Pode gerar falsos lados

(remover a posteriori)

38

Page 39: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Algoritmo de

Sutherland-Hodgman (EXEMPLO)

39

Page 40: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

P0

P1

P2

P3

P4

P5

P6

P7

Algoritmo de

Sutherland-Hodgman (EXEMPLO)

P0

P1P2

P4

P5

P6

P7

P3

Left

Clip

40

Page 41: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Algoritmo de

Sutherland-Hodgman (EXEMPLO)

P0

P1P2

P4

P5

P6

P7

Left Clip

[P0 P1] Não insere ponto

P3

P0

P1

P2

P3

P4

P5

P6

P7

41

Page 42: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Algoritmo de

Sutherland-Hodgman (EXEMPLO)

P0

P1P2

P4

P5

P6

P7

Left Clip

[P1 P2] Insere pontos I0 P2

P2I0

P3

P0

P1

P2

P3

P4

P5

P6

P7

I0

P2

42

Page 43: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Algoritmo de

Sutherland-Hodgman (EXEMPLO)

P0

P1P2

P4

P5

P6

P7

Left Clip

[P2 P3] Insere ponto P3

P2I0

P3 P3

P0

P1

P2

P3

P4

P5

P6

P7

I0

P2

P3

43

Page 44: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Algoritmo de

Sutherland-Hodgman (EXEMPLO)

P0

P1P2

P4

P5

P6

P7

Left Clip

[P3 P4] Insere ponto I1

P2I0

P3 P3

I1

P0

P1

P2

P3

P4

P5

P6

P7

I0

P2

P3

I1

44

Page 45: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Algoritmo de

Sutherland-Hodgman (EXEMPLO)

P0

P1P2

P4

P5

P6

P7

Left Clip

[P4 P5] Não insere ponto

P2I0

I2P3 P3

I1

P0

P1

P2

P3

P4

P5

P6

P7

I0

P2

P3

I1

45

Page 46: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Algoritmo de

Sutherland-Hodgman (EXEMPLO)

P0

P1P2

P4

P5

P6

P7

Left Clip

[P5 P6] Insere pontos I2 e P6

P2I0

P3 P3

I1

P0

P1

P2

P3

P4

P5

P6

P7

I0

P2

P3

I1

I2

P6

I2

P6

46

Page 47: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Algoritmo de

Sutherland-Hodgman (EXEMPLO)

P0

P1P2

P4

P5

P6

P7

Left Clip

[P6 P7] Insere ponto P7

P2I0

P3 P3

I1

P0

P1

P2

P3

P4

P5

P6

P7

I0

P2

P3

I1

I2

P6

P7

I2

P6

P7

47

Page 48: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Algoritmo de

Sutherland-Hodgman (EXEMPLO)

P0

P1P2

P4

P5

P6

P7

Left Clip

[P7 P0] Insere ponto I3

P2I0

P3 P3

I1

P0

P1

P2

P3

P4

P5

P6

P7

I0

P2

P3

I1

I2

P6

P7

I3

I2

P6

P7

I3

48

Page 49: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Algoritmo de

Sutherland-Hodgman (EXEMPLO)

P2

P5

P6

P7

I1 P3

I0

P2

P3

I1

I2

P6

P7

I3

I2

I3

I0

Resultado

após

Left Clip

Top Clip

49

Page 50: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Algoritmo de

Sutherland-Hodgman (EXEMPLO)

P2

P5

P6

P7

Top Clip

[I0 P2] Insere ponto P2

P2

I1 P3

I0

P2

P3

I1

I2

P6

P7

I3

P2

I2

I3

I0

50

Page 51: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Algoritmo de

Sutherland-Hodgman (EXEMPLO)

P2

P5

P6

P7

Top Clip

[P2 P3] Insere ponto P3

P2

I1 P3

I0

P2

P3

I1

I2

P6

P7

I3

P2

P3I2

I3

I0

P3

51

Page 52: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Algoritmo de

Sutherland-Hodgman (EXEMPLO)

P2

P5

P6

P7

Top Clip

[P3 I1] Insere ponto I1

P2

I1 P3

I0

P2

P3

I1

I2

P6

P7

I3

P2

P3

I1

I2

I3

I0

P3

I1

52

Page 53: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Algoritmo de

Sutherland-Hodgman (EXEMPLO)

P2

P5

P6

P7

Top Clip

[I1 I2] Insere ponto I4

P2

I1 P3

I0

P2

P3

I1

I2

P6

P7

I3

P2

P3

I1

I4

I2

I3

I0

P3

I1

I4

53

Page 54: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Algoritmo de

Sutherland-Hodgman (EXEMPLO)

P2

P5

P6

P7

Top Clip

[I2 P6] Insere pontos I5 e P6

P2

I1 P3

I0

P2

P3

I1

I2

P6

P7

I3

P2

P3

I1

I4

I5

P6

I2

I3

I0

P3

I1

I4

I5

P6

54

Page 55: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Algoritmo de

Sutherland-Hodgman (EXEMPLO)

P2

P5

P6

P7

Top Clip

[P6 P7] Insere ponto I6

P2

I1 P3

I0

P2

P3

I1

I2

P6

P7

I3

P2

P3

I1

I4

I5

P6

I6

I2

I3

I0

P3

I1

I4

I5

P6

I6

55

Page 56: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Algoritmo de

Sutherland-Hodgman (EXEMPLO)

P2

P5

P6

P7

Top Clip

[P7 I3] Não insere pontos

P2

I1 P3

I0

P2

P3

I1

I2

P6

P7

I3

P2

P3

I1

I4

I5

P6

I6

I2

I3

I0

P3

I1

I4

I5

P6

I6

56

Page 57: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Algoritmo de

Sutherland-Hodgman (EXEMPLO)

P2

P5

P6

P7

Top Clip

[I3 I0] Insere pontos I7 e I0

P2

I1 P3

I0

P2

P3

I1

I2

P6

P7

I3

P2

P3

I1

I4

I5

P6

I6

I7

I0

I2

I3

I0

P3

I1

I4 = I7I5

P6

I6

I0

57

Page 58: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Algoritmo de

Sutherland-Hodgman (EXEMPLO)

P2

P6I1 P3

I0

I4 = I7I5 I6

P2

P3

I1

I4

I5

P6

I6

I7

I0

Resultado

após

Top Clip

Right

Clip

P2

P6I1 P3

I0

I4 = I7I5 I6

P3

I1

I4

I5

P6

I6

I7

I0

P2

58

Page 59: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Algoritmo de

Sutherland-Hodgman (EXEMPLO)

P2

P6I1 P3

I0

I4 = I7I5 I6

P3

I1

I4

I5

P6

I6

I7

I0

P2

Resultado

após

Right Clip

Bottom

Clip

P2

P6I1 P3

I0

I4 = I7I5 I6

I1

I4

I5

P6

I6

I7

I0

P2

P3

59

Page 60: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Algoritmo de

Sutherland-Hodgman (EXEMPLO)

60

Page 61: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Recorte 3DRecorte

61

Page 62: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Recorte em 3D (1/3)

Extensão do algoritmo de Cohen-Sutherland

Usar Outcode de 6 bits:

bit 1: ponto em frente VV (z < -1)

bit 2: ponto atrás VV (z > 1)

bit 3: ponto acima Volume de Visualização (y > 1)

bit 4: ponto abaixo VV (y < -1)

bit 5: ponto à direita VV (x > 1)

bit 6: ponto à esquerda VV (x < -1)

62

Page 63: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Recorte em 3D (3/3)

Quando Necessário, recorta segmentos em relação a

planos

64

Page 64: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Recorte em 3D (3/3)

Extensão algortimo de Cohen-Sutherland:

Aceitação trivial: OC1 = OC2 = 0

Rejeição trivial: OC1 & OC2 0

Calcular 6 intersecções recta-plano VV

x = x0 + t(x1 - x0)

y = y0 + t(y1 - y0)

z = z0 + t(z1 - z0), 0 ≤ t ≤ 1

Idêntico para recorte de polígonos

Sutherland-Hodgman

66

Page 65: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Pipeline de Visualização 3D

67

Page 66: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Pipeline de Visualização 3D

68

Page 67: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Pipeline de Visualização 3D

69

Page 68: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Pipeline de Visualização 3D

70

Page 69: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Pipeline de Visualização 3D

71

Page 70: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Pipeline de Visualização 3D

72

Page 71: Slides Computação Gráfica...Considere o triângulo ABC ilustrado na figura abaixo e definido pelos pontos A = [5 5]T, B = [20 10]T e C = [5 15]T. Para efeitos do cálculo do sombreamento

Próxima Aula

Discretização

Z-Buffer

Edward Angel, Cap. 6

Apontamentos CG

73