如何翻转三角圆绕45°角?

How to flip the trigonometric circle around the 45° angle?

我正在寻找能够围绕位于 45° 向量(或 pi/4 弧度)上的 "axis" 翻转三角圆的数学函数。

如:

|---------|---------|
|   x     |   f(x)  |
|---------|---------|
|   0     |   90    |
|   45    |   45    |
|   90    |   0     |
|   135   |   315   |
|   180   |   270   |
|   225   |   225   |
|   270   |   180   |
|   315   |   135   |
|---------|---------|

举几个例子。

所以基本上我需要转动罗盘:

成三角圆:

我只找到了“180 - 角度”之类的东西,但这不是我要找的那种旋转。 可能吗?

你的问题的主要困难是结果中的 "jump",其中 f(90) 应该是 0f(91) 应该是 359。一种解决方案是使用跳跃运算符——即模数运算符,通常用 % 字符表示。

在像 Python 这样的语言中,模运算符总是 return 为正结果,您可以使用

def f(x):
    return (90 - x) % 360

有些语言可以 return 如果运算符前的数字为负数,则结果为负数。您可以通过在获取模数之前添加 360 来处理它,这应该适用于所有带有模数运算符的语言:

def f(x):
    return (450 - x) % 360

您可以通过以下方式演示任一功能:

for a in range(0, 360, 45):
    print(a, f(a))

打印所需内容:

0 90
45 45
90 0
135 315
180 270
225 225
270 180
315 135

如果你的语言没有取模运算符,可以用floorint函数模拟。如果您需要使用其中任何一个而不是模数的解决方案,请告诉我。