我对计算中的无限数字感到好奇,尤其是PI。

要使计算机渲染一个圆圈,必须了解PI。但是,如果它是无限的呢?

我想这太多了吗?它只会使用圆形值吗?

有帮助吗?

解决方案

从数学上讲,计算机既有限又不连续,因此既不能完全知道PI,也不能正确地呈现一个圆圈。

但是,在数字领域中,它们都不存在,因此足以近似Pi,然后使用它来呈现圆圈,从而导致完全相同的像素,无论如何还是从精确的PI中计算出来的。

无论哪种方式,由此产生的像素不是 真的 一个圆,因为它们是数字点的有限集合,而圆圈是由无限数量的曲线组成的曲线,大多数具有非理性值。

(向我指出,PI通常不用于绘制一个圆圈,但是,用于绘制圆圈的方法与用于表达和/或计算PI值的公式有关仍然有同样的问题)。

其他提示

近似通常就足够了。要“渲染”一个圆,计算机只需要足够好了解PI即可在需要任何分辨率(有限)的情况下准确地渲染。

编辑:正如其他人指出的那样,您甚至不需要PI来渲染一个圆圈。尽管如此,问题的要点是“计算机如何处理诸如PI之类的数字?”他们使用近似值,无论谁使用这些近似值,都必须决定它们是否足够精确地适合给定目的。

您根本不需要PI来绘制一个圆圈。有很多方法可以画一个圆圈。天真的方式是正弦和余弦。

我最常在8位机器上看到的算法是 布雷森汉姆的圈子. 。您甚至不需要浮点数学。

编程语言对PI和类似的“无限”数字使用圆形常数。

为了获得更高的精度,您可以使用迭代算法,这些算法会根据需要进行循环。

计算机只使用良好的PI近似值。

来自MSDN的文章 system.math.pi

该字段的值为3.14159265358979323846。

顺便说一句:PI不是无限的。它是非理性的,这意味着它具有无限数量的非重复小数点。 PI有几种非常短的表达式。 (请参阅 Wikipedia页面 更多细节)

这是PI的奇妙表达:

PI as Integral

在某个地方,我看到一个证据表明,要在宇宙周围绘制一个圆圈以达到毫米的精度,您需要的pi少于100位,换句话说,数字要比有时间太多的人所计算得的数字要少得多(或计算能力太多...)。现在,如果我能找到该证明...(编辑) 找到了

我相信它会将其圆成一个很少的数字,并且很可能是一个常数。如果您使用PHP,这就是PI呈现的方式:

echo pi(); // 3.1415926535898
echo M_PI; // 3.1415926535898

就像您在高中时只需要3.14159一样,计算机只需要太多即可使其相当准确。

无论您是使用方法从 这个网站 或者 另一个.

“渲染”是另一回事。当您具有有限的屏幕分辨率时,完美的π值并不重要。

更新:计算可能是另一回事,与渲染不同。某些应用可能需要比标准双重给定的更高的精度。这取决于问题。

计算机只是使用PI的圆形值,除非当然有一种特殊情况,例如科学计算。例如,在Python中,Pi表示为:

>>> import math
>>> math.pi
3.1415926535897931

您可以在Pythons Interactive解释器中亲自测试它。

Pi不是无限的,这是非理性的,这意味着您无法将其表达为商。它具有无限数量的数字。http://en.wikipedia.org/wiki/proof_that_π_is_irrational

关于计算在这里找到一些信息。http://en.wikipedia.org/wiki/computing_π

不错的页面也是这个http://3.14159265358979323846264626433832795028841971693993751058209749444592.com/

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top