![]() |
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 |
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? |
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. |
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! |
Re: Feuerwerkdarstellung
Zitat:
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: |
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: |
Re: Feuerwerkdarstellung
*push*
|
Re: Feuerwerkdarstellung
*push*
|
Re: Feuerwerkdarstellung
hallo
ich vor einiger zeit mal was ähnliches versucht. das ist dabei heraus gekommen: ![]() 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 |
Re: Feuerwerkdarstellung
das wäre toll ... danke vielmals!
|
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 |
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 |
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!) |
Re: Feuerwerkdarstellung
jan, es wäre nett wen ndus an nicodius@lycos.de schicken würdest ... habe leider noch nichts bekommen ...
|
Re: Feuerwerkdarstellung
*push*
kann mir sonst wer nen quellcode schicken? das wird wohl nix mehr mit der email :( |
Re: Feuerwerkdarstellung
hallo
sorry, dass ich mich erst jetzt melde. Den Quellcode zu meinem "etwas unrealistischem" Feuerwerk findest du hier: ![]() Der Code ist nur teilweise kommentiert und noch etwas unoptimiert... vieleicht hilft er dir ja. |
Re: Feuerwerkdarstellung
vielen dank erstmal :)
|
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- |
Re: Feuerwerkdarstellung
Liste der Anhänge anzeigen (Anzahl: 1)
Das hier ist etwas was du suchst.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:52 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