如何翻转三角圆绕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)
应该是 0
但 f(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
如果你的语言没有取模运算符,可以用floor
或int
函数模拟。如果您需要使用其中任何一个而不是模数的解决方案,请告诉我。
我正在寻找能够围绕位于 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)
应该是 0
但 f(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
如果你的语言没有取模运算符,可以用floor
或int
函数模拟。如果您需要使用其中任何一个而不是模数的解决方案,请告诉我。