Escolar Documentos
Profissional Documentos
Cultura Documentos
Algoritmos Bsicos
- Rasterizacin de lneas - Rasterizacin de circunferencias - Rasterizacin de polgonos - Rasterizacin de primitivas con grosor - Recorte de primitivas
y y 1 y 0 m es la pendiente: m= = x x 1x 0
P0 (x0, y0)
P1 (x1, y1)
Algoritmo bsico incremental (DDA: digital diferential analyzer): Si |m| < 1 entonces se incrementan m pixels en y por cada uno en x Si |m| > 1 entonces se incrementan 1/m pixels en x por cada uno en y
Eleccin entre E y NE Utiliza una variable de decisin La variable se actualiza segn la eleccin
y= r x
2
Ecuacin explcita:
y= r x
2
Eleccin entre E y SE Utiliza una variable de decisin La variable se actualiza segn la eleccin Trabaja incrementalmente para ahorrar clculos
1.- Elegir qu pxels se van a rellenar Uso de lneas de barrido y spans 2.- Elegir el valor con el que se rellenan
Hay que conocer los extremos de los spans El algoritmo del punto medio no es suficiente (interior?) Criterio: izquierda y abajo estn dentro; derecha y arriba, fuera Algoritmo incremental para determinar los extremos de los spans
Slivers:
Pendiente entre -1 y 1: ms de un pixel por columna Resto de pendientes: ms de un pixel por fila Problemas de grosor y en unin de lneas
Brocha centrada en cada pixel de la primitiva Las diferencias de grosor cambian de sitio Brocha circular mejora los resultados
* Fuerza bruta: calcular las intersecciones sin ms, utilizando ecuaciones paramtricas: P=P 0 t P 1P 0
N i [ P 0 P E ] t= N i P 1 P 0
i
Puede ser necesario: * Dividir aristas * Conservar aristas * Crear nuevas aristas * Eliminar aristas
Reduce el problema a recortar contra un lado infinito cada vez Recorta arista a arista. Cuatro posibles casos: