mboost-dp1

ODE stabilitet


Gå til bund
Gravatar #1 - Mort
24. maj 2009 18:36
I denne kontekst betyder ODE Open Dynamics Engine, hvilket er en 3D fysik engine.

Efter at have brugt PhysX enginen i noget tid, besluttede jeg mig for at det var for fejlfyldt et library og det var besværligt at brugerne skulle have runtime'en installeret for at bruge det.

I stedet kastede jeg mig over ODE, som er open source og gratis. Desværre er der ikke noget officielt forum hvor man kan stille de dumme spørgsmål, så nu forsøger jeg mig det sted hvor jeg kan finde flest nørder per kubikmeter...

Jeg har desværre haft meget svært ved at få mine simulationer til at forblive stabile. For ODE's tilfælde betyder det at jeg får stack overflows, når jeg kalder dWorldQuickStep(). Jeg har ellers læst i den officielle dokumentation at hvis blot jeg bruger dWorldQuickStep() i stedet for dWorldStep() så er der ikke noget problem med stack overflows.

Mine timesteps bliver ustabile allerede ved 0.02 sekunders increments, hvilket i mine øjne ikke kan være rigtigt. 50 beregninger i sekundet burde være mere end rigeligt for at have en stabil simulation, specielt med de relativt små krafter som jeg har puttet på mine bodies.

Er der nogen af jer som har god erfaring med at bruge ODE, uden at der nogensinde opstår stack overflows og i så fald hvad har i gjort for at stabilisere simulationen ?
Gravatar #2 - illishar
25. maj 2009 13:56
Sørgelig historie. Man skulle ellers tro at PhysX var ved at være moden.
Hvad går din opgave ud på, siden at det ikke er nok at finde din Schaum-bog frem og gå amok i noget matematik-rus?
Hvad er din opstilling? Prøv at post det relevante kode.
Gravatar #3 - Mort
25. maj 2009 18:21
Min opgave går ud på at indpakke en fysik engine på en måde så den komplimenterer min grafik engine. Det betyder at jeg ikke på forhånd kan definere hvad den skal bruges til, da det er helt op til brugeren af min grafik engine.

Jeg har aldrig ejet en Schaum bog, så sådan en kan jeg ikke finde frem. Jeg ville foretrække hvis jeg kunne bruge en eksisterende fysik engine til mine beregninger, i stedet for at skulle genopfinde hjulet. Jeg vil hellere bruge min tid på grafik enginen og så bruge en eksisterende fysik engine til at foretage de fysik beregninger der skal til.

Det vil ikke give mening at poste noget specifik kode, da det er et helt generelt problem der opstår hvis man tager en vilkårlig af de eksempel projekter eller tutorials der følger med til ODE og så tilføjer 500 boxes til scenen og ryster lidt rundt på dem.
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login