Konstruktion eines virtuellen Universums

birthdefect
Ich arbeite gerade an einem Programm, das ein kleines Universum simuliert.
Dabei denke ich nicht an Planeten und Sterne, sondern einfach an eine Menge von Finiten Elementen, die in einem gewissen Rahmen nebeneinander existieren und verschiedene Fähigkeiten und Eigenschaften haben.
Beispielsweise ein Objekt, das heißt Ball und ein anderes Objekt, das heißt Steinkotz.
ich kann mehrere Steinklötze zu einer Fläche arrangieren und diese unter dem Ball positionieren. Dann gibts ein weiteres Objekt, das da heißt: Schwerkraft/Gravitation. Das ist ein Objekt, das einfach eine gerichtete Kraft auf Objekte mit Masseattributen erzeugt und diese Objekte versucht, zu beschleunigen, wenn nichts im Weg ist.
Natürlich sind die Grenzen des Ganzen auch selbst Objekte. Schranken nenne ich die.
Diese Schranken halten Objekte auf und haben keine Masse, weil sie ja ansonsten selbst der Gravitation unterlägen.
Wie auch immer.

Ich positioniere die Schranke zwischen Klötzen und Schwerkraftpunkt, sodaß die Klötze anstehen.
Der Ball befindet sich idealerweise in einer Linie mit Klötzen und Schwerkraft und könnte im rechten Winkel auf die Klötze aufprallen.
Eigenschaft der Klötze wird also eine Orientierung sein, die dieses kleine System an zusammenhängenden Objekten ausrichten.

Nun kann es los gehen.

Takt für Takt werden die neuen Zustände des systems berechnet.
(wie ein Video - Frame für Frame).

Um das Ganze zu Visualisieren, kommt ein Objekt dazu, das als Kamera agiert, als Viewpoint. Es legt Geraden durch das Universum, deren erste Schnittpunkte mit Objekten als Pixel auf eine 2D-Fläche wandern, die dann am Bildschirm gezeigt wird - wie Lichtstrahlen auf eine Filmrolle.

Ich überlege mir gerade, wie die Sache mit der Kollision abgehen soll.
ich möchte mit dem Ding beliebige Dinge simulieren.
Elementar mit Objekten die sich aufeinander auswirken.

Habt jemand von Euch Erfahungen mit sowas ?
Gibts irgendwelche Tips ?

Ich programmiere das Ding in Java, als Application (nicht als Applet) und könnte es auch als SPielengine verwenden.

*grml*
Chris Hunter
die lib ist gut aber leider nur für C7C++
http://newtondynamics.com

java kann ich dir nit sagen. su ch doch einfach mal nach ner PhysicEngine für java...
..wenn du das alles selber coden willst viel spass...
daHooligan
das ganze nennt sich numerik.
hör dir mal theoretische physik I-III an irgend ner uni dazu an Augenzwinkern da kannst du dir 7/8 der programmierarbeit sparen wenn du da ein bissl hintergrundwissen hast.
Und btw: erwarte keine Wunder, unsere Theo-Physiker arbeiten da schon ne weile dran und das was du da machen willst ist im Endeffekt nicht viel anderes als ne große Wettersimulation, die funktionieren ähnlich und afair hat unser Simulationscluster (das auch nicht großartig andere Sachen macht) nen eigenen 80qm Raum im Rechenzentrum und verschlingt mehrere 10k eur strom im jahr.
Ich würds mir auf jeden Fall überlegen und schau dir auf jeden Fall mal die theoretische Physik dahinter ein bissl an. Und dann kannste eigentlich gleich noch Analysis 1 und 2 hören ^^
Chris Hunter
och komm übertreibs net hool. ich habe sowas was er machen will schon in flash realisiert gesehen...

http://www.enigmasand.com/games/nphys/
birthdefect
In der ein oder anderen Form.
Im Prinzip geht es mir ja nur darum, daß ich selbst bestimmen kann, welche Art von Perspektive erzeugt wird (Von normalen 3D-Perspektiven bis Schnitte üb3r andere Projektionen, hin zu Attributabbildungen, die nichts mehr mit 3D zu tun haben, sondern Abstraktionen von Zuständen zeigen.)
Natürlich könnte ich das jetzt aufblasen und mit Universalapproximationen Wetterdaten erfassen und Prognosen erstellen, die es ab3r schon alle irgendwo g1bt.
Nein, 1ch möchte eher das Spielerisch ins Auge F4ssen und von Visuals bis Spielen alles damit realisieren. Es ist Quasi die Basis für weitere Anwendungen. *g*

Danke für den Tip mit Numerik, Analysis und physikalischem Hintergrund - Der ist durchaus bereits vorhanden.

In Java stellt die Sache eine Herausforderung für mich dar. Hab mich nur gefragt, ob hier jeMand ist, der bere1ts sowas von Null weg 4ufgezogen hat.
Die einen Spielen gern Siedler und Simcity, ich spiele halt so meine Schöpferische Ader aus ;o)


PS: Die Engine in Flash unterm Link v0m Hunter 1st echt toll! sowas ist dann bei meiner S4che bereits integriert ;o) bzw. sowas hab cih bereits mit TurboPascal/Assembler gemacht (damals-DOSzeiten; seufz - hab irgendwo eine 5 1/4 Zoll Disk mit meinem alten Zeug böse )
Chris Hunter
Zitat:
Original von birthdefect

PS: Die Engine in Flash unterm Link v0m Hunter 1st echt toll! sowas ist dann bei meiner S4che bereits integriert ;o) bzw. sowas hab cih bereits mit TurboPascal/Assembler gemacht (damals-DOSzeiten; seufz - hab irgendwo eine 5 1/4 Zoll Disk mit meinem alten Zeug böse )


mmh mit ner schere könntest du die auf cd größe zurechtschneiden... kann dir aber net sagen ob die dann in nem dvd-laufwerk läuft :-)