OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5650|回复: 6

关于正点原子LCD画直线算法的疑惑

[复制链接]

20

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
77
金钱
77
注册时间
2020-10-18
在线时间
28 小时
发表于 2021-1-8 10:45:17 | 显示全部楼层 |阅读模式
2金钱
正点原子的MUC LCD例程里,画直线用的是布雷森汉姆算法吗?如果是,那么下面这段代码该怎么理解?
  1. xerr+=delta_x ;
  2.                 yerr+=delta_y ;
  3.                 if(xerr>distance)
  4.                 {
  5.                         xerr-=distance;
  6.                         uRow+=incx;
  7.                 }
  8.                 if(yerr>distance)
  9.                 {
  10.                         yerr-=distance;
  11.                         uCol+=incy;
  12.                 }
复制代码
代码将误差增量设为delta_x或delta_y,我不明白为何如此?我昨天看了大半天的布雷森汉姆算法,算是对该算法有了初步的了解,但对此代码如此处理大为不解。

最佳答案

查看完整内容[请看2#楼]

你带入几个像素点实验几次就看懂了,其实这些操作就是判断x方向和y方向步进哪个,比如delta_x的值要比delta_y的值大,那么在x上的步进次数肯定要比y方向上的多,这个多的次数就是通过判断xerr和yerr每次迭代增加delta_x/delta_y再与distance比较判断得到,如果溢出了distance就步进一次,减去distance等待下次溢出再执行步进语句。希望我能讲的明白一点
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

4

帖子

0

精华

初级会员

Rank: 2

积分
77
金钱
77
注册时间
2020-6-17
在线时间
12 小时
发表于 2021-1-8 10:45:18 | 显示全部楼层
你带入几个像素点实验几次就看懂了,其实这些操作就是判断x方向和y方向步进哪个,比如delta_x的值要比delta_y的值大,那么在x上的步进次数肯定要比y方向上的多,这个多的次数就是通过判断xerr和yerr每次迭代增加delta_x/delta_y再与distance比较判断得到,如果溢出了distance就步进一次,减去distance等待下次溢出再执行步进语句。希望我能讲的明白一点
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2021-1-9 02:30:52 | 显示全部楼层
这个就是拷贝自网上的代码。。。你也可以自己写一个个
回复

使用道具 举报

20

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
77
金钱
77
注册时间
2020-10-18
在线时间
28 小时
 楼主| 发表于 2021-1-11 10:51:02 | 显示全部楼层
正点原子 发表于 2021-1-9 02:30
这个就是拷贝自网上的代码。。。你也可以自己写一个个

(⊙o⊙) 好吧
回复

使用道具 举报

0

主题

4

帖子

0

精华

初级会员

Rank: 2

积分
77
金钱
77
注册时间
2020-6-17
在线时间
12 小时
发表于 2021-3-11 12:00:29 | 显示全部楼层
求问原子上面的画直线的这段代码是不是有问题?
回复

使用道具 举报

0

主题

4

帖子

0

精华

初级会员

Rank: 2

积分
77
金钱
77
注册时间
2020-6-17
在线时间
12 小时
发表于 2021-3-11 12:09:29 | 显示全部楼层
marktown97 发表于 2021-3-11 12:00
求问原子上面的画直线的这段代码是不是有问题?

在lCD实验里加上这段代码试了试确实可以用,就是看不懂怎么弄的
回复

使用道具 举报

4

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2021-1-8
在线时间
24 小时
发表于 2021-3-12 13:17:31 | 显示全部楼层
看上去像是数控的直线插补
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-28 12:57

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表