这是我拥有的一行三角代码。我想知道是否有办法简化它以使其更快。谢谢
abs((a%(2*math.pi)-b%(2*math.pi))%(2*math.pi)-math.pi)
这是我拥有的一行三角代码。我想知道是否有办法简化它以使其更快。谢谢
abs((a%(2*math.pi)-b%(2*math.pi))%(2*math.pi)-math.pi)
您正在计算子表达式((a % 2pi) - (b % 2pi)) % 2pi)
。由于模数的性质,(a%c - b%c) % c == (a-b) % c
因此您可以省略内部模数。完整的表达式将变为:
abs((a-b) % (2*math.pi) - math.pi)
您绝对应该将结果存储2*math.pi
在局部变量中。这将为您节省一些表查找(全局 formath
然后math
for pi
)。
如果您在循环中使用它,请在循环之前声明局部变量并创建abs
一个局部变量。