光栅图形显示器可以看做一个像素的矩阵。在光栅显示器上显示的任何一种图形,实际上都是一些具有一种或多种颜色的像素集合。本章介绍光栅图形学中几个重要的概念及基相应算法。


光栅图形学研究的主要内容

直线段的扫描转换算法

本节的算法仅适用于$|k|\leqslant1$的情形。在这种情况下,$x$每增加$1$,$y$最多增加$1$。当$|k|\gt1$时,必须把$x,y$的地位互换,$y$每增加$1$,$x$相应增加$1 \over k$。$y$与$k$必须用浮点数表示,而且每一步都要对$y$进行四舍五入后取整,这使得该算法不利于硬件实现。

有限的点逼近无线的点

求出过$P_0P_1$的直线段方程,像素的坐标都是整数,要进行取整处理

$y=kx+b$

$k=\dfrac{y_1-y_0}{x_1-x_0}(x_1 {\not=}x_0)$

取消乘法提高效率?

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/199648fb-500d-4f56-adc7-4dad7cb96145/Untitled.png

MidPointCircle(int r,int color)
{
	inx x,y;
	float d;
	x=;y=r;d=1.25-r;
	circliepoints(x,y,color);
	while(x<=y)
	{
		if(d<0) d += 2*x+3;
		else
		{
			d += 2*(x-y)+5;y--;
		}
		x++;
		circlepoints(x,y,color);
	}
}