首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何确定Pi (π)的精度

如何确定Pi (π)的精度
EN

Stack Overflow用户
提问于 2009-05-20 15:59:05
回答 8查看 1.7K关注 0票数 7

优化我们正在开发的游戏,我们将进入每一个CPU周期都获胜的阶段。我们使用弧度来计算围绕其他物体旋转的物体的位置,我想在查找表中减少不必要的准确性。为此,我们大量使用了预先定义的Pi。这个Pi应该有多精确?

所以,我的问题是:

  • 有多精确?
  • 或者更好的是,如何确定所需的精度?
EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2009-05-20 16:02:15

你最好让它和你能存储的浮点表示一样精确。使用相同类型的更精确的浮点数进行计算不会花费更长的时间。

准确性通常是以重要数字的数量来衡量的;您需要自己决定您感兴趣的准确数字的数量。如果对pi使用精度较低的值,则该值的不精确性将传播到它所在的其他计算中。

票数 18
EN

Stack Overflow用户

发布于 2009-05-20 16:09:36

作为一个比较:我认为美国宇航局使用圆周率7小数点的精度,能够停靠到太空。

首先,我们需要确定你的位置计算需要有多精确,也就是说,你的程序中依赖于π的公式有多精确。我们需要从这里开始,以便知道你需要多精确的π才能达到这个目的。

一旦确定了这一点,你就可以或多或少地使用直接的数值分析来确定你需要多好的π精度。我可以帮你,但我需要职位公式来做:)

编辑:我怀疑你的公式是线性依赖于π的,也就是说,你没有使用某个模糊函数f(x,y,z,pi ),其中π是平方的或类似的。在这种情况下,公式的精度是π精度的因子,例如k*eps( pi )。否则,它基本上是一个因子乘以f对π的导数。不包括所有其他参数的精度f取决于!

干杯!

票数 6
EN

Stack Overflow用户

发布于 2009-05-20 16:52:54

这取决于您的计算中有多少有效位数。给出公式

C= pi *d

如果你想知道一个直径一英里的圆周有多少英寸,你需要六位数的圆周率来保持你想要的精度,因为一英里有63,360英寸,而圆周有199,051英寸。因为答案中有六个有效数字,所以我需要六位圆周率来计算到所需的精度。

3.14 *63 360= 198950.4

3.142 *63 360= 199077.12

3.1416 *63 360= 199051.776

3.14159 *63 360= 199051.1424

正如你所看到的,在这个例子中,我得到了正确的答案,只有5位数的pi,但情况并不总是这样。为了确保足够的精度,您至少需要和重要数字一样多的pi数字。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/888807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档