F
@Quiche-Lorraine sagte in Circle Physics Example (Code):
@zeropage sagte in Circle Physics Example (Code):
Mit ein wenig Mathematik zur Verfügung ist das gar nicht viel Code.
Eine durchweg interresante Idee, keine Frage.
In der Computergrafik werden Wassereffekte mit frei fließendem Wasser (im Gegensatz zu einer Wasseroberfläche z.B. eines Sees, die man mit einem 2D-Grid simulieren kann) durchaus mit solchen Kugeln/Partikeln gemacht, die dann als Grundlage für die Berechnung der eigentlichen Wasseroberfläche dienen.
Aber wenig Mathematik glaube ich so nicht. Man hat es ja mit Simlation von Flüssigkeiten, Oberflächenspannungen, Luftdrücken, Adhäsion,... zu tun.
Diese anderen Eigenschaften von Wasser simuliert man dann durch Interaktion zwischen den Partikeln. Die Oberflächenspannung z.B. durch Simulation eines Federmechanismus, der benachbarte Partikeln mehr oder weniger stark zusammenhält, mit dessen Parametern sich dann auch die Viskosität der Flüssigkeit steuern lässt.
Hier mal so ein Beispiel, wie das dann aussehen kann: https://www.youtube.com/watch?v=DhNt_A3k4B4
Der nächste Schritt wäre dann ein geeignetes Triangulationsverfahren, mit dem man dann aus den äußeren Partikeln der Simulation die eigentliche Wasseroberfläche generiert.
Das sind natürlich keine Simulationen, die den Anspruch physikalischer Korrektheit haben, aber für visuelle Effekte ist das durchaus ausreichend
Interessant an dem Ansatz finde ich, dass man den gut stufenweise umsetzen kann. Die erste Simulation der "kullernden Kugeln" ist mathematisch tatsächlich nicht so kompliziert. Das kommt erst, wenn man die Interaktion der Partikel physikalisch modelliert. Insofern kann man da schon früh "was sehen" und das dann sukzessive verbessern. Das finde ich deutlich motivierender, als direkt mit einer vollen Wassersimulation einzusteigen.
Hier noch ein anderes Beispiel, auch partikelbasiert, was man aber nicht so direkt erkennt, da dort bereits die Wasseroberfläche generiert wurde: https://www.youtube.com/watch?v=3Y_QTY4C08I