注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
bobde163的个人空间 https://home.eeworld.com.cn/space-uid-371204.html [收藏] [复制] [分享] [RSS]
日志

终于亲身搞定12864液晶的画任意直线的问题了

已有 6329 次阅读2013-12-15 22:14

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

本文含有来自论坛的附件或图片点击查看原帖附件。

本文来自论坛,点击查看完整帖子内容。

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章