AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Teilchensimulator in Echtzeit

Ein Thema von Minz · begonnen am 10. Nov 2004 · letzter Beitrag vom 10. Nov 2004
Antwort Antwort
Seite 1 von 2  1 2      
Minz

Registriert seit: 19. Dez 2002
476 Beiträge
 
#1

Teilchensimulator in Echtzeit

  Alt 10. Nov 2004, 19:09
Hallösche,

ich möchte auf dem Bildschirm Punkte umherfliegen sehen, die sich gegenseitig anziehen, so wie Himmelskörper im Weltraum.

1. Problem: Geschwindigkeit
Bei einer Darstellung der Geschwindigkeit in Pixeln, hat man das Problem, dass ein Teilchen bestimmte Pixel auslässt und von Position x auf Position x+Geschwindigkeit springt. Jedes Teilchen soll aber jede mögliche Position betreten um zu einem anderen Punkt zu kommen.
Ich habe mich daher entschlossen die Geschwindigkeit als zeitlichen Faktor zu verwenden. Dazu bekommt jedes Teilchen einen Timer dessen Intervall auf 1000/Speed gesetzt wird. Geschwindigkeit 5 bedeutet also eine Neuberechnung der Position alle fünftel Sekunde.
Die anstehenden Berechnungen, die von den Teilchen gemäß Timer angemeldet werden, kommen in eine Warteliste. Ich kann bis zu 50 Teilchen verwenden (Einfluss-Berechnung ausgenommen) ohne das die Warteliste ansteigt.

2. Problem: Einfluss
Einflüsse bedeuten unter Umständen eine Geschwindigkeitssteigerung, was sich sofort in einem Anstieg der Warteliste ausdrückt.

Was kann ich verbessern/verändern, um einen Anstieg der Warteliste zu verhindern, bzw. gibt es eine geschicktere Lösung der Geschwindigkeitsberücksichtigung.

So long
Minz
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#2

Re: Teilchensimulator in Echtzeit

  Alt 10. Nov 2004, 19:15
Für jedes Teilchen ein Timer? Oh gott, was für eine Verschwendung. Würde lieber ein Teilchen nehmen und dann in einer Schleife alle Teilchen berechnen
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
Minz

Registriert seit: 19. Dez 2002
476 Beiträge
 
#3

Re: Teilchensimulator in Echtzeit

  Alt 10. Nov 2004, 19:24
Dann hast du vermutlich den Ansatz nicht verstanden...
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#4

Re: Teilchensimulator in Echtzeit

  Alt 10. Nov 2004, 19:29
jedem teilchen einen richtungs- und ortsvektor geben. wenn nötig noch beschleunigung. dann in einer endlosschleife die positionen updaten, unter verwendung der variablen "deltaT", die die zeit seit dem letzen durchlauf darstellt. da deltaT i.A. sehr klein ist, können i.A. bei polynomen alle summanden mit quadratisch oder höherm deltaT vernachlässigt werden.
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
Minz

Registriert seit: 19. Dez 2002
476 Beiträge
 
#5

Re: Teilchensimulator in Echtzeit

  Alt 10. Nov 2004, 19:35
Zitat:
jedem teilchen einen richtungs- und ortsvektor geben.
Hab ich bereits

Zitat:
wenn nötig noch beschleunigung
erstmal nicht

Zitat:
dann in einer endlosschleife die positionen updaten, unter verwendung der variablen "deltaT", die die zeit seit dem letzen durchlauf darstellt. da deltaT i.A. sehr klein ist, können i.A. bei polynomen alle summanden mit quadratisch oder höherm deltaT vernachlässigt werden.
Ahso meinst du: ich schaue jedes Teilchen in der Endlosschleife an, und vergleiche dann DeltaT(abgelaufene Zeit seit letzter Berechnung) mit der Geschwindigkeit(zeitlich), und entscheide dann ob das Teilchen wieder bewegt wird?
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#6

Re: Teilchensimulator in Echtzeit

  Alt 10. Nov 2004, 19:41
Zitat von Minz:
Ahso meinst du: ich schaue jedes Teilchen in der Endlosschleife an, und vergleiche dann DeltaT(abgelaufene Zeit seit letzter Berechnung) mit der Geschwindigkeit(zeitlich), und entscheide dann ob das Teilchen wieder bewegt wird?
nein, die Vektoren sind Fließkomma-Zahlen. Bewegt wird immer. Nur beim Zeichnen wird gerundet.
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
Minz

Registriert seit: 19. Dez 2002
476 Beiträge
 
#7

Re: Teilchensimulator in Echtzeit

  Alt 10. Nov 2004, 19:46
Das ist doch genau das Problem !!

Dein Ansatz funktioniert wenn alle Teilchen weniger als 1 Pixel pro Berechnung zurücklegen.

Gibt es diese Begrenzung nicht, kann es sein, dass einzelne Teilchen 3 Pixel zurücklegen, aber die Pixel dazwischen nicht beschreiten...
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#8

Re: Teilchensimulator in Echtzeit

  Alt 10. Nov 2004, 19:48
a: ja und. dann bewegt es sich halt mehrere pixel weit
b: wenn du das nicht mit dem kopf rechnest, sondern mitm computer, wird das nie so lange dauern, dass was zwei pixel schafft.
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
Minz

Registriert seit: 19. Dez 2002
476 Beiträge
 
#9

Re: Teilchensimulator in Echtzeit

  Alt 10. Nov 2004, 19:54
Zitat:
a: ja und. dann bewegt es sich halt mehrere pixel weit
Eventuell gibt es Gründe, die das überspringen von Pixeln nicht wünschenswert machen. Es geht in diesem Thread wie bei jedem anderen auch nicht darum, seine eigenen Ideen durchzusetzen, sondern sich auf die des Fragenden einzulassen...

Zitat:
b: wenn du das nicht mit dem kopf rechnest, sondern mitm computer, wird das nie so lange dauern, dass was zwei pixel schafft.
hä?
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#10

Re: Teilchensimulator in Echtzeit

  Alt 10. Nov 2004, 20:02
b sagt aus, dass es praktisch nie vorkommen wird, dass ein pixel übersprungen wird.
a sagt aus, dass es noch nichtmal schlimm wäre.

ja, auf das problem eingehen und helfen. und meine methode ist jahrzehntelang erprobt und für fast alle derartigen probleme anwendbar. sag mir warum es nicht geht, und ich versuch mich weiter reinzudenken, aber so ganz ohne grund...
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 08:30 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