起点
在使用单片机做LCD屏显示的时候遇到画直线(实际上是线段)的问题。
具体的问题就是如何将直线的公式(或者是已知两点)转变为点阵结构,找到相应的点。
搜索了下,大多利用Bresenham较简单的绘制直线,以下就是如何理解该算法。
算法一
最简单的算法,莫过于直接采用直线的公式,y=kx+b,利用x每次自增1,来计算y的值,利用取整来获得像素点。
例如:y = 0.8 *x + 1;
x=0,y=1
x=1,y=1.8 =2
x=2,y=2.6 = 3
x=3,y=3.4=3
x=4,y=4.2=4
x=5,y=5.0=5
x=6,y=5.8=6
x=7,y=6.6=7
x=8,y=7.4=7
x=9,y=8.2=8
x=10,y=9
……
如下图:
(放大看)
计算机实际算法(