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
Antwort Antwort
Benutzerbild von jfheins
jfheins
Registriert seit: 10. Jun 2004
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)
 
Waldteufel
 
#2
  Alt 19. Apr 2005, 20:47
Hi.

Nettes Programm.

Aber c.a. 580 Zeilen Quellcode gehören normalerweise in den Anhang
  Mit Zitat antworten Zitat
Benutzerbild von whiteshark
whiteshark

 
Delphi 2005 Personal
 
#3
  Alt 19. Apr 2005, 21:04
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?
  Mit Zitat antworten Zitat
Benutzerbild von Nikolas
Nikolas

 
Delphi 2005 Personal
 
#4
  Alt 19. Apr 2005, 21:06
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
Angehängte Dateien
Dateityp: zip aufgabe_1_563.zip (1,77 MB, 34x aufgerufen)
  Mit Zitat antworten Zitat
Nicodius

 
Delphi 2006 Architect
 
#5
  Alt 19. Apr 2005, 21:14
es vertut sich immer um eingie pixeln und manchmal überlagern sich die kugeln


aber sonst
Nico Müller
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins
 
#6
  Alt 19. Apr 2005, 21:32
@nico: Das kommt, wenn es mehrere dyn. Kugeln gibt, dann kann es sein, dass sich sich überlagern und zack beide festkleben ...
  Mit Zitat antworten Zitat
Benutzerbild von MathiasH
MathiasH

 
Delphi 6 Professional
 
#7
  Alt 20. Apr 2005, 14:25
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
  Mit Zitat antworten Zitat
Benutzerbild von vlees91
vlees91

 
Turbo Delphi für Win32
 
#8
  Alt 27. Apr 2005, 17:16
mal ne frage:
welche erste aufgabe???
sonst hab ich 665,31 fps
vlees91
  Mit Zitat antworten Zitat
Benutzerbild von MathiasH
MathiasH

 
Delphi 6 Professional
 
#9
  Alt 27. Apr 2005, 17:23
http://www.bwinf.de 2. Runde, 23. Wettbewerb -> Aufgaben
  Mit Zitat antworten Zitat
Antwort Antwort


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 12:55 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