Question

Je suis curieux de connaître les nombres infinis en informatique, en particulier Pi.

Pour qu'un ordinateur rende un cercle, il faudrait comprendre Pi. Mais comment peut-il s'il est infini?

Est-ce que je regarde trop là-dedans? Serait-il simplement utiliser une valeur arrondie?

Était-ce utile?

La solution

Mathématiquement, les ordinateurs sont à la fois finis et non continues et ne peuvent donc ni connaître PI complètement, ni rendre correctement un cercle.

Cependant, dans le domaine numérique, aucune de ces éléments n'existe de toute façon, il est donc suffisant pour approximer PI, puis l'utiliser pour rendre approximativement le cercle, ce qui entraînerait exactement les mêmes pixels qui auraient été calculés à partir d'un PI exact de toute façon.

Quoi qu'il en soit, les pixels résultants ne sont pas vraiment Un cercle non plus, car ils sont une collection finie de points numériques et un cercle est une courbe composée d'un nombre infini de points, la plupart avec des valeurs irrationnelles.

(Il m'a été souligné que Pi n'est normalement pas utilisé pour tracer un cercle, ce qui est vrai, cependant, les méthodes utilisées pour tracer un cercle sont liées aux formules utilisées pour exprimer et / ou calculer la valeur de Pi, qui ont encore les mêmes problèmes).

Autres conseils

Une approximation est généralement suffisante. Pour «rendre» un cercle, l'ordinateur n'a qu'à comprendre PI suffisamment bien pour rendre avec précision à n'importe quelle résolution (finie) requise.

Edit: Comme d'autres l'ont souligné, vous n'avez même pas besoin de PI pour rendre un cercle. Pourtant, l'essentiel de la question était "Comment les ordinateurs traitent-ils des nombres comme PI?" Ils utilisent des approximations, et quiconque utilise ces approximations doit décider s'ils sont suffisamment précis dans le but donné.

Vous n'avez pas du tout besoin d'un PI pour dessiner un cercle. Il existe de nombreuses façons de dessiner un cercle. La manière naïve est avec le sinus et le cosinus.

L'algorithme que j'ai vu le plus souvent sur des machines 8 bits était Cercle de Bresenham. Vous n'avez même pas besoin de mathématiques de points flottants pour cela.

Les langages de programmation utilisent une constante arrondie pour PI et des nombres "infinis" similaires.

Afin d'obtenir une précision plus élevée, vous utilisez des algorithmes itératifs qui sont en boucle aussi longtemps que nécessaire.

Les ordinateurs utilisent simplement une bonne approximation de Pi.

De l'article de MSDN sur System.math.pi

La valeur de ce champ est de 3.14159265358979323846.

BTW: Pi n'est pas infini. Il est irrationnel, ce qui signifie qu'il a un nombre infini de décimales non répétitifs. Il existe plusieurs expressions pour PI qui sont très courtes. (voir le Page wikipedia pour plus de détails)

Voici une expression merveilleusement courte pour pi:

PI as Integral

Quelque part, j'ai vu une preuve que pour dessiner un cercle autour de l'univers à la précision du millimètre, vous auriez besoin de moins de 100 chiffres de Pi, en d'autres termes, beaucoup moins de chiffres que ce qui a été calculé par des personnes avec trop de temps sur leurs mains (ou Trop de puissance de calcul ...). Maintenant, si seulement je pouvais trouver cette preuve ... (éditer) trouvé

Je crois que cela le tourne à un très petit nombre, et est très probablement une constante. Si vous utilisez PHP, c'est ainsi que PI rend:

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

Tout comme vous n'avez besoin que de 3.14159 au lycée, les ordinateurs n'ont besoin que de choses pour l'obtenir assez précis.

Une approximation est souvent "assez bonne", que vous l'obteniez en utilisant une méthode de ce site ou un autre.

Le «rendu» est une autre affaire. Lorsque vous avez une résolution d'écran finie, une valeur parfaite de π n'a pas autant d'importance.

MISE À JOUR: Le calcul pourrait être une autre affaire, différent du rendu. Certaines applications peuvent nécessiter une plus grande précision que le double standard. Cela dépend du problème.

Les ordinateurs utilisent simplement des valeurs arrondies de PI, à moins bien sûr, il existe un cas spécial tel que l'informatique scientifique. Par exemple, dans Python Pi est représenté comme:

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

Vous pouvez tester cela par vous-même dans un interprète interactif inactif et Pythons.

Pi n'est pas infini, c'est irrationnel, ce qui signifie que vous ne pouvez pas l'exprimer comme quotient. Il a un nombre infini de chiffres.http://en.wikipedia.org/wiki/poher_that_π_is_irrational

À propos de l'informatique Trouvez quelques informations ici.http://en.wikipedia.org/wiki/Computing_π

Belle page est aussi cecihttp://3.141592653589793238462643383279502884197169399375105820974944592.com/

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top