Algoritmo de Bresenham (1)

Algoritmo de Bresenham (1)

1. Algoritmo de línea recta de Bresenham (1)
Principio básico :
El algoritmo de línea recta de Bresenham es un algoritmo que determina los puntos de la rejilla n-dimensional que debe seleccionarse para formar una aproximación aproximada de la línea recta entre los dos puntos. Por lo general, se usa para dibujar primitivas de línea en imágenes de mapa de bits (por ejemplo, en una pantalla de computadora) porque solo usa suma, resta y desplazamiento de enteros, todos los cuales son operaciones muy baratas en arquitecturas de computadora estándar. Es un algoritmo de error incremental. Es uno de los primeros algoritmos desarrollados en el campo de los gráficos por computadora.

Inserte la descripción de la imagen aquí
Considere la relación entre d2 y d1:

(1) Si d2> = d1, la línea recta está más cerca del punto inferior

(2) Si d2 <d1, la línea recta está más cerca del punto superior

2. Algoritmo de línea recta de Bresenham (2)
Construya un conjunto de líneas de cuadrícula virtual a través de los centros de píxeles de cada fila y columna. Calcule la intersección de la línea recta y cada línea de cuadrícula vertical en el orden de la línea recta desde el punto inicial hasta el punto final, y luego determine el píxel más cercano a este punto de intersección en la columna de píxeles de acuerdo con el signo del término de error.
Inserte la descripción de la imagen aquí

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
algoritmo :



void Bresenhamline (int x0,int y0,int x1, int y1,int color)
{  
	int x, y, dx, dy;
	float k, e;
	dx = x1-x0, dy = y1- y0,k=dy/dx; 
	e=-0.5, x=x0, y=y0;
	for (i=0; i£dx; i++)
	{    
		drawpixel (x, y, color);
		x=x+1,e=e+k;
		if (0)
		{ 
			y++, e=e-1;
		}
}
}

 

16 artículos originales publicados · Me gusta1 · Visitas 180

Supongo que te gusta

Origin blog.csdn.net/weixin_44931542/article/details/105133174
Recomendado
Clasificación