指南针设置

Compass setting

罗盘已正确校准。要获得罗盘角度(360 度),我使用代码

        heading = 180 * math.atan2(yh,xh)/math.pi
        if (yh >= 0):
            return heading
        else:
            return 360 + heading

没关系。北指示正确。问题是如何添加或保留结果,例如。 + 20 / -20度(我需要把指南针放在一个固定的位置。)

感谢帮助!

如果您愿意,您可以从标题中添加(或减去)并使用模运算符保持在 0-359 之间:

def rotate(heading, degree_change):
    return (heading + degree_change) % 360

此外,您可以使用模运算符来简化您已有的代码:

heading = (180 * math.atan2(yh,xh)/math.pi) % 360