![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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/1.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/2.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/3.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/4.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/6.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/9.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/10.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/11.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/12.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/13.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/14.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/15.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/16.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/17.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/18.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/19.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/20.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/21.jpg)
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
G´
D´F´
H´
I´
J´
Recorte
A
B C
G´
D´
H´
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/22.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/23.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/24.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/25.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/26.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/27.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/28.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/29.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/30.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/31.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/32.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/33.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/34.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/35.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/36.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/37.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/38.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/39.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/40.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/41.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/42.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/43.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/44.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/45.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/46.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/47.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/48.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/49.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/50.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/51.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/52.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/53.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/54.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/55.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/56.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/57.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/58.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/59.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/60.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/61.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/62.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/63.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/64.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/65.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/66.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/67.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/68.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/69.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/70.jpg)
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](https://reader033.vdocuments.com.br/reader033/viewer/2022052520/609681409e73135577303403/html5/thumbnails/71.jpg)
Próxima Aula
Discretização
Z-Buffer
Edward Angel, Cap. 6
Apontamentos CG
73