|
Geschrieben von Philip
|
|
Sonntag, 28. Mai 2006 |
E I N P R O G R A M M I E R T O O L F Ü R C E L E S T I A Vielen Amateurastronomen und astronomischen Einrichtungen ist der 3D-Weltraumsimulator Celestia, programmiert von Chris Laurel, längst ein Begriff. Das es möglich ist, Celestia über eine einfache Skriptsprache zu steuern, wissen aber nur wenige. Durchsucht man das Internet nach Skriptdateien wird man bis jetzt kaum fündig. Dabei ist es so einfach eigene Dateien zu erstellen und Celestia ist ein mächtiges Werkeug um multimediale Flüge durchs Weltall selbst zu erstellen. Da es aber viele Leute abschreckt, eine Skriptsprache zu erlernen, gibt es nun das Celestia-Programmiertool CelPro mit dem jeder nach kurzer Einarbeitung eigene Skriptdateien erstellen kann.
Was ist Celestia?
Celestia ist ein 3D-Weltraumsimulator, der von Chris Laurel programmiert wurde und als Freeware im Internet erhältlich ist.[i] Am Besten stellt man sich ein fiktives Raumschiff vor, mit dem man dann durch das komplette Sonnensystem fliegen, sich die Planeten aus verschiedenen Blickwinkeln anschauen, die Zeit beschleunigen, die Monde betrachten und sogar zu fremden Sternen reisen kann. Dabei ist es auch kein Problem, sich die Sternbilder anzeigen zu lassen. Im Internet ist eine Vielzahl von Erweiterungen erhältlich. So ist es möglich sich die Planeten aus den Star Wars – Filmen auf den Rechner zu holen und durch eine Reise zum Stern HD143761 zu betrachten. Die Planeten können auch animiert werden. Dazu stehen verschieden Modi zur Verfügung. So können Sie beispielsweise um die Erde kreisen auf einer synchronen Umlaufbahn, oder ihr auf ihrer Reise um die Sonne folgen. Verändern Sie die Zeitrate um Vorgänge zu sehen, die normalerweise Jahre dauern würden. All das und einiges mehr ist möglich. Falls Sie Celestia noch nicht kennen, lohnt sich ein Besuch auf der Webseite. Celestia hat aber einen weiteren großen Vorteil vor allem für Volkssternwarten. Es ist so programmiert, dass sich die Reisen durch das All nicht nur durch Tastaturbefehle steuern lassen, sondern man durch einfache Skriptdateien eigene Reiserouten festlegen und diese beispielsweise an vorhanden Kinderlieder über das Weltall anpassen kann und somit sehr anschauliche und realistische Multimediashows für den Gebrauch bei Führungen erstellen kann. Diese Praxis wird derzeit beispielsweise von der Sternwarte Hof eingesetzt.
Wie „programmiert“ man Celestia?
Der Leiter der Sternwarte Hof, Kurt Hopf, und der Autor haben sich an einem Abend im Vortragssaal der Sternwarte mit der Skriptsprache von Celestia beschäftigt. Nach dem ausgiebigen Betrachten des Demoskripts (demo.cel) waren die meisten Befehle verständlich und erste eigene Versuche wurden unternommen. Die einzelnen Befehle sind im Kasten am Ende des Artikels genauer erklärt. Skriptdateien können prinzipiell mit jedem noch so einfachen Texteditor erstellt werden. Sie unterscheiden sich von einer Textdatei nur durch die Endung .cel anstelle von .txt. Der eigentliche Skripttext muss in geschweiften Klammern stehen {...Skript...}. Als erstes sollten Sie sich überlegen, welche Dinge angezeigt werden sollen. Dafür steht der Befehl renderflags {set/clear ... } zur Verfügung. Mit „set“ werden die Objekte angeschaltet und mit „clear“ abgeschaltet. Ebenso verhält es sich mit den Beschriftungen. Der Befehl dafür lautet: labels {set/clear ... }. Wenn diese Einstellungen vorgenommen wurden kann mit dem eigentlichen Skript begonnen werden. Nach der Auswahl eines Objektes (mit select { object „...“ }) wird angegeben, wie Celestia mit diesem Objekt verfahren soll. Es ist möglich, in einen Orbit um das Objekt einzuschwenken, die eigene Lage im Raum zu verändern, das Objekt zu zentrieren, zum Objekt zu „fliegen“, dem Objekt zu folgen, einen Zoomvorgang vorzunehmen, beim Objekt zu verweilen und vieles mehr.[ii] So verfährt man nun mit allen weiteren Objekten, die für das Skript notwendig sind. Am Ende wird die Skriptdatei mit der Endung .cel abgespeichert und ist nun bereit für einen Probelauf.
Wie führt man ein Skript vor?
Um eine eigene Datei mit Celestia vorzuführen sind einige Dinge zu beachten. In der aktuellen Fassung von Celestia gibt es zwar die Funktion „Open Script“ um eigene Dateien in Celestia zu laden, aber die Erfahrung des Autors hat gezeigt, dass dieses Vorgehen meist dazu führt, dass die Bilder für die Planeten von Celestia nicht mehr gefunden werden und die Planeten dann nur als einfarbige Kugel erscheinen. Der Grund dafür ist vermutlich, dass der Programmierer von Celestia einige Codezeilen im Programm versteckt hat, die offenbar nur dann ablaufen, wenn der Benutzer im Menü „Help“ auf den Befehl „Run Demo“ klickt. Durch diesen Vorgang wird der Code aufgerufen und einige Einstellungen an Celestia vorgenommen, die nötig sind um das Skript ordnungsgemäß darzustellen. Deswegen empfiehlt es sich, die Skriptdatei im Celestia-Verzeichnis einfach in „demo.cel“ umzubenennen und dann über „Help/Run Demo“ zu starten. Wichtig ist auch, dass Celestia vor jeder Vorführung neu gestartet wird. Wenn diese Punkte beachtet werden, müsste das Skript einwandfrei ablaufen. Sollte es gar nicht erst starten, hat sich vermutlich ein Fehler in den Code eingeschlichen. Es genügt zum Beispiel bereits die abschließende geschweifte Klammer am Ende des Skripts zu vergessen oder einen einzigen Tippfehler zu machen, damit Celestia die Ausführung verweigert. Vielen wiedersagt nicht zu letzt deswegen der Gedanke eine Skriptsprache zu lernen, da es dazu nötig ist jeden Befehl und seine genaue Schreibweise zu kennen. Andere befassen sich erst gar nicht damit, weil sie eine Abneigung gegen Programmieren haben oder scheuen die Schreibarbeit. Dies war die Motivation des Autors, ein Programm zu entwickeln, welches dem Benutzer bei der Programmierung von eigenen Skriptdateien unterstützt. Diese Idee wurde vor einigen Wochen geboren und der Skripteditor ist mittlerweile fertig und soll nun vorgestellt werden.
Celestia-Programmiertool CelPro V 2.0
CelPro ist ein Skripteditor, welcher in der Lage ist, Skripttext zu erstellen. Es kennt die Befehle der Skriptsprache und deren korrekte Schreibweise. Es ist damit für den Anwender nicht mehr nötig sich mit der Skriptsprache zu befassen. Der Benutzer muss lediglich die Parameter für die einzelnen Befehle in die entsprechenden Felder eingeben oder Optionen auswählen. Der Befehl wird dann von CelPro so erstellt, dass Celestia ihn lesen kann. So werden auch lästige Tippfehler vermieden und die Wahrscheinlichkeit, dass das erstellte Skript funktioniert wird dadurch erhöht. CelPro überprüft auch die Eingaben des Benutzers, so dass es nicht mehr möglich ist, z. B. einen Buchstaben dort einzugeben, wo eine Zahl benötigt wird. Zudem ist CelPro auch ein eigener Texteditor. Das Skript oder Teile davon können kopiert, ausgeschnitten und eingefügt werden. Die Dateien werden direkt als *.cel Dateien gespeichert und lassen sich vom Skripteditor aus öffnen und speichern. Der Benutzer hat die Möglichkeit, von CelPro aus das Programm „Celestia“ zu starten, um das Skript direkt zu testen oder vorzuführen[iii]. Am Ende des Artikels sind das Hauptfenster und ein Befehleingabedialog abgebildet. Programmiert wurde CelPro mit Visual Basic 6.0. Lauffähig ist es auf allen Rechner, auf denen auch Celestia läuft (welches allerdings ziemliche Anforderungen an den Rechner stellt). Die Auflösung des Monitors muss mindestens 1024x768 betragen, damit das Hauptfenster des Programms voll dargestellt werden kann. Die aktuelle Version V 2.0 ist jetzt erhältlich. Die Vorgängerversionen wurden nur an die Mitglieder des Astroteams der Sternwarte Hof verteilt und von diesen getestet. Die nun vorliegende Version ist mit folgenden Features ausgestattet: · Es wurde in Rechner für das Julianische Datum hinzugefügt. Die Funktion time {} ermöglicht dem Benutzer, Celestia zu jedem beliebigen Zeitpunkt (z.B. eine Sonnenfinsternis) springen zu lassen. Dafür ist die Eingabe des Julianischen Datums erforderlich. · Die Skriptdateien lassen sich nun über die Standarddialoge von Windows öffnen und speichern. · Es wurde eine Symbolleiste und ein Menü hinzugefügt um die Arbeit für den Benutzer zu erleichtern. · Über die Buttons „Celestia“ und „start.cel laden“ können das Programm „Celestia“ gestartet und das Startskript (wird beim Start von „Celestia“ aufgerufen) in den Editor geladen werden. · Der Skripteditor hat sämtliche Bearbeitungsfunktionen wie ein Texteditor. · Es werden Beispielskripts mitgeliefert.
Wie installiert man CelPro?
Es gibt zwei Möglichkeiten CelPro auf dem Rechner zu installieren: 1. Die Installation erfolgt manuell. Dazu ist es erforderlich die Datei „CelPro.exe“ aus dem Verzeichnis „Zusatz“ auf der CelPro CD-Rom in das Verzeichnis von „Celestia“ zu kopieren. 2. Automatische Installation: Sollte die manuelle Installation nicht funktionieren, weil z.B. gewisse Dateien auf dem Rechner fehlen, ist es notwendig, das Setup-Programm auszuführen. Es befindet sich ebenfalls auf der CD-Rom. Bei einer älteren Version von Windows 98 kann es vorkommen, dass das System eine Aktualisierung von Systemkomponenten verlangt. Bei einem dieser Fälle kam es jedoch dazu, dass nach der Installation einige andere Programme nicht mehr lauffähig waren. Dies liegt an gewissen Inkompatibilitäten zwischen einigen Systemdateien auf dem Rechner des Benutzers mit den Dateien, die das Setup-Programm kopiert. Sollte ihr System also eine Aktualisierung verlangen, ist Vorsicht geboten, bei der manuellen Installation kommt es zu keinen Problemen.
|
|