Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Animationen mit Delphi erstellen (https://www.delphipraxis.net/183541-animationen-mit-delphi-erstellen.html)

Sir Rufo 18. Jan 2015 21:37

AW: Animationen mit Delphi erstellen
 
Ja und die Bilder sind ja auch immer einfach so da, brauchen keine Zeit zum Laden und Speicher verbrauchen die auch nicht. Ne is klar.

Keiner von uns weiß wieviele Bilder und wie groß, und wenn zu viele und zu groß dann muss man sich auch Gedanken machen, wie man die pünktlich in den Speicher bekommt.

Da nützt die Transferleistung von deinem Ansatz gar nichts.

Die Auflösung des Timers reicht nicht aus? Wieviele Bilder pro Sekunde möchtest du denn anzeigen (und dann bitte auch erklären für wen)? Nach meiner Erfahrung reichen eigentlich 25 Bilder/Sekunde aus. Das macht dann 40ms pro Bild. Wie ist die Auflösung des Standard-Timers? ca. 20ms? Nach meiner Erfahrung bekommt man mit einem normalen Timer und einer recht fixen Darstellung (keine Monsterberechnungen) knapp 60 Bilder pro Sekunde auf den Schirm gemalt. Das menschliche Auge hat ab 25 Bildern/Sekunde den Eindruck einer flüssigen Bewegung. Aber evtl. hast du ja schnellere Augen?

Perlsau 19. Jan 2015 00:23

AW: Animationen mit Delphi erstellen
 
Wie bereits etliche User vollkommen richtig dargestellt haben: Es macht wenig Sinn, sich vor Entwicklung der eigentlichen Anwendung – deren Ziel es in erster Linie sein soll, physikalische Abläufe darzustellen, wobei es erst einmal um die Ermittlung von bestimmten Zahlenwwerten geht – schon Gedanken über eventuelle Animationen zu machen. Zumindest war hier noch kein Code zu sehen, der zeigt, wie z.B. Wellenausbreitung überhaupt berechnet und erst einmal in Zahlenwerten dargestellt werden soll.

Zur eigentlichen Animation findet man via Google zahlreiche Hinweise:

Allerdings halte ich derartige Vorhaben nicht wirklich geeignet für Delphi-Anfänger. Ich beaobachte praktisch jede Woche eine derartige Anfrage von Delphi-Anfängern in den einschlägigen Foren, die danach fragen, wie man hochwertige Anwendungen wie Schaltungssimulationen oder Spiele entwickelt, wofür nicht selten mehrere erfahrene Eintwickler Monate oder gar Jahre benötigen. Ich glaube daher, wenn ihr euch bei eurem Simulationsprogramm physikalischer Effekte auf die Darstellung der Zahlen beschränkt, habt ihr schon mehr als genug zu tun, wie man z.B. dort, am Projekt Soundbibliothek des Prof. Dr. -Ing. habil G.P. Ostermeyer an der Technische Universität Braunschweig, oder auch an dieser Doktorarbeit über Schallstreuung in der atmosphärischen Grenzschicht sehr schön sehen kann. Wenn dann noch Zeit und Lust besteht, könnt ihr euch ja immer noch überlegen, wie ihr da zur Anschauung weitere visuelle Effekt einbaut. Ihr könnt ja einmal quasi als Test versuchen, das Frequenzspektrum irgend eines Songs grafisch darzustellen (z.B. mit Hilfe der Bass.dll), aber nicht mit einer fertigen Komponente, sondern selbst berechnen und die Linien selbst zeichnen. Dabei werdet ihr vermutlich schon einiges lernen und nebenher ein Gefühl dafür bekommen, was euch bei komplexen Simulationen erwartet.

Namenloser 19. Jan 2015 09:33

AW: Animationen mit Delphi erstellen
 
Zitat:

Zitat von Sir Rufo (Beitrag 1286984)
Die Auflösung des Timers reicht nicht aus? Wieviele Bilder pro Sekunde möchtest du denn anzeigen (und dann bitte auch erklären für wen)? Nach meiner Erfahrung reichen eigentlich 25 Bilder/Sekunde aus. Das macht dann 40ms pro Bild. Wie ist die Auflösung des Standard-Timers? ca. 20ms? Nach meiner Erfahrung bekommt man mit einem normalen Timer und einer recht fixen Darstellung (keine Monsterberechnungen) knapp 60 Bilder pro Sekunde auf den Schirm gemalt. Das menschliche Auge hat ab 25 Bildern/Sekunde den Eindruck einer flüssigen Bewegung. Aber evtl. hast du ja schnellere Augen?

Das ist auch so eine Urban Legend. Es gibt keine feste Schwelle, ab der das menschliche Auge eine flüssige Bewegung wahrnimmt. Guck dir mal ein Video mit 25 FPS an, und dann das gleiche Video mit 60 FPS und sag mir du siehst keinen Unterschied. Was man als „flüssig“ bezeichnet, hängt von den eigenen Ansprüchen ab. Wenn 25 FPS reichen, dann kannst du den Timer vielleicht nehmen. Wenn du 60 FPS haben willst, ist der Timer unter Windows nach meiner Erfahrung nicht geeignet.

Das Hauptproblem beim Timer ist gar nicht mal, dass das minimale Intervall zu grob ist, sondern dass er zu sehr streut. Du kriegst vielleicht im Durchschnitt 50 FPS, aber der tatsächliche Abstand zwischen zwei Frames schwankt mal zwischen 15ms und 25ms. Das hat sehr starken Einfluss darauf, ob die Animation flüssig wirkt oder nicht.

Aber das sind alles Details, die für den OP wahrscheinlich erst mal überhaupt nicht wichtig sind, und deswegen bin ich darauf, ob man das jetzt konkret mit einer Schleife oder einem Timer oder sonstwie implementiert, in meinem Beitrag auch gar nicht erst eingegangen. In der Praxis reicht TTimer hier wahrscheinlich. Ist aber ein Implementierungsdetail, was für meinen Beitrag nicht relevant war.

Wenn man es „wirklich richtig“ machen will, führt eigentlich sowieso kein Weg an OpenGL/DirectX vorbei.

EWeiss 19. Jan 2015 13:52

AW: Animationen mit Delphi erstellen
 
http://www.delphipraxis.net/121573-%...old-fisch.html

gruss

Perlsau 24. Jan 2015 22:02

AW: Animationen mit Delphi erstellen
 
@DerHaushaltsProfi

Hier hab ich noch was feines für eure Informatik-Gruppe zur Veranschaulichung gefunden, das vielleicht eurem Projektvorhaben als Beispiel dienen kann:

Die Wellenwanne


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:41 Uhr.
Seite 3 von 3     123   

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