Stellarium er et planetarieprogram, der simulerer stjernehimmelen. Man kan programmere i dette, og redigeringsværktøjet åbner man ved i Stellarium at trykke på F12.
Den hurtigste måde at komme i gang med at scripte, er ved at åbne et af de eksisterende scripts, afvikle scriptet og derefter sammenligne koden med det, man ser på skærmen.
I linkene herunder er der hjælp at hente, når man leder efter en bestemt funktion, man vil udføre.
Klasser, som brugere kan anvende i scripting
core kalder mulige funktioner i StelMainScriptApi
Derudover kan man kalde følgende objekter direkte
ConstellationMgr
GridLinesMgr
LabelMgr
LandscapeMgr
MeteorShowerMgr
NebulaMgr
ScreenImageMgr
SolarSystem
StarMgr
StelAudioMgr
StelVideoMgr
StelMovementMgr
StelSkyDrawer
StelSkyLayerMgr
En komplet liste kan man se her.
Eksempel – Betelgeuse
Man klikker på linket ovenfor, hvor man så ser, hvilke metoder, der er tilladte på hvert objekt, og der står også hvilke parametre, man kan tildele en metode.
Eksempel: Man vil tænde Ækvatorealsystemets linier, og derefter hoppe hen på Betelgeuse og zomme ind på den. Det kan skrives som
GridLinesMgr.setFlagEquatorGrid(true); | Her tændes ækvatorealkoordinatsystemet |
core.selectObjectByName(”Betelgeuse”,true); | Her vælges Betelgeuse og sigtekornet er tændt. (Man kan slukke sigtekornet ved at erstatte true med false.) |
StelMovementMgr.setFlagTracking(true); | Endelig drejes hen til det valgte objekt, som i vores tilfælde er Betelgeuse. |
StelMovementMgr.zoomTo(5,7); | Her zoomes ind til et synsfelt på 5 grader og zoomprocessen skal tage 7 sek. |
Eksempel – Udforsk Andromeda
Herunder er et kort eksempel på et script, der udpeger stjernebilledet Andromeda – viser konstellationslinier samt navn, derefter mytologisk grafik, og endelig zoomes der ind på Andromedagalaksen inden man går tilbage til startpositionen.
// Name: Udforsk Orion
// License: Public Domain
// Author: Michael Andrew Dolan Moeller
//Description: Udforsk stjerner og taager i Andromeda
//Initialisering
core.setMinFps(30);
core.goHome();
core.clear(“natural”);
core.setProjectionMode(“Stereographic”);
LandscapeMgr.setFlagAtmosphere(false);
LandscapeMgr.setFlagFog(false);
LandscapeMgr.setFlagLandscape(false);
core.wait(5);
//Vaelg Andromeda og zoom ind.
core.selectObjectByName(“Andromeda”,false);
StelMovementMgr.setFlagTracking(true);
StelMovementMgr.zoomTo(70,10);
ConstellationMgr.setFlagIsolateSelected(true);
//Vis konstellationslinier og derefter kunstnerisk grafik.
core.wait(5);
ConstellationMgr.setFlagConstellationPick(“Andromeda”,false);
ConstellationMgr.setFlagLines(true);
ConstellationMgr.setFlagLabels(true);
core.wait(5);
ConstellationMgr.setFlagLines(false);
ConstellationMgr.setFlagLabels(false);
ConstellationMgr.setFlagArt(true);
core.wait(5);
ConstellationMgr.setFlagArt(false);
//Vis nabokonstellationerne
ConstellationMgr.setFlagIsolateSelected(false);
// core.wait(10);
ConstellationMgr.setFlagIsolateSelected(true);
core.selectObjectByName(“Andromeda”,false);
StelMovementMgr.setFlagTracking(true);
StelMovementMgr.zoomTo(50,10);
//core.wait(5);
//Besoeg galaksen M31.
ConstellationMgr.setFlagArt(false);
core.setSelectedObjectInfo(“None”);
core.selectObjectByName(“M31”,false);
StelMovementMgr.setFlagTracking(true);
StelMovementMgr.zoomTo(2,20);
core.wait(25);
// Afslut
core.goHome();
LandscapeMgr.setFlagLandscape(true);
core.exit();
Af koden ovenfor kan man se, at den består af en bunke klasser og objekter, som har tilknyttet metoder og egenskaber.