打印

空中鼠标问题

[复制链接]
4037|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
usbyt|  楼主 | 2012-6-26 14:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近在研究空中鼠标,发现做得好的,即使你把空鼠倾斜着依然可以画出直线,
   但是按理讲,有偏角时旋转,比如绕Z旋转,其他方向就会有分量,就不会是直的,
   也就是说这里面是加了算法的,我想来想去,觉得应该是属于三维坐标变换问题,
   搬到这来希望和懂这块的专家讨论下。

相关帖子

沙发
usbyt|  楼主 | 2012-6-26 15:07 | 只看该作者
我初步想法是,已知重力加速度ACC_X,ACC_Y,ACC_Z   
                           已知当前陀螺仪输出GYRO_X,GYRO_Y,GYRO_Z,
         当有倾角时,可视为是绕X,Y,Z轴旋转了一个角度,已知三维坐标变换公式是不是就可反推出
       元坐标下X,Y,Z的值?

         匠人在不,能出来讲解下不?

使用特权

评论回复
板凳
usbyt|  楼主 | 2012-6-27 09:48 | 只看该作者
都是三角函数,在单片机中怎么算?

使用特权

评论回复
地板
usbyt|  楼主 | 2012-6-27 14:16 | 只看该作者
都进来说两句啊

使用特权

评论回复
5
cry6688| | 2012-6-27 14:54 | 只看该作者
认真听

使用特权

评论回复
6
usbyt|  楼主 | 2012-6-28 10:58 | 只看该作者
三维坐标变换公式:
         xt=x*(cosy*cosz*sinx*siny*sinz)-y*(cosx*sinz)+z*(sinycosz+sinxcosysinz)
               yt=x*(cosysinz+sinxsinycosz)        +y(cosxcosz)  +z(sinysinz-sinxcosy-cosz)
               zt=x*(-cosxsiny)                            +y(sinx)          +z(cosxcosy)
按上面公式求出x,y,z就是需要的结果?

使用特权

评论回复
7
usbyt|  楼主 | 2012-6-30 09:51 | 只看该作者
:(

使用特权

评论回复
8
wukunshan| | 2012-6-30 19:47 | 只看该作者
楼主的这个技术值得研究,用的是单片机?什么传感器呀?三角函数就直接调用C语言里的库函数,包含头文件math.h即可。

使用特权

评论回复
9
sedatefire| | 2012-7-1 00:42 | 只看该作者
我关心的也是传感器原理,如何得到精确的传感器坐标

使用特权

评论回复
10
sedatefire| | 2012-7-1 00:43 | 只看该作者
还是 三维坐标的?  这个太神奇了

使用特权

评论回复
11
234918154| | 2012-7-2 09:33 | 只看该作者
之前在的一家公司用的是陀螺仪做出来的  、

使用特权

评论回复
12
usbyt|  楼主 | 2012-7-9 14:56 | 只看该作者
终于有人看了,
     1.用的是8位单片机
     2.传感器是三轴Gsensor+三轴陀螺仪
     3.单片机编译器不提供库函数:L
   

       大家都说说看法

使用特权

评论回复
13
songlianjie5| | 2013-4-1 11:50 | 只看该作者
本人也在做,ST的,可以讨论下

使用特权

评论回复
14
tornado09| | 2013-5-21 17:11 | 只看该作者
我用是STM32F103VET6处理器加MMA7455三轴加速计,但几乎是处于起步阶段,很多都不了解……

使用特权

评论回复
15
wuzhiliang1234| | 2014-2-11 11:08 | 只看该作者
楼主现在空鼠做的咋样了,有没有实现各种角度都能画出理想的线条

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

81

帖子

0

粉丝