这是我所拥有的一系列三角形代码。我想知道是否有办法简化它以使其更快。谢谢
abs((a%(2*math.pi)-b%(2*math.pi))%(2*math.pi)-math.pi)
答案 0 :(得分:6)
您正在计算子表达式((a % 2pi) - (b % 2pi)) % 2pi)
。由于modulo (a%c - b%c) % c == (a-b) % c
的属性,因此您可以省略内部模数。完整的表达式将成为:
abs((a-b) % (2*math.pi) - math.pi)
答案 1 :(得分:4)
您绝对应该将2*math.pi
的结果存储在局部变量中。这样可以为您节省一些表查找(全局为math
,然后math
为pi
。
如果你在循环中使用它,在循环之前声明局部变量,并使abs
成为本地变量。