繁体   English   中英

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

[英]How to flip the trigonometric circle around the 45° angle?

我正在寻找一个数学函数,它能够围绕位于 45° 矢量(或 pi/4 弧度)上的“轴”翻转三角圆。

如 :

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

仅举几个例子。

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

罗盘玫瑰

成三角圆:

在此处输入图片说明

我只找到了“180 - 角度”之类的东西,但这不是我正在寻找的那种旋转。 是否可以 ?

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

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

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

如果运算符之前的数字为负数,某些语言可能会返回负数结果。 您可以通过在取模数之前添加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函数进行模拟。 如果您需要使用其中任何一个而不是模数的解决方案,请告诉我。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM