Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Kugelsimulation (BwInf) (https://www.delphipraxis.net/44466-kugelsimulation-bwinf.html)

jfheins 19. Apr 2005 20:34


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: )

Waldteufel 19. Apr 2005 20:47

Re: Kugelsimulation (BwInf)
 
Hi.

Nettes Programm. :thumb:

Aber c.a. 580 Zeilen Quellcode gehören normalerweise in den Anhang ;-)

whiteshark 19. Apr 2005 21:04

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?

Nikolas 19. Apr 2005 21:06

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:

Nicodius 19. Apr 2005 21:14

Re: Kugelsimulation (BwInf)
 
es vertut sich immer um eingie pixeln und manchmal überlagern sich die kugeln


aber sonst :thumb:

jfheins 19. Apr 2005 21:32

Re: Kugelsimulation (BwInf)
 
@nico: Das kommt, wenn es mehrere dyn. Kugeln gibt, dann kann es sein, dass sich sich überlagern und zack beide festkleben ...

MathiasH 20. Apr 2005 14:25

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.
http://www.transweb-cj.de/kernelz/do...inf/kugeln.zip
und hier gibts das zweite Programm und die Doku:
http://www.transweb-cj.de/kernelz/do...winf/index.php

vlees91 27. Apr 2005 17:16

Re: Kugelsimulation (BwInf)
 
mal ne frage:
welche erste aufgabe???
sonst hab ich 665,31 fps

MathiasH 27. Apr 2005 17:23

Re: Kugelsimulation (BwInf)
 
http://www.bwinf.de 2. Runde, 23. Wettbewerb -> Aufgaben


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