Delphi-PRAXiS
Seite 4 von 5   « Erste     234 5      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Gravitationssimulator (https://www.delphipraxis.net/25876-gravitationssimulator.html)

Zerolith 19. Jul 2004 13:10

Re: Gravitationssimulator
 
hätte auch reges interesse an dem SourceCode...

ein sehr schönes programm

dizzy 19. Jul 2004 13:23

Re: Gravitationssimulator
 
Zitat:

Zitat von Luckie
Nun ja, für die Menschheit hat es Gott sei Dank gereicht. :zwinker:

:lol:

Zitat:

Zitat von Luckie
[...] eine Zoomfunktion gewünscht, weil das alles so klein war.

Mal sehen. Aber ich glaube nicht wirklich dran, dass ich eine Zoomfunktion einbaue. Wenn's mich kitzelt dann ja ;)

Zitat:

Zitat von shima
Ein weiteres mögliches Randverhalten wäre, dass die Objekte ausserhalb der Sicht einfach weiterleben und erst in sehr grosser Entfernung sterben.

Gute Idee, wird kommen!

Zitat:

Zitat von shima
Beim Erzeugen von neuen Partikeln könnte man die Anfangsgeschwindigkeit gleich dem Vektor
von MouseDown bis MouseUp setzen. Durch Klicken, Ziehen und Loslassen könnte man so Partikel
mit einer bestimmten Anfangsgeschwindigkeit erzeugen.

Im Moment macht das ein Timer mit 50ms Intervall. Er erzeugt fortlaufend den Richtungsvektor den neue Partikel mitbekommen. Ich kann aber auch noch eine "klicken-ziehen-loslassen"-Option reinbringen. Da hat man dann auch etwas mehr Kontrolle, geb ich dir Recht.

Zitat:

Zitat von Zerolith
hätte auch reges interesse an dem SourceCode...

...ist doch da!? ;)

Zerolith 19. Jul 2004 13:33

Re: Gravitationssimulator
 
hatte das mit der 2. seite net ganz verissen - sorry.

leddl 19. Jul 2004 14:21

Re: Gravitationssimulator
 
Ich find das Ding wirklich klasse, nur eines stört mich.
Und zwar hast du die Größe fix gemacht. Nich jeder hat ne Auflösung von 1024*768. Es soll auch noch einige geben, die mit ner 800er auskommen. Und außerdem bin ich einer von den Menschen, die ihre Taskleiste "2-stöckig" haben. Um das gesamt Feld zu sehen, muß ich also immer die Taskleiste verstecken.
Wär also ganz praktisch, wenn das Tool entweder komplett auf Vollbild läuft, oder zumindest in der Größe veränderbar wäre...

TeronG 19. Jul 2004 14:24

Re: Gravitationssimulator
 
Zitat:

Zitat von shima
Ein weiteres mögliches Randverhalten wäre, dass die Objekte ausserhalb der Sicht einfach weiterleben und erst in sehr grosser Entfernung sterben.

Jo .. das hatte ich eigentlich gemeint :oops:

TeronG 19. Jul 2004 18:30

Re: Gravitationssimulator
 
Wenn ich bei der neuen Version während des laufens auf Beenden (X) klicke stürzt das Proggi mit folgender meldung ab:
Zugriffsverletzung bei Adresse 0045B374 in Modul 'GravSim.exe'. lesen von Adresse 0000000C.

Konnte das schon auf 2 XP-Systemen testen ...

dizzy 19. Jul 2004 20:34

Re: Gravitationssimulator
 
oopsie, ja das kann durchaus sein :oops:
In der alten Version hatte ich OnClose das Simulator-Objekt nicht freigegeben, was jetzt aber geschieht. Leider ist es wohl so, dass die OnClose-Routine beim Click auf [X] ausgeführt wird, aber das eigentliche Schließen nicht, da das Programm ohne Click auf [Stop] in einer Schleife hängt. Also wird das Objekt freigegeben, aber die Schleife greift weiter fröhlich darauf zu...
Ist aber so leicht zu beheben, dass es dafür kein eigenes Update geben wird ;). Das einfachste ist es halt immer vorm Click auf [X] auf [Stop] zu clicken... Das Fenster geht sonst eh nicht zu ;).

Wird aber behoben! Danke für den Tipp!

gruss,
dizzy

MathiasH 19. Jul 2004 21:08

Re: Gravitationssimulator
 
echt amüsant des Teil, aber ist es zwingend notwenidig, dass es die CPU Last auf 100% treibt, selst wen noch kein einziges Teilchen da ist? ba einfach enen frame limiter ein.
in etwa so:
Delphi-Quellcode:
frames: integer; //frames seit dem Anbruch der letzten Sekunde
lastsec: integer; //letzte ganze Sekunde

while frames/(gettickcount - lastsec)*1000 > 60 do sleep(1);
inc(frames);
while gettickcount - lastsec > 1000 do begin //schleife hat den sinn, hänger abzufangen, man könnte hier auch mit 0 setzen arbeiten, ist aber ungenauer
  inc(lastsec, 1000);
  frames := 0;
end;
ich hoffe ich hab keinen Käs gebaut ;)

PS bei jedem 10. Frame würd ich mindestens ein Processmessages einbauen, in dem eine abbruchbedingung erfüllt werden kann (button click etc.)

Die Physik interessiert mich eher weniger, sowas in der Art programmier ich zur Zeit in langweiligen Physikstunden...

MathiasH

dizzy 19. Jul 2004 21:26

Re: Gravitationssimulator
 
Zitat:

Zitat von MathiasH
ist es zwingend notwenidig, dass es die CPU Last auf 100% treibt, selst wen noch kein einziges Teilchen da ist?

Naja, die Schleife knallt halt die ganze Zeit durch. Und das ist ja jetzt nicht unbedingt ein Proggy das man stundenlang rennen lässt. Für den Einsatz eines Framelimiters müsse ich recht viel umbauen, und sobald es genügend Partikel sind stört der Overhead wieder. Das Proggy wird von alleine schon langsam genug :)

Zitat:

Zitat von MathiasH
PS bei jedem 10. Frame würd ich mindestens ein Processmessages einbauen, in dem eine abbruchbedingung erfüllt werden kann (button click etc.)

...dann schau mal in den Code ;). Jedes Frame ein ProcessMessages. Sonst könntest du während der Sim auch nicht an den Reglern fummeln, Partikel reinclicken usw.

Zitat:

Zitat von MathiasH
Die Physik interessiert mich eher weniger

Das einzige bischen Physik was da überhaupt mitspielt ist die Tatsache dass sich Kräfte mit 1/r² in ihrer Wirkung ausbreiten. Der Rest ist ganz banales Addieren von Vektoren, und vielleicht doch noch das Dingen mit der Impulserhaltung. Das war's schon :)


gruss,
dizzy

Tubos 19. Jul 2004 21:35

Re: Gravitationssimulator
 
Hmmm, so auf die Schnelle fallen mir zwei Dinge ein:

1) Das Programm ist geil!! :D

2) Die Performance ist besch***** :stupid:

Auf meinem langsamen Rechner hat das extrem geruckelt...aber wie gesagt: das Programm ist genial :thuimb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:52 Uhr.
Seite 4 von 5   « Erste     234 5      

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