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

时间:2019-02-20 22:05:40

标签: function math rotation trigonometry angle

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

例如:

AbstractModel instance = new RealModel()
                             {
                                 PropertyA = "foo",
                                 PropertyA = "bar"
                             };

using (TextWriter file = new StreamWriter("path"))
using (var csv = new CsvWriter(file))
{
    csv.WriteRecord((object)instance);
}

仅举几个例子。

所以基本上我需要把指南针转起来:

Compass rose

进入三角圆:

enter image description here

我只发现了类似“ 180-角度”的东西,但是那不是我想要的旋转方式。 有可能吗?

1 个答案:

答案 0 :(得分:1)

问题中的主要困难是结果中的“跳跃”,其中f(90)应该是0,而f(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函数对其进行模拟。让我知道您是否需要使用这些方法之一而不是模量的解决方案。