Rasterizacao Ppt

1256 palavras 6 páginas
Introdução à Computação Gráfica
Rasterização

Claudio Esperança
Paulo Roma Cavalcanti

Representação Vetorial x Matricial
• Normalmente, gráficos são definidos através de primitivas geométricas como pontos, segmentos de retas, polígonos, etc
 Representação vetorial
• Dispositivos gráficos podem ser pensados como matrizes de pixels (rasters)
 Representação matricial
• Rasterização é o processo de conversão entre representações vetorial e matricial Considerações Gerais
• Rasterização é um processo de amostragem
 Domínio contínuo  discreto
 Problemas de aliasing são esperados

• Cada primitiva pode gerar um grande número de pixels
 Rapidez é essencial

• Em geral, rasterização é feita por hardware
• Técnicas de antialiasing podem ser empregadas, usualmente extraindo um custo em termos de desempenho

Rasterização de Segmentos de Reta
• Segmento de reta entre P1= (x1, y1) e P2= (x2, y2)
 Já foi recortado com relação ao viewport
• Objetivo é pintar os pixels atravessados pelo segmento de reta
 Na verdade, nem todos, apenas os mais próximos
• Reta de suporte dada por a x + b y + c = 0
• Queremos distinguir os casos
 Linhas ~ horizontais  computar y como função de x
 Linhas ~ verticais  computar x como função de y

Algoritmo Simples
• Assumimos segmentos de reta no primeiro octante, com
 Demais casos resolvidos de forma simétrica

• Inclinação (entre 0 e 1) dada por m = (y2 – y1) / (x2 – x1)
• Algoritmo:
 Para x desde x1 até x2 fazer:
• y ← y1 + m * (x – x1) + 0.5
• Pintar pixel (x, y)

P2

P1

Algoritmo Incremental
• Algoritmo simples tem vários problemas:





Utiliza aritmética de ponto-flutuante
Sujeito a erros de arredondamento
Usa multiplicação
Lento

• Se observarmos que m é a variação em y para um incremento unitário de x, podemos fazer ligeiramente melhor: x ← x1 ; y ← y1
Enquanto x ≤ x2 fazer: x←x+1 y ← y+ m
Pintar pixel (x, y + 0.5 )

• Ainda usa ponto-flutuante

Algoritmo de Bresenham
• Algoritmo clássico da computação gráfica

Relacionados

  • CorelDRAW X7
    236871 palavras | 948 páginas