![]() |
Kugelsimulation (BwInf)
Liste der Anhänge anzeigen (Anzahl: 2)
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 ... :mrgreen: Im Anhang könnt ihr eine Beispielanwendung sehen, ihr müsst eure Werte einstellen Kugeln :arrow: Maximale Kugelanzahl Speed :arrow: Geschwindigkeit in % dynamische :arrow: 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 :wink: : (schön kommentiert, zumindest 70% :mrgreen: ) |
Re: Kugelsimulation (BwInf)
Hi.
Nettes Programm. :thumb: Aber c.a. 580 Zeilen Quellcode gehören normalerweise in den Anhang ;-) |
Re: Kugelsimulation (BwInf)
Wenn ich eine andere Farbe auswähle und der Start-Button noch nicht betötigt war, kommt immer eine Fehlermeldung "Thread-Fehler:Zugriff verweigert. (5)" Ist das mit Absicht, oder nicht?
|
Re: Kugelsimulation (BwInf)
Liste der Anhänge anzeigen (Anzahl: 1)
Na dann will ich auch mal:
Meine Daten sind alle im Anhang. Ich hab grad Abi geschrieben und hatte deswegen nicht allzu viel Zeit für den BW. Deswegen braucht mein Programm auch etwa 11min für die 100.000 :roll: |
Re: Kugelsimulation (BwInf)
es vertut sich immer um eingie pixeln und manchmal überlagern sich die kugeln
aber sonst :thumb: |
Re: Kugelsimulation (BwInf)
@nico: Das kommt, wenn es mehrere dyn. Kugeln gibt, dann kann es sein, dass sich sich überlagern und zack beide festkleben ...
|
Re: Kugelsimulation (BwInf)
Hallo Leute auch ich hab so ein Programm gebaut, 1.000.000 Kugeln in 21 Sekunden war mein Rekord mit einem recht guten Zufallsgenerator.
hier gibts das Programm sammt Sourcecode zum Download. ![]() und hier gibts das zweite Programm und die Doku: ![]() |
Re: Kugelsimulation (BwInf)
mal ne frage:
welche erste aufgabe??? sonst hab ich 665,31 fps |
Re: Kugelsimulation (BwInf)
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz