AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Kugelsimulation (BwInf)
Thema durchsuchen
Ansicht
Themen-Optionen

Kugelsimulation (BwInf)

Ein Thema von jfheins · begonnen am 19. Apr 2005 · letzter Beitrag vom 27. Apr 2005
 
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#1

Kugelsimulation (BwInf)

  Alt 19. Apr 2005, 20:34
Nun, da der Einsendeschluss vorbei ist, möchte ich hier mein Programm vorstellen, ich habe aus Spaß an der Freud' mal die erste Aufgabe gelöst, da ich schon immer mal eine einfache Simulation schreiben wollte.

Die Aufgabenstellung lautet folgendermaßen:
Auf einer unbeschränkt großen Ebene klebt anfangs an einer Stelle eine Kugel. Nun kommen
immer wieder Kugeln derselben Größe aus zufälligen Richtungen angerollt. Trifft zum ersten
Mal eine solche auf die Urkugel, dann bleibt sie fest an ihr kleben und es entsteht ein Gebilde
aus zwei Kugeln. Trifft die nächste Kugel darauf, bleibt sie wieder fest kleben, und so
geht es immer weiter. Auf diese Weise entsteht um die Urkugel eine immer größere Figur,
an welcher immer mehr Kugeln kleben bleiben. Man könnte erwarten, dass ein hässlicher,
unförmiger Klumpen entsteht. Tatsächlich ist dies nicht der Fall: Es entsteht etwas Interessantes
und Schönes.

Schreibe ein Programm, das dieses Experiment mit möglichst vielen Kugeln durchführen
und das entstandene Bild ausgeben kann. Diskutiere dazu verschiedene Möglichkeiten,
den Zufallsprozess (unter Benutzung eines vorhandenen Zufallszahlengenerators)
zu modellieren. (...)


Ich habe mich bemüht, das ganze möglichst Objekt-orientiert und doch performant zu lösen (für 100.000 Kugeln in 4 s reicht's leider nicht)

Performance:
Der zeitaufwand steigt enorm mit der Anzahl der Kugeln, meine größte Simulation hat ein 5 MB File hervorgebracht, kurz bevor das Programm abgestürtzt ist ...

Im Anhang könnt ihr eine Beispielanwendung sehen, ihr müsst eure Werte einstellen
Kugeln Maximale Kugelanzahl
Speed Geschwindigkeit in %
dynamische Es wird versucht, immer soviele rollende Kugeln zu haben

Ihr müsst erst die Werte einstellen, dann Start drücken, und dann nochmal weiter ...

Quellcode im Anhang : (schön kommentiert, zumindest 70% )
Angehängte Dateien
Dateityp: exe simtest_207.exe (454,0 KB, 198x aufgerufen)
Dateityp: txt unit2_203.txt (16,4 KB, 60x aufgerufen)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:05 Uhr.
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