WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Simulation eines Würfelbechers

 

Hello_Joe
Forum-Newbie

Forum-Newbie


Beiträge: 1
Anmeldedatum: 31.05.11
Wohnort: Kempten
Version: ---
     Beitrag Verfasst am: 31.05.2011, 22:30     Titel: Simulation eines Würfelbechers
  Antworten mit Zitat      
Hallo,
ich stehe derzeit vor zwei Problemen bei der Animation eines Würfelbechers und hoffe, dass ein erfahrener Nutzer mir weiterhelfen kann.

1.
Das graphische erstellen eines Würfelbechers habe ich durch die cylinder Funktion gelöst und sieht soweit auch passend aus. Jetzt habe ich nur leider das Problem, dass ich nicht weiß, wie ich die Innenwand des Bechers als Grenzen für den Würfel bestimmen kann. Dieser also dort abprallt.

2.
Der Würfel ist elastisch simuliert und wird durch Massenpunkte welche durch Stäbe mit bestimmten Federraten dargestellt. Jetzt möchte ich aber noch einen zweiten Würfel einfügen und muss festellen, dass dies dazu führt, dass diese ineinander "eintauchen". Besser wäre es wenn er an sie an der Würfeloberfläche abprallen.

Vielleicht lassen sich ja beide Problem mit ein und der selben Methode beheben. Habe schon viele Themen und Hilfeseiten durchsucht nur leider nichts gefunden.

Vielen Dank schonmal!
Greetz
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 01.06.2011, 10:03     Titel: Re: Simulation eines Würfelbechers
  Antworten mit Zitat      
Hallo Hello_Joe,

Das Problem nennt sich "Collision detection" und Google finden eine gute Auswahl an Erklärungen dazu. Es gibt verschiedene Lösungsansätze, die alle ausgesprochen nicht-trivial sind. Bei mehreren Würfeln steigt die Komplexität exponentiell, da man kaum im Voraus bestimmen kann, welche Ecken, Kannten und Flächen als nächstes Kollidieren. Um den nächsten Zeitschritt für eine Simulation zu planen, muss bekannt sein, ob in diesem Zeitintervall irgendwo eine Kollision auftritt, die allerdings davon beeinflußt werden kann, dass mehrere(!) andere auftreten.
Um die Komplexität zu vermindern ist folgender Ansatz nützlich: Packe jeden Würfel in eine Kugel mit genügend großem Radius. Dann müssen nur Kollisionen zwischen Objekten getestet werden, deren Kugeln sich durchdringen. Das Testen der Entfernung der Mittelpunkte ist dabei viel billiger als die Berücksichtigung der 3D-Oberfläche.

Viel Erfolg! Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.