Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
NaN kann rauskommen bei diversen ungültigen operationen (auch eine Rechnung mit NaN) und wenn ein Float nicht initialisiert wurde. Ansonsten könntest du mal versuchen, mit dem Debugger schritt für Schritt durchzugehen, wo das auftaucht - wobei vielleicht nen haufen WriteLns und ein Halt, wenn NaN auftaucht hilfreicher ist.
greetings
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Jede Operation mit NaN gibt wieder NaN. Also ich empfehle hier wie Lord Horazont die "Ausgabemethode".
Ich sehe du hast da unten arcsin verwendet. Der arcsin ist nur zwischen -1.0 und 1.0 definiert. Da du aber nur mit endlicher Genauigkeit arbeitest, kann es sein das Berechnungen dir z.B. ein ergebnis wie "1.00001" liefern. Da kommt dann natürlich NaN raus.
Eine weitere Fehlerquelle ist natürlich eine mögliche Division durch Null.
funktioniert nicht... :-/
Und das tritt immer auf wenn mein "auto" an bestimmten stellen auf der Heightmap rumfährt.
Immer wenn es zu steil am Hang steht...
Ich werde nachher mal den Source hochladen, ist noch nicht wirklich viel... aber ich finds nicht, evtl. will sich es jemand angucken...
Ja durch die Funktion isNAN kam ich jetzt auch bis dahin und sah dass da was im argen ist...
Allerdings muss ich erst noch gucken was :-/ werde mich dann wieder melden.
isNAN hat auf jeden fall schon sehr geholfen
Also ich habe hier jetzt mal den Source angehängt.
Irgendwie habe ich das problem, dass
Code:
arcsin(4.1/4)
und zwar dadurch, dass er die "Breite" des autos falsch berechnet. Diese wird immer neu berechnet, dass es wenn er am Berg steht nicht doppelt so breit aussieht zB.
Aber ihr könnt euch ja das mal angucken damit ihr wisst von was ich rede.
Stellt euch einfach mal am Berg schräg hin (Linke Seite - Rechts Seite) muss mehr als 45° sein...
Diese gepostete berechnung ist in 'un_player'
Ich könnte zwar auch newton nehmen, aber ich wollte es halt mal selbst probieren und machen.
Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.