PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Suche Programmiersprache für Animationen/Simulationen



Iteranium
27-04-2010, 16:01
Hallo,

Ich habe einige Simulationen geschrieben, beispielsweise geladene Teilchen in einem Magnetfeld. Bisher habe ich die mit Java umgesetzt, das läuft überall und man kann einigermaßen einfach in die Grafik, sogar 3D gehen.

Bei Java ist nur immer störend, dass viele Leute gar kein Java auf dem Rechner installiert haben, oder es nicht möchten und es insgesamt auch nicht wirklich schnell läuft.

Gibt es irgendwie eine andere Sprache, mit der man solche Sachen machen kann? Plattformunabhängig wäre schon sehr schön, ich entwickele meistens unter OS X und die Sachen sollten schon bei fast allen laufen können.

John W
28-04-2010, 13:49
es insgesamt auch nicht wirklich schnell läuft.
Alles eine Sache der Optimierung. Ich schreibe auch grade ein Auswertungsprogramm in Java, das läuft auch recht flott.
Einen Code kann man ganz schnell flott machen, indem man Methoden private oder final deklariert (20-fache Geschwindigkeit durchaus möglich), auch hilft es, static zu verwenden.
Sofern man etwas beim vererben nicht ändern möchte, kann man final prima verwenden, Swing-Objekte kann man auch gut in finale Referenzen verpacken.
Siehe auch:
http://java.sun.com/performance/reference/whitepapers/tuning.html
http://www.javaperformancetuning.com/tips/rawtips.shtml

Plattformunabhängig wird je nach Verwendungszweck knifflig; Python findest du auch nicht auf jedem Rechner, zudem ist es (meist) noch langsamer.
C++ wäre eine Möglichkeit, kann aber in Verwendung mit grafischen Oberflächen AFAIK schnell häßlich werden (KDE/QT, Gnome/Gtk, ...)

Iteranium
28-04-2010, 13:53
Wow, ich habe meistens alles einfach public aus Bequemlichkeit … wenn das so viel bringt, muss ich da natürlich noch mal ran.

Gut, dann werde ich wohl bei Java bleiben.

John W
28-04-2010, 17:41
Dafür sollte man dich in Hintern treten.
Java bietet nicht umsonst Datenkapselung an, bei dem Programm, das ich gerade schreibe, könnte sowas ziemlich fiese Konsequenzen haben - Plugins könnten ungestraft die Daten schreddern.
Allgemein gilt: Was du nicht auch ganz draussen brauchst (außerhalb des Packages), mach nicht public.
Wenn du etwas im Package brauchst, lass den Scope weg (Scope = public/protected/private).
Was in vererbten Klassen benutzt werden soll, mach protected, den Rest private.
Gilt sowohl für Methoden als auch für Referenzen.

Wenn eine Klasse nicht als Superklasse dienen soll, deklarier sie komplett als final (alle Methoden sind dann automatisch ebenfalls final und profitieren von der Laufzeitoptimierung).

Iteranium
28-04-2010, 18:59
Tritt zur Kenntnis genommen :)

Meine Programme sind definitiv nichts Weltbewegendes, und werden außerhalb meines Rechners wohl kaum verwendet. Aber für die Zukunft werde ich das beherzigen.

Noch eine allgemeine Frage:
Ich programmiere in Eclipse und hatte bisher für jedes Programm ein eigenes Projekt und alles im Standardpackage geschrieben. Jetzt habe ich meine Struktur nach de.mein_name.kategorie.projekt aufgebaut. Ist das sinnvoller als vorher? Oder komplett verkehrt?

bischi
29-04-2010, 08:06
Rendern mit Povray und dann ein Video machen ;) Solange du keine Interaktion brauchst :p

MfG Bischi

Iteranium
29-04-2010, 12:33
Bei einigen Sachen ist die Interaktion schon nötig, für die anderen schaue ich mir das Programm mal an. Wobei man auch einfach aus Java heraus PNGs erzeugen kann und die mit den Quicktime Player zu einem Video zusammensetzen kann.

bischi
29-04-2010, 14:34
Aber wenns 3D sein soll, dann ist Povray einfach spitze ;)

MfG Bischi

John W
29-04-2010, 15:08
Jetzt habe ich meine Struktur nach de.mein_name.kategorie.projekt aufgebaut. Ist das sinnvoller als vorher? Oder komplett verkehrt?
So ist's fein, so solls sein :)

igtto210
16-05-2010, 03:52
A bit of advice for those about to retire. If you are only 65,buy (http://www.igtto.com/gold_game.php?id=2) World (http://www.igtto.com/gold_game.php?id=2)of Warcraft gold never move to a retirement community.buy wow (http://www.igtto.com/)gold Everybody else is n their 70s, 80s, or 90s. So when something has to be moved, lifted or loaded,cheapest wow gold (http://www.igtto.com/) they yell,"Get the kid."