Java 变换罗盘方向输出
我有两个方向输出翻转和+-作为对真正的罗盘输出。我想用数学把它们转换成正确的输出。我非常确信这可以用三角函数来完成,我欢迎任何建议,我已经画了一个草图,请原谅我的粗略记录。Java 变换罗盘方向输出,java,trigonometry,compass-geolocation,Java,Trigonometry,Compass Geolocation,我有两个方向输出翻转和+-作为对真正的罗盘输出。我想用数学把它们转换成正确的输出。我非常确信这可以用三角函数来完成,我欢迎任何建议,我已经画了一个草图,请原谅我的粗略记录。 我希望这是有道理的。北方和南方是翻转的,如果它们被翻转回来,那么我们将有从北到东的正0-180,从北到西的负0-(-180),但是我需要它翻转并表示为正常的罗盘方向,离开图像,它看起来就像是简单的newAngle=oldAngle+180(假设输入为-180…180).所以你的输入范围是-180…180?…问题是?所以现在
我希望这是有道理的。北方和南方是翻转的,如果它们被翻转回来,那么我们将有从北到东的正0-180,从北到西的负0-(-180),但是我需要它翻转并表示为正常的罗盘方向,离开图像,它看起来就像是简单的
newAngle=oldAngle+180
(假设输入为-180…180).所以你的输入范围是-180…180?…问题是?所以现在假设你把一部手机放平,手机顶部指向N,读数为0或360,我想把它翻转过来,当手机顶部指向S时,读数为0或360。但是,当手机当前指向N时,如果手机顺时针旋转,则输出为-->45-->90-->135-->180;如果逆时针旋转,则输出为-->(-45-->)(-90-->(-135-->)(-180)。总之,我要求行为指向S=0或360顺时针旋转-->90….>180….>270。。。回到0或360。问题是如何将当前行为转换为我需要的行为/输出。你完全正确,我尝试过这个,但是我在代码中有一个括号不合适,所以它没有给出我预期的结果,这就是为什么我如此困惑的原因。为这个简单的问题道歉