我正在寻找一种数学函数,该函数能够围绕位于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);
}
仅举几个例子。
所以基本上我需要把指南针转起来:
进入三角圆:
我只发现了类似“ 180-角度”的东西,但是那不是我想要的旋转方式。 有可能吗?
答案 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
如果您的语言没有模运算符,则可以使用floor
或int
函数对其进行模拟。让我知道您是否需要使用这些方法之一而不是模量的解决方案。