Frage

Wenn wir ein von uns entwickeltes Spiel optimieren, stoßen wir in die Phase, in der jeder CPU -Zyklus gewonnen hat. Wir verwenden Radians für Positionsberechnungen von Objekten, die um andere Objekte herum kreisen, und ich möchte die unnötige Genauigkeit in meinen Suchtabellen senken. Dafür nutzen wir einen vordefinierten PI. Wie genau sollte dieser Pi sein?

Meine Frage ist also:

  • Wie genau ist genau genug?
  • Oder noch besser, Wie kann man die erforderliche Genauigkeit bestimmen?
War es hilfreich?

Lösung

Sie können es genauso gut machen, wie es auch immer, wie auch immer Sie speichern können. Es dauert nicht länger, Berechnungen mit einer genaueren Gleitkommazahl desselben Typs durchzuführen.

Die Genauigkeit wird im Allgemeinen als Anzahl der signifikanten Ziffern gemessen; Sie müssen selbst entscheiden, wie viele Ziffern der Genauigkeit Sie interessiert sind. Wenn Sie einen weniger genauen Wert für PI verwenden, wird die Ungenauigkeit dieses Wertes auf die anderen Berechnungen ausbreitet, in denen es sich befindet.

Andere Tipps

Zum Vergleich: Ich denke, die NASA verwenden PI mit 7 Dezimalgenauigkeit, um in den Weltraum anzudocken.

Zunächst müssen wir feststellen, wie genau Ihre Positionsberechnungen sein müssen, dh, wie genau die Formeln in Ihrem Programm, die von PI abhängt, sein müssen. Wir müssen dort beginnen, um zu wissen, wie genau PI Sie benötigen, um dies zu erreichen.

Sobald dies ermittelt wurde, können Sie wahrscheinlich mehr oder weniger direkte numerische Analysen verwenden, um festzustellen, wie gut Sie für PI benötigen. Ich kann dir dabei helfen, aber ich brauche die Positionsformeln, um das zu tun :)

Bearbeiten: Ich vermute, dass Ihre Formeln linear von PI abhängig sind, dh Sie verwenden keine dunkle Funktion F (x, y, z, pi), bei der PI quadratisch oder ähnlich ist. In diesem Fall ist die Genauigkeit Ihrer Formel die PI -Genauigkeit, z. B. K*eps (PI). Ansonsten ist es im Grunde genommen ein Faktorzeiten der Ableitung von F in Bezug auf PI. Die Genauigkeit aller anderen Parameter f hängt nicht davon ab!

Prost !

Es hängt davon ab, wie viele wichtige Ziffer Sie haben Ihre Berechnung. Angesichts der Formel

C = pi * d

Wenn Sie wissen möchten, wie viele Zoll im Umfang eines Kreises Eins Meile Mit einem Durchmesser benötigen Sie sechs Ziffern PI, um die gewünschte Genauigkeit zu erhalten, da es 63.360 Zoll in einer Meile gibt und der Umfang von 199.051 Zoll enthalten wäre. Da die Antwort sechs signifikante Ziffern enthält, brauche ich sechs Ziffern PI, um sie auf die erforderliche Genauigkeit zu berechnen.

3.14 * 63,360 = 198950.4

3.142 * 63,360 = 199077.12

3.1416 * 63,360 = 199051.776

3.14159 * 63,360 = 199051.1424

Wie Sie sehen können, habe ich in diesem Fall die richtige Antwort mit nur 5 Ziffern PI erhalten, aber das wird nicht immer der Fall sein. Sie benötigen mindestens so viele Ziffern PI wie Sie erhebliche Ziffern haben dafür sorgen Sie haben genug Präzision.

Wenn Sie es vorzusagen und speichern, können Sie die Mathematikbibliothek in Ihrem System nur so genau wie möglich berechnen. Eine gute Option ist:

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

Dies gibt Ihnen einen ziemlich genauen Wert für PI, den Sie beim Start berechnen und nach Bedarf wiederverwenden können. Es ist schwierig, eine genauere Version zu erhalten als die, die leicht wiederverwendbar ist.

Es ist nicht ganz klar, was Sie tun. Suchen Sie nach einem Winkel nach up -Koordinaten? In diesem Fall spielt die Genauigkeit von PI überhaupt keine Rolle. Wichtig ist die Größe der Nachschlagtabelle und Sie werden es natürlich mit der höchstmöglichen Genauigkeit vorzusagen. Eine weitere Genauigkeit kostet keine zusätzliche Ausführungszeit, außer dass Sie darüber nachdenken, den Datentyp von Single auf Doppel zu ändern.

Wenn Sie den Wert vorab kalkulieren PI entspricht dem für andere Komponenten. Numerische Analysen geben Ihnen Plaents.

Bible sagt, der Wert von PI sei 3 (Verknüpfung). Also sollten Sie das natürlich einfach verwenden :)

Neue Formel für 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)

Für Millionen über den Wert von PI Free Calculator XP, XM,… .. Empfehlen Sie M = 1,0E+10000000 dem Erfolg des Taschenrechners, die Sie für die Installation von NetFramework2.0 benötigen müssen

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top