使用位置检测圆是否完成

时间:2014-02-04 18:01:31

标签: java android algorithm math

有什么方法可以通过编程方式知道圈子是否已完成?

首先,用户将单击“开始”,然后检索并保存当前位置。

之后,我需要在圆圈完成后得到通知,不一定在确切的位置,检查附图。

enter image description here

1 个答案:

答案 0 :(得分:0)

将点坐标的成对差异作为切线方向的近似值。

我考虑将整圆分成四个象限,由以下方向分隔:第一个切线方向(第一对点之间)以及相对于其旋转的90°,180°和270°方向。一个适当的光滑圆将按顺序通过这些段中的每一个:第一个方向将介于0°和90°之间(同样以初始方向为参考),然后介于90°和180°之间,然后介于180°和270°之间,然后在270°和360°之间= 0°。一旦它回到第一个象限,你知道你已经完成了转弯。

你可以用两个而不是四个扇区做同样的事情,但是四个更健壮:切线方向上的一点抖动可能会让你在两个相邻的段之间多次切换,但绝不会超过两个。因此,对于四个片段,您可以允许一些来回来回并且仍然可以检测圆圈何时完成。