Question

L'optimisation d'un jeu que nous développons, nous courons dans la phase où chaque cycle CPU gagné compte. Nous en utilisant radians pour le calcul de la position des objets tournant autour d'autres objets et je veux couper la précision inutile dans mes tables de consultation. Pour cela, nous utilisons lourde d'un Pi prédéfini. Comment cela Pi doit être précis?

Alors, ma question est:

  • Quelle est la précision assez précis?
  • Ou mieux encore, comment déterminer la précision nécessaire?
Était-ce utile?

La solution

Vous pourriez tout aussi bien le rendre aussi précis que quelle que soit la représentation à virgule flottante, vous pouvez stocker est. Il ne prendra pas plus de temps pour effectuer des calculs en utilisant un nombre à virgule flottante plus précise du même type.

La précision est généralement mesurée en nombre de chiffres significatifs; vous devez décider par vous-même combien de chiffres de précision qui vous intéresse. Si vous utilisez une valeur plus précise pour pi, l'inexactitude de cette valeur se propage aux autres calculs qu'il est dans.

Autres conseils

En comparaison: Je pense que la NASA utilisation pi avec précision 7 décimales pour pouvoir accoster dans l'espace

.

Tout d'abord, nous devons déterminer comment les calculs de votre position précise doivent être, à savoir comment les formules dans votre programme précis qui dépend de pi doivent être. Nous devons commencer par là afin de connaître le degré de précision pi que vous devez y parvenez.

Une fois que cela a été déterminé, vous pouvez probablement utiliser plus ou moins analyse numérique avant droite pour déterminer une bonne précision dont vous avez besoin pour pi. Je peux vous aider, mais je dois les formules de position pour le faire:)

Edit: Je pense que vos formules dépendent linéairement de pi, à savoir que vous n'utilisez pas une fonction obscure f (x, y, z, pi) où pi est carré ou similaire. Dans ce cas, la précision de votre formule est un facteur fois la précision de pi, par exemple k * eps (pi). Sinon, il est fondamentalement un facteur fois la dérivée de f par rapport à pi. Sans compter l'exactitude de tous les autres paramètres f dépend!

Vive!

Cela dépend de combien de chiffres significatifs que vous avez dans votre calcul. Compte tenu de la formule

C = pi * d

si vous voulez savoir combien de pouces dans la circonférence d'un cercle un mile de diamètre, vous auriez besoin de six chiffres de pi pour conserver la précision que vous voulez , car il y a 63360 pouces dans un mile, et il y aurait 199,051 pouces de la circonférence. Comme il y a six chiffres significatifs dans la réponse, j'ai besoin de six chiffres de pi pour calculer la précision nécessaire.

3,14 * 63360 = 198950,4

3,142 * 63360 = 199077,12

3,1416 * 63360 = 199051,776

3.14159 * 63360 = 199051,1424

Comme vous pouvez le voir, je suis la bonne réponse dans ce cas, avec seulement 5 chiffres de pi, mais ça va pas toujours être le cas. Vous avez besoin d'au moins autant de chiffres de pi que vous avez des chiffres significatifs à assurer vous avez assez de précision.

Si vous précalculer et le stockage, vous pouvez simplement utiliser la bibliothèque mathématique sur votre système pour le calculer un moment aussi précisément que possible. Une bonne option est:

double PI = (16.0 * atan(1/5)) - (4.0 * atan(1/239));

Cela vous donnera une valeur assez précise pour PI que vous pouvez calculer au démarrage et de réutiliser au besoin. Il est difficile d'obtenir une version plus précise que ce qui est facilement réutilisable.

Il est pas tout à fait clair ce que vous faites. Vous cherchez des coordonnées basées sur un angle? Dans ce cas, la précision de Pi n'a pas d'importance du tout. L'important est la taille de la table de consultation et vous aurez bien sûr précalculer avec la plus grande précision possible. De plus la précision ne coûte pas le temps d'exécution supplémentaire en plus que vous envisagez de modifier le type de données du simple au double.

Si vous êtes pré-calcul de la valeur rendent aussi précis que possible de stocker, mais pour obtenir la vraie idée de ce que la précision en fait nécessaire, vous devez regarder vos formules et l'exactitude des autres composants et que vous assurer que la précision vous avez pour pi correspond à celle des autres composants. Analyse numérique vous donnera plaenty d'indices.

Bible dit valeur de Pi est 3 ( lien ). Alors bien sûr, vous devez simplement utiliser cette :)

nouvelle formule de pi

Pi=2.m.sin(90/m)

Pi=3.m.sin(60/m)

Pi=4.m.sin(45/m)

Pi=5.m.sin(36/m)

Pour des millions à travers la valeur de XP calculatrice libre PI, XM, ... .. recommander m = 1.0E + 10000000 au succès de la calculatrice, vous devez installer netframework2.0

http://harry-j-smith-memorial.com/index.html

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