web icons template - kusumoto.com.br · preenchimento é chamado conversão de varredura (scan...

16
Prof. MSc. André Yoshimi Kusumoto [email protected] Computação Gráfica

Upload: lamdung

Post on 05-Dec-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

Prof. MSc. André Yoshimi Kusumoto

[email protected]

Computação Gráfica

Prof. André Y. Kusumoto – [email protected]

Preenchimento de polígonos

• Em Computação Gráfica, “modelagem” consiste em todo o processo de descrever um modelo, objeto ou cena, de forma que se possa desenhá-lo.

• Polígonos são muito importantes nesse contexto.

• Como descrever/representar FORMA dos objetos (largura, altura, áreas,...)??

• Existem várias formas de representação e modelagem de objetos 3D.

Prof. André Y. Kusumoto – [email protected]

Preenchimento de polígonos

• Formas de Representação que podem utilizar polígonos

• Representação Aramada (lista de vértices e arestas)

• Superfícies Limitantes (lista de vértices e faces)

Prof. André Y. Kusumoto – [email protected]

Preenchimento de polígonos

• A definição de um objeto sólido possui duas fases:

• Definição do contorno que representas as propriedades geométricas do objeto

• O preenchimento do interior do contorno do objeto

• Assim, verifica-se a importância da correta definição do contorno do objeto.

• Na sequência, todos os pixels que se encontram dentro do contorno do objetos são definidos com a mesma tonalidade (o mesmo valor).

• Em alguns casos, a definição da tonalidade também pode ser considerado uma fase extra.

Prof. André Y. Kusumoto – [email protected]

Preenchimento de polígonos

• Exceto nas bordas (contorno), pixels adjacentes em um polígono possuem as mesmas características.

• Essa propriedade é chamada coerência espacial.

• Geralmente, o processo de decisão de quais pixels serão considerados consiste em varrer (scan) as linhas (line) contidas no objeto, preenchendo os pixels que estão dentro da área do polígono da esquerda para a direita.

• Assim, os pixels de uma dada linha (scan line) variam somente nas bordas do polígono.

Prof. André Y. Kusumoto – [email protected]

SCANLINE

• O processo de determinar quais pixels serão desenhados no preenchimento é chamado conversão de varredura (scan conversion).

• A utilização de uma mesma cor para todos os pixels pertencentes ao objeto é chamado de coerência de bloco (span coherence)

Prof. André Y. Kusumoto – [email protected]

SCANLINE

• A scanline 4, por exemplo, pode ser dividida nas regiões:

• x < 1 (fora do polígono)

• 1 ≤ x ≤ 4 (dentro do polígono)

• 4 < x < 6 (fora do polígono)

• 6 ≤ x ≤ 8 (dentro do polígono)

• x > 8 (fora do polígono).

scanline 4

Prof. André Y. Kusumoto – [email protected]

SCANLINE

• A scanline 2, por exemplo, pode ser dividida nas regiões:

• x < 1 (fora do polígono)

• 1 ≤ x ≤ 8 (dentro do polígono)

• x > 8 (fora do polígono). scanline 2

Prof. André Y. Kusumoto – [email protected]

Preenchimento de polígonos

• Como definir se um ponto qualquer está dentro ou fora do polígono.

• Apesar de parecer simples, nem sempre sua identificação é fácil.

• Dentro ou fora? Use a regra da paridade

A

AB

B

C

C

Prof. André Y. Kusumoto – [email protected]

A

AB

B

C

C

• Regra paridade

• Conta-se quantas vezes a reta ultrapassa o contorno do objeto

• Número par ou zero – fora do objeto

• Número ímpar – dentro do objeto

• Se o ponto ou a reta coincidir com um vértice

• Somar somente se o vértice é Vmax de uma aresta e Vmin de outra

Preenchimento de polígonos

Prof. André Y. Kusumoto – [email protected]

Algoritmo de preenchimento recursivo

• Parte-se do princípio que se é sabido que um ponto P1 pertence ao polígono (i.e. está dentro do polígono), o ponto vizinho ao P1, possivelmente também estará dentro do polígono.

• Obviamente, uma condição deve ser verificada para garantir esse princípio. Entretanto, se a condição for verdadeira, o mesmo princípio é aplicado ao ponto vizinho de P1.

E

D A B

C

Prof. André Y. Kusumoto – [email protected]

Vizinhança

• Vizinhança-4: Um pixel f(x,y) possui 4 vizinhos, horizontais e

verticais.•

Relacionamento entre elementos de uma imagem

f(x,y)

Prof. André Y. Kusumoto – [email protected]

Vizinhança

• Vizinhança-4: Um pixel f(x,y) possui 4 vizinhos, horizontais e

verticais.• f(x,y-1)

• f(x-1,y)

• f(x+1,y)

• f(x,y+1)

Relacionamento entre elementos de uma imagem

f(x,y)

Prof. André Y. Kusumoto – [email protected]

Relacionamento entre elementos de uma imagem

Vizinhança

• Vizinhança-8: Um pixel f(x,y) possui 8 vizinhos, horizontais,

verticais e diagonais.•

f(x,y)

Prof. André Y. Kusumoto – [email protected]

Relacionamento entre elementos de uma imagem

Vizinhança

• Vizinhança-8: Um pixel f(x,y) possui 8 vizinhos, horizontais,

verticais e diagonais.• f(x-1,y-1)

• f(x,y-1)

• f(x+1,y-1)

• f(x-1,y)

• f(x+1,y)

• f(x-1,y+1)

• f(x,y+1)

• f(x+1,y+1)

f(x,y)

Prof. André Y. Kusumoto – [email protected]

• AZEVEDO, E. CONCI, A. Computação Gráfica: Teoria e

Prática. Rio de Janeiro, Editora Campus, 2003. v. 1.

• CONCI, A.; AZEVEDO, E.; LETA, F. R. Computação Gráfica:

Teoria e Prática. Rio de Janeiro, Editora Campus, 2008. v. 2.

• GONZALEZ, R. C.; WOODS, R. E. Processamento digital de

imagens. 3. ed. São Paulo: Pearson Prentice Hall, 2010.

• Material Prof. Cavalcanti

16

Referências