我需要一个适用于角度的函数(例如度数,但也可能是弧度),具有以下(它必须是连续的,我只写下一些键值来理解行为):
any_function(angle):
0-> 0.0
45-> 0.5
90-> 1.0
135-> 0.5
180-> 0.0
225->-0.5
270->-1.0
335->-0.5
360-> 0.0
这是一个简单的三角波。
某些模块中是否存在任何内容,或者我是否需要自行创建? 例如像这样(快速和肮脏):
def toTriangle(angle):
if angle < 90 and angle >= 0:
t = (angle/90.)
elif angle <= 180 and angle >= 90:
t = 2-(angle/90.)
elif angle <= 270 and angle >= 180:
t = -(3-(angle/90.))
else:
t = -(4-(angle/90.))
return t
答案 0 :(得分:0)
感谢DeepSpace的建议,但它没有开箱即用:
from scipy.signal import sawtooth
sawtooth(0)
Out[4]: array(-1.0)
这是一个不太快的解决方案:
def toTriangle(angle):
import math
tr = 1-4*math.fabs(0.5-math.modf(0.25+0.5*angle%(2*math.pi)/math.pi)[0] )
return t