变换罗盘方向输出

Posted

技术标签:

【中文标题】变换罗盘方向输出【英文标题】:Transforming compass direction output 【发布时间】:2020-12-02 01:40:31 【问题描述】:

我有方向输出,它们都被翻转和 + - 与真正的指南针输出相对应。我想用数学转换这些给我正确的输出。我很确定这可以使用三角函数来完成,我欢迎任何建议,我已经画了一个速写,请原谅粗略的草率。 Left the current situation on the right the desired output

我希望这是有道理的。北和南是翻转的,如果它们被翻转回来,那么我们会有北到东的正 0-180,北到西的负 0-(-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。 问题是我如何将当前行为转换为我需要的行为/输出。 【参考方案1】:

离开图像,它看起来很简单newAngle = oldAngle+180(假设输入为 -180...180)。

【讨论】:

你是绝对正确的,我正在尝试这个,但是我的代码中有一个不合适的括号,所以它没有给出我预期的结果,这就是我如此困惑的原因。为这个简单的问题道歉

以上是关于变换罗盘方向输出的主要内容,如果未能解决你的问题,请参考以下文章

opengl算法学习---图形几何变换

用标量角张量创建变换矩阵

通过弯曲到方向来变换线段

Transform.TransformDirection 变换方向

opencv 图像各方向旋转

CSS3 matrix3d矩阵变换和动画变换