计算机图形学中Bresenham画线算法的一种优化算法
三角形的相似定理:两边共线,第三边平行的三角形是相似三角形,对应边是成比例的,且相似比都等于高h1和h2之比。
优化的Bresenham算法的基本思想是,将每一个像素点处的小浮点数计算,乘以一个倍数,使得每一步的计算都只有整数计算。
设dx,dy皆为常量,是线段横坐标的变化量和纵坐标的变化量。不失一般性,设dx>dy,且起点是在某一像素点的精确位置处,像素长度为1,接下来需要判定下一个像素点的位置,这种情况下我们每次总是令横坐标x+1,考察下一个像素点的纵坐标y是否需要加1。
传统Bresenham算法,实际上是比较线段与像素分割线交点在一个像素的上半边还是下半边,也就是直接比较图中黄色部分和蓝色部分哪个更长,从而确定下一个像素点的纵坐标是否需要加1。这种长度必定是小于1的,并且是浮点数,不利于计算。