Bresenham’s algorithm( 布兰森汉姆算法)画直线 |
您所在的位置:网站首页 › 稻草如何画 › Bresenham’s algorithm( 布兰森汉姆算法)画直线 |
Bresenham直线算法是用来描绘由两点所决定的直线的算法,它会算出一条线段在 n 维光栅上最接近的点。这个算法只会用到较为快速的整数加法、减法和位元移位,常用于绘制电脑画面中的直线。是计算机图形学中最先发展出来的算法。
经过少量的延伸之后,原本用来画直线的算法也可用来画圆。且同样可用较简单的算术运算来完成,避免了计算二次方程式或三角函数,或递归地分解为较简单的步骤。
基本算法思想
Bresenham直线算法描绘的直线。假设我们需要由 (x1, y1) 这一点,绘画一直线至右上角的另一点(x2, y2),x,y分别代表其水平及垂直坐标。为了一般化,我们假设 x2 - x1 > y2 - y1,那么我们应该如何快速地选择这条线段上最优的网格(绿色),从而绘制出直线呢? 选择原则
选择的方法就是比较d1,d2的大小 (1)当d1>d2,说明直线上理论点离(xi+1,yi+1)象素较近,下一个象素点应取(xi+1,yi+1)。 (2)当d1 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |