图形的栅格化方法也叫光栅化方法,它的作用是把图形变成一个个屏幕上的像素从而显示出来。数学上描述图形用的“点”或“线”是没有大小的。而显示器屏幕是一系列像素组成的正交网格,就好像一个个的格子一样。我们需要把这些“点”“线”用格子描述出来,因此把这个过程称作“栅格化”更加贴切。
首先介绍栅格化图形线(如一条直线)的方法:
线算法
最简单的方法是使用x方向的扫描线。
直线方程为
y (x) = m * x + b
泰勒展开为
y (x + dx) = y (x) + f'(x) * x
假设 -1 < m < 1, x0< x1
这个方法大致有三个缺点:round函数耗费了很多时间; 使用了float这种浮点算法; 有可能出现锯齿(Aliasing)。
中点决策法
有一种避免使用round函数和float的方法,称为中点算法(Midpoint Algorithm)。
此算法在直线方程 f (x, y) = a * x + b *