RegistrierenRegistrieren   LoginLogin   FAQFAQ    SuchenSuchen   
computerspiel mit starren körpern (2d kollisionen)
 
Neue Frage »
Antworten »
    Foren-Übersicht -> Mechanik
Autor Nachricht
marek
Gast





Beitrag marek Verfasst am: 20. Aug 2005 16:40    Titel: computerspiel mit starren körpern (2d kollisionen) Antworten mit Zitat

hallo!

ich will ein computerspiel machen,
wo man sich seine 2dimensionalen gefährte
selber malen und dann benutzen kann.
die sollen dann kollidieren.
d.h. ich will berechnen,
wie zwei starre körper sich bei einer kollision verhalten.

also ich weiss schon,
wie sie auf kraftwirkung an beliebigen stellen reagieren.
aber mit der kollision klappts irgendwie nicht, hab schon viel probiert...

ich benutze als variablen:

x-,y-geschwindigkeit
winkelgeschwindigkeit
masse(translationsträgheit), "moment of inertia"(rotationsträgheit)

ich hab schon im internet gesucht,
fast überall wissen die leute nix und verweisen auf physikboard,
darum hoffe ich, dass ihr mir helfen könnt.

mfg, marek
Gast






Beitrag Gast Verfasst am: 21. Aug 2005 18:25    Titel: Antworten mit Zitat

beliebige "Körper", das wird nicht einfach Augenzwinkern
Winterheart



Anmeldungsdatum: 11.03.2005
Beiträge: 74
Wohnort: bei München

Beitrag Winterheart Verfasst am: 21. Aug 2005 22:56    Titel: Antworten mit Zitat

Da du je eh ein Computerprogramm schreibst, und beliebige Körper haben willst, solltest du auch den nummerischen Lösungsweg gehen. Ich glaube die Finite-element-methode wäre da ein Ansatz.
D.h. dein Körper wird in viele kleine Quadrate und Dreiecke unterteilt und durch nummerische Integration dann Masse, Trägheitsmoment, etc bestimmt.
Die Lösung der Kollision erfolgt dann mit einem expliziten Zeitintegrationslöser. Soll heißen, es wird in sehr sehr kleinen Zeitintervallen, Impuls, Energie, Geschwindigkeit, etc immer neu gerechnet.

Da gibt es bereits Software, wo intensieve Forschungsarbeit drinsteckt.
Kollision starrer Körper in 2D sollte wohl auch in Echtzeit im Rahmen eines Computerspiels möglich sein.

Leider kann ich dir nicht sagen "so gehts!", aber du solltest dir mal folgenden Link ansehen: http://www.adina.com/newsgA22.shtml
Das ist ein Finite-element-Programm, daß so etwas kann. Kannst dich ja mal in die Materie einarbeiten. Gibts im I-Net gute Informationen.

_________________
The difference between men and boys is the size of the toys.
marek
Gast





Beitrag marek Verfasst am: 24. Aug 2005 16:26    Titel: Antworten mit Zitat

danke schomal für die antwort.
was du vorgeschlagen hast hab ich grösstenteils schon gemacht,
nachdem ich im internet was gelernt hab.
die körper sind in vierecke (grösse 1pixel) unterteilt,
jeder mit eigener masse.

die bewegung wird in schritte unterteilt,
jeder schritt so gross,
dass sich nie ein punkt schneller als 1pixel pro schritt bewegt.

danke für den link der is gut.
und besonders danke für den begriff "finite element"
das hilft viel beim suchen!

^^, marek
Winterheart



Anmeldungsdatum: 11.03.2005
Beiträge: 74
Wohnort: bei München

Beitrag Winterheart Verfasst am: 24. Aug 2005 16:58    Titel: Antworten mit Zitat

Find ich toll, daß ich dir weiterhelfen konnte.
Sag bescheid, wenn du Fortschritte machst.

Kann man das Spiel bekommen, wenns fertig ist?
Würd ich mir gerne mal ansehen. Vielleicht mit Quellcode *fg*

Viel Spaß beim Tüfteln!

_________________
The difference between men and boys is the size of the toys.
Gast






Beitrag Gast Verfasst am: 30. Aug 2005 08:50    Titel: Antworten mit Zitat

ja, ich wills mit quellcode ins internet stellen,
für leute die simulation von festkörperdynamik
lernen wollen.
es gibt viel zu wenig seiten mit gutem quellcode
im internet!
Winterheart



Anmeldungsdatum: 11.03.2005
Beiträge: 74
Wohnort: bei München

Beitrag Winterheart Verfasst am: 06. Sep 2005 11:52    Titel: Antworten mit Zitat

Hi!
Wollte nur mal nachfragen, wie denn der Stand der Dinge ist.
Hat dir das mit den Finiten Elementen weitergeholfen? Hast du das schon irgendwie eingebaut?

_________________
The difference between men and boys is the size of the toys.
marek
Gast





Beitrag marek Verfasst am: 06. Sep 2005 17:21    Titel: Antworten mit Zitat

nein, die "finite element" methode war mir leider zu hoch,
aber immoment bin ich mit ner anderen idde ziemlich weit.
ich probiers noch an wänden aus und es geht so:

ich messe die geschwindigkeit des punktes der gegen die wadn prallt.
berechne daraus den teil der geschwindigkeit,
der orthogonal zur wand ist (hessesche normalenform).

jetzt lasse ich an dem punkt eine kraft wirken,
durch die der punkt eine geschwindigkeit bekommt,
deren (zur wand orthogonaler) teil genau entgegengesetzt
dem teil der alten geschwindigkeit ist.

ich würd ja code posten, aber das wäre noch verwirrender glaub ich.
Neue Frage »
Antworten »
    Foren-Übersicht -> Mechanik