Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Feuerwerkdarstellung (https://www.delphipraxis.net/38364-feuerwerkdarstellung.html)

Nicodius 18. Jan 2005 09:43


Feuerwerkdarstellung
 
Vielleicht kennt wer "Rollercoaster Tycoon 3"

.. ich wollte unlängst schon mal einen Feuerwerk Maker machen

der pixel kontrolliert herumschickt( in kreisen etc) ... jetzt wollte ich fragen ob wer ideen hat (ich will nicht auf direct X oder solchen sachen zurückgreifen sondern mit standart d6 - mit Canva.Pixels das machen ...)

... hat wer vl ideen für Formeln oder so?


mfg

Nico

LoL 18. Jan 2005 10:37

Re: Feuerwerkdarstellung
 
hi

du willst also das "nur" in 2D machen? Dann würde ich es so machen das ich eine "Rakete nach oben schieße" und dann von einem Punkt sternförmig pixel nach außen, d.h linear, "sende".

Wie hast du dir das gedacht?

tommie-lie 18. Jan 2005 11:29

Re: Feuerwerkdarstellung
 
Schreib' dir ein Partikelsystem mit einer Methode zum projizieren der Punkte, damit du sie zeichnen kannst. Für die Bewegungsfunktionen solltest du als Grundfunktion erstmal die Fallbeschleunigung nehmen (Masse kann für einzelne Partikel einstellbar sein). Zusätzlich noch die verschiedensten Anfangskräfte, sprich Startgeschwindigkeiten in die verschiedensten Richtungen, da hast du eigentlich alle Möglichkeiten der Welt. Eine einfache Explosion würde zum Beispiel eine gleichmäßige Verteilung der Partikel in alle Richtungen hervorrufen. Durch nachträgliche Beeinflussung von Zufallswerten kannst du auch die etwaige Flugbahn vorbestimmen und so keine Explosionskugel, sondern z.B. einen Explosionstorus machen, oder eine in irgendeine gefächerte Richtung der Explosion.
Beim Start der Animation erzeugst du dann deine PArtikel und weist ihnen die Anfangswerte zu (Startgeschwinndigkeit und -richtng, Masse). Bei jedem weiteren Schritt berechnest du dann die jeweilige Position, projizierst sie gescheit auf eine Ebene (Partikel, die "weiter hinten" liegen vielleicht etwas dunkler als die vorderen) und pinselst das Ganze auf den Canvas. Die Formeln für die Bewegungen sind elementare Mechanik und dürften in jeder physikalischen Formelsammlung enthalten sein. Im Prinzip ist es stupides implementieren von physikalischen Gesetzen und ein wenig Zufallsgeneration, nur für die Beeinflussung der Zufallswerte braucht man ein klein wenig Abstraktionsvermögen.

Nicodius 19. Jan 2005 16:11

Re: Feuerwerkdarstellung
 
danke ..

also ich habe mir das mal so gedacht


die fläche :

_ _ _ _ _ _ _
|_|_|_|_|_|_|_| jedes feld Koordinate also das
|_|_|_|_|_|_|_| links oben ist 0/0 das rechts davon 0/1 ...
|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|
|_|_|_|_|_|_|_|



jetzt fliegt von punkt x/y(Ausgangspunkt)(canvas.moveTo) eine rakete(linie)( nach a/b(Endpunkt)

vom endpunkt aus gehen jetzt verschiedenste formen aus (am besten per zufall am anfang aber kontrolliert also gespiegelt( der pixel das nach x/z fliegt muss auf der anderen seite nochmals in die gespiegelte richtung (-x/z) fliegen)



so meine ich gespiegelt:

\ /
*|*
" | "


danke tommie ... :) aber leider bräuchte ich vl ein paar quelltexte (auf jeden fall die schleifen die das spiegeln machen da fehlt mir die logik)


danke!

tommie-lie 19. Jan 2005 16:19

Re: Feuerwerkdarstellung
 
Zitat:

Zitat von Nicodius
danke tommie ... :) aber leider bräuchte ich vl ein paar quelltexte (auf jeden fall die schleifen die das spiegeln machen da fehlt mir die logik)

Was hast du denn für Mathe-Kenntnisse? Nur Schulkenntnisse? Dann dürfte's ein wenig kanpp werden, mit einer wirklich eleganten Lösung.
Ich würde für jeden Partikel einen Bewegungsvektor speichern. Bei der Initialbewegung wäre dann der Vektor gespiegelt (in 2D bei senkrechte Spiegelebene wäre das Vorzeichen der x-Komponente vertauscht). Die Gravitation zieht natürlich den Partikel immer weiter nach unten, das geht mit Vektoraddition, da der Kraftvektor der Gravitation bei den Fallhöhen gleich bleibt.

Über eine unelegante Lösung für mathematisch Minderbemittelte will ich jetzt gar nicht nachdenken :mrgreen:

Nicodius 19. Jan 2005 16:27

Re: Feuerwerkdarstellung
 
vektorrechnen könnte ich vl grad noch(letztes jahr durchgemacht) ..

aber ich weiß nicht wie man ein partikelsystem macht zb .. ;)


und ... mathematik ist nicht mein lieblingsgegenstand falls du das meinst :zwinker:

Nicodius 21. Jan 2005 15:49

Re: Feuerwerkdarstellung
 
*push*

Nicodius 25. Jan 2005 16:26

Re: Feuerwerkdarstellung
 
*push*

memphis 25. Jan 2005 18:28

Re: Feuerwerkdarstellung
 
hallo

ich vor einiger zeit mal was ähnliches versucht.
das ist dabei heraus gekommen:

http://luki.giglserver.de/files/inde.../Feuerwerk.rar

es sieht nicht sehr realistisch aus, sondern sollte viel mehr dem Feuerwerk aus Spider-Solitär ähneln.
bei bedarf kann ich dir den "undokummentieten" quellcode schicken.

Grüsse

Nicodius 28. Jan 2005 17:13

Re: Feuerwerkdarstellung
 
das wäre toll ... danke vielmals!

Jan 28. Jan 2005 17:53

Re: Feuerwerkdarstellung
 
ich hab mal ein 2d-feuerwerk in Java geschrieben, wenn du was mit dem code davon anfangen kannst, kannste dich ja mal melden.
Sollte Physikalisch sogar einigermaßen korrekt sein. (Kumpel studiert Physik)

Gruß
Jan

Hador 28. Jan 2005 18:37

Re: Feuerwerkdarstellung
 
S = Vo * t + 1/2 a t²

bzw.

V = Vo + a*t

Evt. helfen dir diese beiden Formeld zum berechnen des Falls.
(Hab vor 'n paar Wochen erst ne Klausur drüber geschrieben)

S: Strecke
V: Geschwindigkeit
Vo: Anfangsgeschwindigkeit
t: Zeit
a: Beschleunigung

Bei diesem Fall ist (beim Fall) ist a = g = 9.81

EDIT:
Das ganze ist jetzt eine gleichförmig Beschleunigte Bewegung, jedoch ohne Luftwiederstand.
Beim Sbschießen, kannst du am besten 'n senkrechten Wurf berechnen (Anfangsgeschwindigkeit und Beschleunigung = -g)

Achtung!!! Ich hatte 'n Fehler inner Formel. Hab aus Versehen V statt S beier ersten Formel geschrieben.
Passt jetzt aber

Nicodius 4. Feb 2005 14:57

Re: Feuerwerkdarstellung
 
danke! :)


jan - da ich auch java programmiere wäre mir dieser code auch sehr geholfen :)


--> email an nicodius@lycos.de bitte nicht an s.mueller@inode.at(umstellung!)

Nicodius 11. Feb 2005 11:47

Re: Feuerwerkdarstellung
 
jan, es wäre nett wen ndus an nicodius@lycos.de schicken würdest ... habe leider noch nichts bekommen ...

Nicodius 14. Feb 2005 07:45

Re: Feuerwerkdarstellung
 
*push*

kann mir sonst wer nen quellcode schicken? das wird wohl nix mehr mit der email :(

memphis 14. Feb 2005 11:11

Re: Feuerwerkdarstellung
 
hallo

sorry, dass ich mich erst jetzt melde. Den Quellcode zu meinem "etwas unrealistischem" Feuerwerk findest du hier:
http://luki.giglserver.de/files/inde...erk_source.rar
Der Code ist nur teilweise kommentiert und noch etwas unoptimiert... vieleicht hilft er dir ja.

Nicodius 15. Feb 2005 08:08

Re: Feuerwerkdarstellung
 
vielen dank erstmal :)

Jan 25. Feb 2005 15:36

Re: Feuerwerkdarstellung
 
Sorry, ich hab schon lange nichtmehr hier reingeschaut, hättest mir einfach mal ne PM schicken müssen, dann hätt ichs dir sofort geschickt.
Werde gleich mal die mail schreiben.
-Jan-

sniper_w 25. Feb 2005 16:12

Re: Feuerwerkdarstellung
 
Liste der Anhänge anzeigen (Anzahl: 1)
Das hier ist etwas was du suchst.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:24 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