之前一直没有潜心地去研究12864的画图形、画直线的算法代码,只是用到了常用的文字和字符显示功能,最近天气降温了,所以寻思着用闲置下来的LaunchPad G2来做个温度采集并显示曲线的东西,论坛里已经有前辈们做过了,但是我没有亲身实践过,于是开始动手实践。
一开始,显示字符什么的还相对比较简单,到后面的画点和画坐标线的时候出了问题,一个个地打点着实很累啊,搞了大半天,实在是不方便,于是就想着怎么画一条任意直线,我首先是利用直线方程y=ax+b进行运算取点,在验证这个算法的时候我恰好选了特定的两个起始和结束点,仿真调试,咦?果真是想要的结果,于是就得意的又画了几条任意直线,结果惨不忍睹啊,之后深深思考了一下,利用直线方程在液晶上画线是不合理的,因为如果直线的斜率比较大,直线比较陡峭的时候,就会出现点与点之间不连续的问题了。后来我就百度了一下,就看到有一个“Bresenham画线算法\",里面的画直线思想是在特定的条件:斜率0
)三下五除二,就搞出第一条曲线,看到自己的劳动成果好开心啊,让我对最终目标:画任意直线 倍增自信。接下来的难点就是这个”任意“,要突破“Bresenham画线算法\"的限定条件,就得增加代码,不过有一点是肯定的,这个算法是最基本的,只是增加处理”任意“这一词的相关代码,此时就得要根据起始、终点的坐标来进行相应的坐标变换和画直方向的变换。皇天不负苦心人呐,经过一个小时的折腾,代码终于给实现“任意直线”的目标了,上个图:
本文含有来自论坛的附件或图片点击查看原帖附件。
本文来自论坛,点击查看完整帖子内容。