Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Simple 2D Physik (https://www.delphipraxis.net/154213-simple-2d-physik.html)

sportkeks 1. Sep 2010 09:42

Simple 2D Physik
 
Hallo ich habe eine frage zur physik berechnung
undzwar geht es darum wie ich es korrekt berechne wenn Rechtecke miteinander collidieren
das ganze wird von oben gesehen d.h. es wirkt keine schwerkraft sondern nur ein reibungswiederstand der die bewegung langsam abbremmst.
kann mir dort jemand eine simple beispielrechnung zeigen oder kann mir sogar jemand eine fertige und einfach zu bedienende 2d physik engine empfehlen ?
ich habe mir schon einige angesehen aber die meisten sind für mich zu kompliziert aufgebaut und funktionieren von oben nach unten (schwerkraft und so^^)

schonmal danke im vorraus gruß Keks

blackfin 1. Sep 2010 09:54

AW: Simple 2D Physik
 
Zitat:

kann mir sogar jemand eine fertige und einfach zu bedienende 2d physik engine empfehlen
Chipmunk 2D ist ziemlich mächtig.

Nen Delphi-Port gibts hier:
http://www.par-com.net/~paulr/GLScene/chipmunkdemo.zip

Die Muhkuh 1. Sep 2010 10:01

AW: Simple 2D Physik
 
Oder die Newton Physics Engine: http://www.saschawillems.de/?page_id=75

sportkeks 1. Sep 2010 10:20

AW: Simple 2D Physik
 
danke für die schnellen antworten aber ich glaube diese engines sind schon viel zu viel des guten
ich brauche wirklich nur etwas sehr sehr einfaches
das ganze muss am ende über netzwerk laufen und da gillt desto einfacher die engine desto besser lässt sie sich für sowas anpassen.

blackfin 1. Sep 2010 10:22

AW: Simple 2D Physik
 
Beschreib doch mal (eventuell mit einer kleinen Skizze), was für eine Kollision für dich wichtig ist und wie sich die Rechtecke bewegen, dann kann man sicher was finden :)

jfheins 1. Sep 2010 10:32

AW: Simple 2D Physik
 
Eine Skizze wäre echt gut.
Außerdem hab' ich noch ein paar Fragen:
- Wie dürfen sich die Rechtecke bewegen? In einer Ebene müssten sie 3 Freiheitsgrade haben (2 x Translation + 1 x Rotation) - es sei denn sie sind immer an den Achsen orientiert oder sowas.
- Wie sind die Rechtecke in deinem Programm gespeichert? Als Klassen? records?

sportkeks 1. Sep 2010 10:41

AW: Simple 2D Physik
 
eine typische beispiel situation wäre in etwa das:

http://spk2.sp.ohost.de/spkskrempel/simplecollison.jpg

objekt 1 steht, objekt 2 bewegt darauf zu und kollidiert, objekt 1 wird etwas nach links gedreht und wird von objekt 2 ein stück mitgeschoben bis beide zum stillstand kommen
(also beide objekte sind frei beweglich keine festen achsen oder so)

das gleiche muss auch noch so funktionieren das objekt 1 statisch ist und objekt 2 praktisch gegen eine wand fährt.

ja das wars eigl. mehr muss die engine gar nicht können

umso einfacher desto besser wäre es :D

alle objekte sind als klasse in einer Tobjektlist enthalten mit allen informationen die man zur berechnung benötigen wird

Gruß Sportkeks :D

blackfin 1. Sep 2010 10:50

AW: Simple 2D Physik
 
Wenn wie in deiner Skizze das Rechteck 2 auf 1 aufschlägt, soll 1 dann in deiner Engine gedreht werden (Rechteck kippt) oder nur verschoben?

sportkeks 1. Sep 2010 10:55

AW: Simple 2D Physik
 
es wird gedreht (gekippt)
rechteck 2 wird auch etwas von seiner richtung abgebracht

blackfin 1. Sep 2010 11:02

AW: Simple 2D Physik
 
Dann solltest du vielleicht doch lieber ChipMunk oder Newton verwenden :-)
So "simpel" ist das dann gar nicht mehr, da du schon ziemlich viele physikalische Gegebenheiten brauchst:
- Einschlagspunkt, Einschlagsgeschwindigkeit, Kraftvektoren, Masse usw.

Und das ist mit einem kurzen Stück Beispiel-Code definitiv nicht mehr zu demonstrieren / erledigen :D


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:08 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz