DGL
https://delphigl.com/forum/

@ Physik-Engine
https://delphigl.com/forum/viewtopic.php?f=14&t=3588
Seite 1 von 3

Autor:  Flash [ Di Dez 21, 2004 18:05 ]
Betreff des Beitrags:  @ Physik-Engine

Also Respekt mein guter! Da hast du dir ja mal ne nicht ganz Oberflächliche Aufgabe ausgesucht. Wenn du denn Code vernünftig aufbaust (Mit Newton und vor allem OpenGL hast du ja gute Vorbilder) kann man damit vielleicht sogar arbeiten.
Der hintergrund deiner Forschung/Arbeit wird dir bei einem Studium im Bereich Maschienenbau bzw. Die Informatikseite des Maschienenbaus oder Physik sicherlich weiterhelfen.

Also Respekt nochmal. DIe Aufgabe is bestimmt sehr heftig und Zeitintensiv.

Autor:  geo [ Di Dez 21, 2004 19:22 ]
Betreff des Beitrags: 

Mein Vorteil ist denke ich, dass mir auch Komplexere Physikalische probleme leicht von der Hand gehen (Ich werde dass denn auch studieren).

Vom Aufbau einer professionellen Engine hingegen habe ich überhaupt garkeine Ahnung... Das ganze wird also eventuell sehr unkonventionel. Habe aber schon mehrere Größere programme mit vergleichbarem Umfang geschrieben.
Aber ich werde mir sehr viel Mühe geben, dass überschaubar und verstämdlich zu gestalten.

Ausserdem sind schnelle Lösungen von Kollisionsabfragen wirklich schwierig finde ich. Ich werde daher zunächst nur Kugeln als Primitiven nehmenm, da ich nicht einfach Codeteile ohne Verständniss übernehmen möchte (Mann kann dann mehrere Kugeln zu einer "Hülle" kombinieren). Als nächstes wären dann Zylinder und solche zum Kreis gedrehten Zylinder realistisch und sinnvoll denke ich (Und Boxen würde ich eigentlich gerne intigrieren).

Naja wird halt nicht so umfangreich wie Newton.

Ich bin aber schon selbst gespannt, wie gute performance ich erreichen werde. Morgen werde ich mich an die ersten Zeilen der Physik-Engine machen (der Aufbau u.s.w sind schon weitesgehend durchgeplahnt).

Autor:  LarsMiddendorf [ Di Dez 21, 2004 21:01 ]
Betreff des Beitrags: 

Ich bin auch mal positiv gespannt auf die Ergebnisse und hoffe das man auch Boxen und den typischen Kistenstapel sehen wird. Sicherlich eine gute zusätzliche Lernleistung sich noch in der Schule mit diesem nicht ganz einfachen Thema zu beschäftigen.

Autor:  rswm [ Do Dez 30, 2004 23:22 ]
Betreff des Beitrags: 

wies bis jetzt klingt is schon mal ne schlecht *daumen hoch*

is zwar keine newton .... aber trotzdem respekt !!!!

Autor:  Flash [ Fr Dez 31, 2004 00:02 ]
Betreff des Beitrags: 

Zitat:
is zwar keine newton ....

Klingt bisl abwertend :? Aber ich weiß wie ers meint...

Also ich bin auch recht angetan von dem was du schreibst...Ich hab mich zwar mit Physikengines bisher noch gar net beschäftigt aber schonmal DaumenHoch für die Anstrengungen, die du da treibst.

Autor:  rswm [ Fr Dez 31, 2004 01:27 ]
Betreff des Beitrags: 

Zitat:
is zwar kein newton


jaja der flash weiss wie ichs mein, soll auf keinen fall abwertend sein, hab da lange überleg, aber anders isses mir ne eingefallen.

hab selbst mal mit phy rumgespielt und naja respekt, das de soweit gekommen bist !!!!

Autor:  geo [ Fr Dez 31, 2004 12:42 ]
Betreff des Beitrags: 

Dankeschöööön.

Ich hoffe, dass ich bald ne Demo drin habe, sonst bekommt mann ja eh schwer nen eindruck.
Und ich glaube, wenn ich mal Zeit habe, muss ich mir Newton mal angucken :-)

Autor:  Billi Berserker [ Fr Jan 14, 2005 20:07 ]
Betreff des Beitrags: 

Also die Demo sieht echt gut aus. :)
Was ich ziemlich erstaunlich finde ist das die Framerate ziemlich Konstant ist.
Streß test 1 und 2 laufen bei mir mit 34,88984954 fps (schwankungen in den Kommastellen)
Selbst beim Aufprall ändert sich absolut nichts an den fps :)
Kann natürlich auch daran liegen das die CPU bei der Demo mit nicht viel mehr belastet ist ;)

Autor:  KidPaddle [ Fr Jan 14, 2005 20:40 ]
Betreff des Beitrags: 

Auch bei mir läuft es auf eine FX5750 mit ca. 35 FPS. Rechner war ein 1.4 GHz Intel P4 mit 640MB Ram. Mein Respekt.

Gruß
KidPaddle

Autor:  rswm [ Fr Jan 14, 2005 23:51 ]
Betreff des Beitrags: 

ihr habts gut, bei mirn schwankt die fps zw. 75 und 25 ...
und rechenzyklen pro frame (oder wie das war) beim stresstest2 hab ich 1 ...

trotzdem erstmal einen großen respekt an dich !!!!

Autor:  geo [ Sa Jan 15, 2005 11:22 ]
Betreff des Beitrags: 

Also die CPU dürfte konstant bei 100 % laufen

Mann kann natürlich auch einen Rechenschritt pro Bild, also bei 35 fps 35 Rechenschritte berechnen lasse.

Aber, da meine Kollisionsberechnung sehr kleine Zeitschritte verlangt, habe ich es in der Demo so gelöst, dass das Programm nach jedem Frame (anhand der gemessenen Rechen und Renderzeiten) abschätzt, wie viele Rechenschritte es machen muss, damit der nächste Frame exakt 1/35 Sekunde dauert.

Es werden also Pro Bild je nach CPU und Scene zwischen mehreren 1000 oder halt nur 5 oder 20 Rechenschritte ausgeführt (mal die FPS Zahl macht entsprechend viele Rechenschritte für die Physik-Engine pro Sekunde).

Ein Rechenschritt besteht aus zwei Zyklen:
1. Berechnung aller momenthan wirkenden Kräfte und Drehmomente (durch Kollision, Gravitation, Reibung usw)
2. Berechung der neuen Geschwindigkeiten
(v(t+1/2*dt)=v(t-1/2*dt)+dt*a(t))
und der neuen Positionen
(s(t+dt)=s(t)+v(dt+1/2*dt)
...
...
(Dazwischen könnte der Benutzer beliebige zusätzliche Kräfte "manuell" auf die Körper wirken lassen).

Code:
  1. procedure TGLForm.ApplicationEventsIdle(Sender: TObject; var Done: Boolean);
  2.   ...
  3. begin
  4.   ...
  5.   for i := 1 to bpf do begin  //  Schleife für die Berechnungen Pro Frame
  6.     Phy.CalculateForces;  //  Schritt 1
  7.     Phy.CalculatePositions(tr/bpf*tf);  //  Schritt 2
  8.   end;
  9.   ...
  10.   Gra.BeginRenderModels;  
  11.     ...  //  Rendern durch Grafik-Engine
  12.   Gra.EndRenderModels;
  13.   ...
  14.   SwapBuffers(DC);
  15.   ...
  16. end;


Eventuell werde ich demnächst auch eine genaueres Iteratiosverfahren (Runge-Kutter oder so) testen...

Probleme mit der Darstellung gab es nicht? Das freut mich doch :)

Autor:  Speedmaster [ Fr Feb 04, 2005 11:55 ]
Betreff des Beitrags: 

Also ich finde deine Engine hat sehr gute Ansätze, und läuft auf meinem PC zimlich schnell.
Wie ist das den gedenkst du später einmal die Engine als OpenSource ins net zu stellen oder in DLL's hochzustellen?

Autor:  geo [ Sa Feb 05, 2005 15:07 ]
Betreff des Beitrags: 

Die gibts bald als open source :-) Wüsste nicht was dagegen sprocht, ich glaube nicht, dass da sachen drin stehen, die man sonst nicht finden könnte...
Außerdem finde ichs blöd, das es sowas sonst so selten open source gibt!

Autor:  Speedmaster [ So Feb 06, 2005 12:07 ]
Betreff des Beitrags: 

Naja, ich finde an Newton die Performance nicht gut!

Autor:  Kyro [ Sa Mär 26, 2005 16:37 ]
Betreff des Beitrags: 

hab noch nen interessanten effekt für dich:
Auftrieb!

sieht hammer aus wenn z.B nen leeres metallfass ins wasser fällt (bei far cry kommt das immer so geil ^^)
auch angeseilte objekte machen bestimmt gut eindruck! (z.B pendel)

Seite 1 von 3 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/