布雷森汉姆线
用一组美丽的方程式可以画出界限,尽可能节省资源。
假设我们以x轴为主轴从左到右画一条线。
假设我们在[ x,y ]画了一个点,下一个点将是[ x + 1,y ]或者[ x + 1,y + 1 ]。我们可以找到这两点和真实点之间的区别。
请注意,d的符号控制两个点中哪一个更接近期望的点。因为符号是最重要的,所以我们可以将d乘以一个正数,将方程转换成整数运算。
变量p可以递归表达,并给我们一个下一点的整数预测值。
如果p为正,则y增加;如果为负,则y保持不变。
注意,算法中没有乘法和除法,我们只需要加减整数。大家有没有感觉很酷呢?
实现代码
绘图