请帮我简化一下这个表达方式

时间:2013-07-03 10:59:51

标签: lua trigonometry

这是我所拥有的一系列三角形代码。我想知道是否有办法简化它以使其更快。谢谢

abs((a%(2*math.pi)-b%(2*math.pi))%(2*math.pi)-math.pi)

2 个答案:

答案 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,然后mathpi

如果你在循环中使用它,在循环之前声明局部变量,并使abs成为本地变量。