Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何通过传感器检测这种特定的运动姿态?_Java_Android_Accelerometer_Android Sensors_Gesture Recognition - Fatal编程技术网

Java 如何通过传感器检测这种特定的运动姿态?

Java 如何通过传感器检测这种特定的运动姿态?,java,android,accelerometer,android-sensors,gesture-recognition,Java,Android,Accelerometer,Android Sensors,Gesture Recognition,我在做一个Android项目。它的目标是检测设备预定义的运动姿态。如果设备在轴(X、Y或Z)上旋转45度,然后旋转回其第一个位置(第一个和第二个位置将不准确,我的意思是,如果它旋转50度而不是45度,这并不重要!!!),那么手势已经发生,应用程序应该会检测到它 我尝试使用设备的加速计和磁性传感器来持续监测设备的方向并检测手势,但结果不可接受()。有什么出发点或想法吗?似乎没有人会给出具体而有价值的答案。让我试着这么做 首先,即使是有点原始和直接的方法也可以发现一个事实,即您不需要处理来自传感器的

我在做一个Android项目。它的目标是检测设备预定义的运动姿态。如果设备在轴(X、Y或Z)上旋转45度,然后旋转回其第一个位置(第一个和第二个位置将不准确,我的意思是,如果它旋转50度而不是45度,这并不重要!!!),那么手势已经发生,应用程序应该会检测到它


我尝试使用设备的加速计和磁性传感器来持续监测设备的方向并检测手势,但结果不可接受()。有什么出发点或想法吗?

似乎没有人会给出具体而有价值的答案。让我试着这么做

首先,即使是有点原始和直接的方法也可以发现一个事实,即您不需要处理来自传感器的所有数据。此外,人类并没有那么快,所以不需要每秒进行10000个值来识别任何特定的移动

你真正需要的只是确定关键点并做出决定。对你来说,这听起来像是个笑话吗

我实际建议的是使用普通鼠标和可用的手势识别框架测试您的解决方案。因为实际的想法几乎是一样的。因此,请检查:

通过这种方式,可能更容易制定出合适的解决方案

更新

让我们想象一下,我拿着手机,需要先逆时针旋转90度,然后再顺时针旋转180度。我希望你不会期望我在空中做一些复杂的3D形状(这会破坏可用性,坦率地说,我不想失去我的手机),因此可以说可能有一个点我们可以跟踪或我们可以很容易地模拟它

请参阅我的,以查看类似问题的简单但有效的解决方案:


我认为识别手势不需要精确的测量。有很多鼠标手势识别的例子。用户将无法快速旋转手机:)我会尝试找到合适的,但你们也可以看看。是的,你们完全正确!准确度并不是那么重要,算法应该足够智能,能够检测到手势!感谢您的关注:))显然,我必须使用Android设备传感器来检测这个手势,我已经尝试过使用
加速计
磁性
传感器的方法,我发现了它们的局限性()现在,第一个问题是使用哪些传感器,然后如何实现……你知道,检测触摸手势、鼠标手势和…与传感器手势大不相同
,您实际需要的只是识别关键点并做出决定
…完全正确,但怎么做?!!传感器的局限性不允许我触及到这一点,您是否正在为某款手机开发程序?Buggy传感器与正确的解决方案无关。用新手机更换手机,然后继续<代码>完全正确,但您是如何浏览我提供的示例/框架的?是的,谢谢。我看到了,但你认为我们检测鼠标手势的方法有助于检测移动手势吗?我想我还没有更新我的答案。这是我最后的贡献,我认为你们有一切可以解决你们的任务。快乐编码。