8
votes

PI / chiffres infinis

Je suis curieux des nombres infinis en informatique, en particulier pi.

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

Est-ce que je cherche trop dans ça? Pourrait-il simplement utiliser une valeur arrondie?

pi

20 commentaires

En fait, cela n'utiliserait pas la valeur de PI pour dessiner des cercles du tout. L'équation décrivant un cercle est x ^ 2 + y ^ 2 = r ^ 2 - aucune mention de PI, comme vous pouvez le constater. Pour plus de détails sur la manière dont cela est implémenté efficacement, voir en.wikipedia.org/wiki/midpoint_circle_algorithme


Au fait, PI n'est pas infini. Le mot approprié est "non-terminant" (je pense).


Le mot que vous voulez est transcendental. Méditer à ce sujet.


Transcendantal n'est pas ce que je voulais dire - par exemple, la valeur décimale de 1/3 et la racine carrée de 2 sont "infinies" (dans l'utilisation de l'OP), mais aucun nombre transcendantail.


Donc, mon ensemble de compas comprends Pi? Et ma chaîne avec un crayon à une extrémité et un clou à l'autre comprenne Pi? PI n'est que le rapport de la circonférence d'un cercle à son diamètre. Vous n'avez pas besoin de savoir quoi que ce soit sur PI pour dessiner un cercle.


Je pense que le terme que vous recherchez est une "fraction irrationnelle", c'est-à-dire une personne qui ne peut pas être représentée exactement par un nombre décimal


J'ai vérifié sur Mathworld, et ce n'était pas clair sur ce que le mot que je recherche est, mais ce n'est certainement pas "irrationnel". Encore une fois, 1/3 est un nombre "infini", mais ce n'est pas irrationnel.


Bilan sur ce que dit Pavel, la seule raison pour laquelle un ordinateur aurait besoin d'utiliser PI pour rendre un cercle est si vous essayez de rendre un cercle basé sur une circonférence donnée. Ensuite, le rayon d'un point serait en termes de pi.


Peut-on cesser de dire "infini" s'il vous plaît?


Je ne pense pas que tu aies besoin du mot "fraction". Quel est le numérateur et le dénominateur de la fraction que vous envisagez? Et s'il vous plaît ne dites pas 22/7. :-)


C'est ce qu'on appelle un numéro «continu», décimal ou fraction.


Transcendantal est la meilleure description ici.


"Transcendantatif" n'est pas le meilleur mot, car le problème mentionné peut arriver même si le numéro de sujet n'est pas transcendantal. "Suite" est le techniquement correct pour les nombres réels qui ont ce problème dans la représentation numérique.


Mais si le numéro de sujet est représentable par une fraction, vous pouvez souvent refondrer le code pour utiliser le numérateur et le dénominateur séparément - quelque chose que vous ne pouvez pas faire avec PI sans utiliser d'approximation, il semble donc que le transcendantal devient le point de transcendantal. meilleur.


Il n'y a pas de terme spécial pour les nombres tels que 1/3 , car si un numéro est "infini" dans ce sens ou non évidemment dépend de la base que vous utilisez pour l'exprimer. 1/3 est "infini" dans la base-10 mais pas à la base-3. Et vous ne traitez généralement pas de propriétés de la représentation numérique en particulier de la base; vous traitez avec le nombre lui-même; D'où le manque de besoin de décrire de telles choses. D'autre part, des nombres irrationnels tels que SQRT (2) ou PI sont "infinis" dans n'importe quelle base.


Cependant, pour un meilleur terme, je désignerais un "numéro de terminaison".


J'ai entendu 1/3 appelé une "fraction continue". Bien sûr, cela dépend de la base que vous le représentez.


PI est irrationnel. Transcendantatif oui, mais irrationnel néanmoins.


En fait, j'avais tort de dire "une fraction continue" ci-dessus, comme une fraction continue est autre chose. Je pense que "un nombre décimal continu" est le terme correct. Je ne suis pas sûr de ce que le terme correct est appliqué au binaire.


Vissez-le, revenons simplement à l'appeler infini.


10 Réponses :


7
votes

Une approximation est généralement suffisante. "Rendre" un cercle, l'ordinateur doit seulement comprendre le PI assez bien pour rendre avec précision quelle que soit la résolution (fini) requise.

Edit: Comme d'autres ont souligné, vous n'avez même pas besoin de pi pour rendre un cercle. Néanmoins, l'essentiel de la question était «Comment les ordinateurs traitent-ils des chiffres comme PI?» Ils utilisent des approximations et quiconque utilise ces approximations doit décider si elles sont suffisamment précises pour le but donné.


1 commentaires

Pour rendant un cercle, vous n'utilisez généralement pas PI du tout.



2
votes

3 commentaires

PI n'a pas de modèles décimaux répétés car il est transcendantal, ce qui signifie que non seulement elle est irrationnel (ne peut pas être exprimée comme une fraction de deux entiers), il n'est pas non plus algébrique (ce n'est pas la solution à une équation polynomiale rationnelle).


Ne pas répéter. Il a un nombre infini de chiffres décimaux non nul , mais ils ne se répètent pas. (Voir les commentaires à la question pour le débat sur ce que cela est appelé)


Doh! Écrire "répéter" était une faute de frappe totale. Fixé maintenant comme "non répétée".



1
votes

Je crois que cela l'arrête à un très petit nombre et est probablement une constante. Si vous utilisez PHP, c'est ainsi que PI Renders:

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


1 commentaires

17 chiffres décimaux concerne tout ce que vous pouvez représenter.



1
votes

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

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


2 commentaires

Intéressant: C # rapporte la valeur sous la forme 3.14159265358979323846. Notez les chiffres: 97931 vs. 97932 qui ressemble à quelque chose de plus qu'une erreur d'arrondi.


Seulement environ 17 des chiffres sont significatifs. Le dernier chiffre est un peu plus que le bruit revenant de l'algorithme de conversion binaire à décimal de la plate-forme.



1
votes

Une approximation est souvent "assez bonne", que vous l'obtenez à l'aide d'une méthode de Ce site ou autre .

"Rendu" est une autre affaire. Lorsque vous avez une résolution d'écran fini, une valeur parfaite de π n'a pas d'importance autant.

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


0 commentaires

15
votes

mathématiquement, les ordinateurs sont à la fois finis et non continu et ne peuvent donc pas connaître complètement PI, ni correctement rendu de cercle.

Cependant, dans le domaine numérique n'existe de toute autre manière, il suffit de se rapprocher de PI, puis d'utiliser cela à approximativement au cercle, ce qui entraînerait exactement les mêmes pixels qui auraient été calculés à partir d'un PI exact de toute façon.

de toute façon, les pixels résultants ne sont pas vraiment un cercle, car ils sont une collection finie de points numériques et un cercle est une courbe constituée d'un nombre infini de points, la plupart avec valeurs irrationnelles.

(il m'a été souligné que Pi n'est normalement 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 toujours les mêmes problèmes).


4 commentaires

Je serais curieux de savoir pourquoi le Downvote aléatoire est pour? S'il y a quelque chose qui ne va pas avec ma réponse, dites-moi s'il vous plaît. Mais Afaik, c'est précisément correct, la théorie des calculs mathématiquement et du WRT.


En effet, il s'agit d'une explication parfaitement bonne de haut niveau. Ce qui le rend si bon est qu'il ne s'applique pas simplement aux cercles, mais est efficacement universel.


En fait, étant donné que les humains sont à la fois non discrets et «réels», ils sont techniquement considérés comme pertinents.


Ce serait génial d'avoir une référence à un langage de programmation resp. Quelques détails supplémentaires car la réponse ne couvre que la surface.



2
votes

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

Pour obtenir une précision plus haute, vous utilisez des algorithmes itératifs en boucle aussi longtemps que nécessaire.


1 commentaires

Et ceci - pas le dessin des cercles - était l'essence de la question.



6
votes

Vous n'avez pas besoin de pi du tout pour dessiner un cercle. Il y a plusieurs façons de dessiner un cercle. La voie naïve est avec le sinus et le cosinus.

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


3 commentaires

SIN () et COS () sont généralement calculés typiquement à l'aide de PI ou avec E ou des tables de valeurs elles-mêmes calculées à l'aide de l'une ou des autres. Oui, il y a des moyens autour de cela, mais les méthodes les plus directes utilisent généralement PI.


Sine et Cosine sont liés à E, PI et numéros imaginaires, mais je suis en désaccord que c'est typique qu'ils sont calculés à partir de ceux-ci, ou des tables représentant ceux-ci. Je dirais que cela est typique du sinus et du cosinine à calculer par une expansion de la série qui converge rapidement. Mais le langage C ne dit pas comment ils devraient être calculés. Vous pouvez trouver des extensions Taylor qui calculent les fonctions circulaires sans aucune référence à PI ou à E. Bien que, comme je l'ai dit, toutes ces entités sont interdépendantes.


Mes excuses, vous êtes correct Nosredna. Dans mon dotage, je semble avoir oublié comment la série Taylor, et al, sont construites.



1
votes

PI n'est pas infini qu'il est irrationnel, ce que vous ne pouvez pas l'exprimer comme quotient. Il a un nombre infini de chiffres. http://fr.wikipedia.org/wiki/roph_that_π_is_iralation

À propos de l'informatique Trouvez des informations ici. http://fr.wikipedia.org/wiki/computeting_π

belle page est aussi ceci http://3.141592653589793238462643383279502884197169399375105820974944592.com/


0 commentaires

2
votes

Quelque part où j'ai vu une preuve que pour dessiner un cercle autour de l'univers à la précision de millimètre, vous auriez besoin de moins de 100 chiffres de PI, en d'autres termes, beaucoup moins de chiffres que ceux calculés par des personnes trop de temps sur leur mains (ou trop de puissance de calcul ...). Maintenant, si seulement je pouvais trouver cette preuve ... (éditer) trouvé


1 commentaires

Ouais, mais si tu voulais les antialias?