OpenEdv-开源电子网

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

触摸屏校准函数公式计算能明白,但是...

[复制链接]

50

主题

159

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
437
金钱
437
注册时间
2014-8-15
在线时间
29 小时
发表于 2015-7-11 15:46:22 | 显示全部楼层 |阅读模式
5金钱
[mw_shl_code=c,true]//对边相等 tem1=abs(pos_temp[0][0]-pos_temp[1][0]);//x1-x2 tem2=abs(pos_temp[0][1]-pos_temp[1][1]);//y1-y2 tem1*=tem1; tem2*=tem2; 273 d1=sqrt(tem1+tem2);//得到 1,2 的距离 tem1=abs(pos_temp[2][0]-pos_temp[3][0]);//x3-x4 tem2=abs(pos_temp[2][1]-pos_temp[3][1]);//y3-y4 tem1*=tem1; tem2*=tem2; d2=sqrt(tem1+tem2);//得到 3,4 的距离 fac=(float)d1/d2; if(fac<0.95||fac>1.05||d1==0||d2==0)//不合格 { cnt=0; LCD_Clear(WHITE);//清屏 Drow_Touch_Point(20,20); continue; } tem1=abs(pos_temp[0][0]-pos_temp[2][0]);//x1-x3 tem2=abs(pos_temp[0][1]-pos_temp[2][1]);//y1-y3 tem1*=tem1; tem2*=tem2; d1=sqrt(tem1+tem2);//得到 1,3 的距离 tem1=abs(pos_temp[1][0]-pos_temp[3][0]);//x2-x4 tem2=abs(pos_temp[1][1]-pos_temp[3][1]);//y2-y4 tem1*=tem1; tem2*=tem2; d2=sqrt(tem1+tem2);//得到 2,4 的距离 fac=(float)d1/d2; if(fac<0.95||fac>1.05)//不合格 { cnt=0; LCD_Clear(WHITE);//清屏 Drow_Touch_Point(20,20); continue; }//正确了 //对角线相等 tem1=abs(pos_temp[1][0]-pos_temp[2][0]);//x1-x3 tem2=abs(pos_temp[1][1]-pos_temp[2][1]);//y1-y3 tem1*=tem1; tem2*=tem2; d1=sqrt(tem1+tem2);//得到 1,4 的距离 tem1=abs(pos_temp[0][0]-pos_temp[3][0]);//x2-x4 tem2=abs(pos_temp[0][1]-pos_temp[3][1]);//y2-y4 tem1*=tem1; tem2*=tem2; d2=sqrt(tem1+tem2);//得到 2,3 的距离 274 fac=(float)d1/d2; if(fac<0.95||fac>1.05)//不合格 { cnt=0; LCD_Clear(WHITE);//清屏 Drow_Touch_Point(20,20); continue; }//正确了[/mw_shl_code]
这段想不通,我拿笔在纸上画了下,那个是用勾股定理来求对边?但是这样的两个点中要不横坐标相同,要纵坐标相同,怎么求对边啊,不懂,不懂

最佳答案

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

回复【3楼】张氏拉都: --------------------------------- 是的,但是是不同坐标得到的。可能有差距,要求这个差距足够小,才能完成校准。
初学STM32,很多不懂,但是我相信坚持一定可以成功,向原子哥学习
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2015-7-11 15:46:23 | 显示全部楼层
回复【3楼】张氏拉都:
---------------------------------
是的,但是是不同坐标得到的。可能有差距,要求这个差距足够小,才能完成校准。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2015-7-11 16:29:38 | 显示全部楼层
没用勾股定理啊。。。
完全就是求2个点的距离,你想多了。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

50

主题

159

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
437
金钱
437
注册时间
2014-8-15
在线时间
29 小时
 楼主| 发表于 2015-7-11 16:32:24 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
哈哈,可是这样求出来的是两点之间的距离吧,那么这几段程序,算来算去好像都是只算x1x3和x1x2这两条线段的距离吧?
初学STM32,很多不懂,但是我相信坚持一定可以成功,向原子哥学习
回复

使用道具 举报

50

主题

159

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
437
金钱
437
注册时间
2014-8-15
在线时间
29 小时
 楼主| 发表于 2015-7-11 17:07:56 | 显示全部楼层
那就明白了啦~~
初学STM32,很多不懂,但是我相信坚持一定可以成功,向原子哥学习
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-24 21:04

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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