如何确定Pi(π)的准确性

Kri*_*iem 7 c optimization trigonometry lookup-tables floating-accuracy

优化我们正在开发的游戏,我们正在进入每个CPU周期都很重要的阶段.我们使用弧度来计算围绕其他对象旋转的对象的位置,我想在查找表中减少不必要的精度.为此,我们大量使用预定义的Pi.这个Pi有多准确?

所以,我的问题是:

  • 准确度有多准确?
  • 或者甚至更好,如何确定所需的准确度?

mqp*_*mqp 18

您可以将其设置为与您可以存储的任何浮点表示一样准确.使用相同类型的更精确的浮点数执行计算不会花费更长的时间.

准确度通常以有效数字的数量来衡量; 你需要自己决定你感兴趣的精确位数.如果你对pi使用一个不太准确的值,那么该值的不准确性将传播到它所在的其他计算中.

  • 仅使用整个浮点表示的+1.任何更多的东西都会被截断,更少的东西是愚蠢的 - 为什么引入故意错误绝对没有任何好处? (3认同)

ral*_*nja 6

作为比较:我认为NASA使用7位小数精度的pi来进入太空.

首先,我们需要确定您的位置计算需要多精确,即程序中依赖于pi的公式的准确程度.我们需要从那里开始,以了解您需要达到的准确度.

一旦确定,您可以使用或多或少的直接数值分析来确定pi所需的准确度.我可以帮助你,但我需要位置公式来做:)

编辑:我怀疑你的公式是线性依赖于pi,即你没有使用一些模糊的函数f(x,y,z,pi),其中pi是平方或类似的.在这种情况下,公式的准确性是pi精度的一个因子,例如k*eps(pi).否则它基本上是f相对于pi的导数的倍数.不计算所有其他参数f的准确性取决于!

干杯!