DGL
https://delphigl.com/forum/

Articulated Rigid Bodies
https://delphigl.com/forum/viewtopic.php?f=13&t=8455
Seite 1 von 1

Autor:  Coolcat [ Sa Jun 13, 2009 13:59 ]
Betreff des Beitrags:  Articulated Rigid Bodies

Ich möchte hier mal kurz mein aktuelles Projekt für die Uni vorstellen. Die Aufgabe ist es im wesentlichen zusammen mit einem Kommilitonen eine einfache Physik-Engine zu schreiben.

Rigid Bodies heißt soviel wie "steife Körper".
Articulated heißt soviel das diese Körper durch "Gelenke", auch Joints genannt, miteinander verbunden sind.

Für die Kollision beliebiger (auch nicht konvexer) Körper untereinander wird eine Point-Sampling-Technik mit einer Signed-Distance-Function verwendet. Der Vorteil ist, dass dies auch mit sehr komplexen Objekten funktioniert. Der Nachteil ist, dass die Objekte auch eine gewisse Komplexität haben müssen damit es halbwegs gut aussieht. Neben den RidigBodies sind auch bereits statische Joints sowie Hinge-Joints implementiert.
Die Performance ist im Augenblick noch ziemlich schlecht. Beide Beispiel-Videos konnten nicht in Echtzeit gerendert werden, wobei allerdings auch nur ein CPU-Kern mit 2.0Ghz benutzt wird.

Das Partikelsystem ist an die Kollision gekoppelt. Bei jeder Kollision zweier Objekte werden Partikel entsprechend der Reibung der Objekte aneinander emittiert.

Das Projekt ist abgeschlossen und wird, zumindest in dieser Form, nicht weiter geführt.

Screens:
  • Bild Bild
    (zum vergrößern anklicken...)
Videos:
  • Knoten Kollision (Youtube)
    einige nicht-konvexe RidigBodies fallen aufeinander.
  • Walker (Youtube)
    Simulation des ersten Gehapparates, erfunden von P. L. Tschebyscheff. Auf der Pariser Weltausstellung 1878 war diese Maschine eine große Sensation!
    Die Konstruktion besteht aus 16 Hinge-Joints und zwei Motoren. Desweiteren verbinden zwei statische (=unbewegliche) Joints jeweils diagonal die Beine der Maschine.
Paper:
Projektdaten:
  • C++ / OpenGL / Linux
    • Qt 4
    • lib3ds
    • libpng
  • ca. 9800 Zeilen-Code, davon:
    • 2400 Zeilen eigene Mathe-Funktionen und -Klassen (etwa die Hälfte aus der "alten" Engine)
    • 3100 Zeilen Physik
    • 700 Zeilen Unit-Tests
  • Partikelsystem (übernommen aus meiner "alten" Engine, siehe Wiki)
  • Terrainengine (übernommen aus meiner "alten" Engine, siehe Wiki)
  • Milestones
    • 14.4.2009 Kick-Off
    • 22.4.2009 Projektplan vorlegen
    • 15.5.2009 Rigid Bodies mit Contact/Collision
    • 19.6.2009 Articulated Rigid Bodies (also mit Joints)
    • 24.7.2009 Demo fertig
    • 30.7.2009 Präsentation

Autor:  Coolcat [ Do Jul 02, 2009 15:24 ]
Betreff des Beitrags: 

Changelog:
- Joints sind implementiert (Hinge-Joint und Static-Joint)
- neues Video
- weiteres Paper verlinkt
- ca. 500 Zeilen Code mehr

Autor:  Coolcat [ Do Jul 30, 2009 20:01 ]
Betreff des Beitrags: 

Changelog:
- Projekt abgeschlossen
- zwei Screenshots
- Videos durch aktuelle ersetzt

Autor:  Coolcat [ Sa Mär 26, 2011 13:17 ]
Betreff des Beitrags:  Re: Articulated Rigid Bodies

Videos auf Youtube hochgeladen. Screenshots liegen nun auf neuem Webspace.

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