Códigos‎ > ‎

Scripts

Un script (cuya traducción literal es guión) o archivo de órdenes o archivo de procesamiento por lotes es un programa usualmente simple, que por lo regular se almacena en un archivo de texto plano. Los script son casi siempre interpretados, pero no todo programa interpretado es considerado un script. El uso habitual de los scripts es realizar diversas tareas como combinar componentes, interactuar con el sistema operativo o con el usuario. Por este uso es frecuente que los shells sean a la vez intérpretes de este tipo de programas. Fuente: Wikipedia

Script para Stellarium: Zodiaco

Este script, para Stellarium 0.10.5 es una modificación del script Zodiac de Matthew Gates.
El objetivo del script es mostrar sólo las constelaciones del zodíaco y algunos mensajes en pantalla. Los mensajes se muestran y ocultan fijando una cantidad de tiempo. 
Para que el objetivo de mostrar el aparente paso del Sol por las constelaciones tenga lugar, habrá que:
-Quitar suelo y atmósfera
-Poner límites y nombres de las constelaciones
-Fecha de comienzo 27-11-2010
-Ir variando la fecha (con el mouse o con la flecha Up cuando el cursor está en el campo día) para que concuerde con el texto.
Script en formato ssc.


// Name: Zodiaco
// Author: Gerardo Blanco (Argentina) 2010, basado en el script Zodiac de Matthew Gates
// License: Public Domain
// Description: El script muestra las constelaciones del Zodiaco, las que yacen a lo largo de la línea de la //eclíptica durante un año, usando 2010-2011.
//

//basics
StelSkyDrawer.setFlagLuminanceAdaptation(false);
o = 1;
i = 1;
sl = StarMgr.getLabelsAmount()

var constellations = new Array("Gemini", "Cancer", "Leo", "Virgo", "Libra", "Scorpius", "Ophiuchus", "Sagittarius", "Capricornus", "Aquarius", "Pisces", "Aries", "Taurus");


ConstellationMgr.setFlagIsolateSelected(true);
ConstellationMgr.setFlagArt(true);
ConstellationMgr.setFlagLabels(true);
ConstellationMgr.setArtIntensity(0.6);

for(i=0; i<constellations.length; i++)
{
core.selectObjectByName(constellations[i], false);
core.wait(0.6);
}

core.wait(1);
ConstellationMgr.setFlagBoundaries(true);
core.wait(1);
GridLinesMgr.setFlagEclipticLine(true);

// Labels
txt1 = LabelMgr.labelScreen("El aparente recorrido del Sol por las constelaciones...", 200, 50, false, 20, "#FFFF00");
LabelMgr.setLabelShow(txt1, true);
core.wait(2)
LabelMgr.setLabelShow(txt1, false);
core.wait(1);
txt1 = LabelMgr.labelScreen("...en la ACTUALIDAD.", 200, 50, false, 20, "#FFFF00");
LabelMgr.setLabelShow(txt1, true);
core.wait(1)
LabelMgr.setLabelShow(txt1, false);
core.wait(1);
txt1 = LabelMgr.labelScreen("El Sol en "+ constellations[4]+" 31-10 al 22-11", 600, 50, false, 20, "#FFFF00");
LabelMgr.setLabelShow(txt1, true);
core.wait(10)
LabelMgr.setLabelShow(txt1, false);
core.wait(1);
txt1 = LabelMgr.labelScreen("El Sol en "+ constellations[5]+" 23-11 al 29-11", 600, 50, false, 20, "#FFFF00");
LabelMgr.setLabelShow(txt1, true);
core.wait(5)
LabelMgr.setLabelShow(txt1, false);
core.wait(1);
txt1 = LabelMgr.labelScreen("El Sol en "+ constellations[6]+" 30-11 al 17-12", 600, 50, false, 20, "#FFFF00");
LabelMgr.setLabelShow(txt1, true);
core.wait(10)
LabelMgr.setLabelShow(txt1, false);
core.wait(1);
txt1 = LabelMgr.labelScreen("El Sol en "+ constellations[7]+" 18-12 al 18-01", 600, 50, false, 20, "#FFFF00");
LabelMgr.setLabelShow(txt1, true);
core.wait(10)
LabelMgr.setLabelShow(txt1, false);
core.wait(1);
txt1 = LabelMgr.labelScreen("El Sol en "+ constellations[8]+" 19-01 al 15-02", 600, 50, false, 20, "#FFFF00");
LabelMgr.setLabelShow(txt1, true);
core.wait(10)
LabelMgr.setLabelShow(txt1, false);
core.wait(1);
txt1 = LabelMgr.labelScreen("El Sol en "+ constellations[9]+" 16-02 al 11-03", 600, 50, false, 20, "#FFFF00");
LabelMgr.setLabelShow(txt1, true);
core.wait(10)
LabelMgr.setLabelShow(txt1, false);
core.wait(1);
txt1 = LabelMgr.labelScreen("El Sol en "+ constellations[10]+" 12-03 al 18-04", 600, 50, false, 20, "#FFFF00");
LabelMgr.setLabelShow(txt1, true);
core.wait(10)
LabelMgr.setLabelShow(txt1, false);
core.wait(1);
txt1 = LabelMgr.labelScreen("El Sol en "+ constellations[11]+" 19-04 al 13-05", 600, 50, false, 20, "#FFFF00");
LabelMgr.setLabelShow(txt1, true);
core.wait(10)
LabelMgr.setLabelShow(txt1, false);
core.wait(1);
txt1 = LabelMgr.labelScreen("El Sol en "+ constellations[12]+" 14-05 al 19-06", 600, 50, false, 20, "#FFFF00");
LabelMgr.setLabelShow(txt1, true);
core.wait(10)
LabelMgr.setLabelShow(txt1, false);
core.wait(1);
txt1 = LabelMgr.labelScreen("El Sol en "+ constellations[0]+" 20-06 al 20-07", 600, 50, false, 20, "#FFFF00");
LabelMgr.setLabelShow(txt1, true);
core.wait(10)
LabelMgr.setLabelShow(txt1, false);
core.wait(1);
txt1 = LabelMgr.labelScreen("El Sol en "+ constellations[1]+" 21-07 al 09-08", 600, 50, false, 20, "#FFFF00");
LabelMgr.setLabelShow(txt1, true);
core.wait(10)
LabelMgr.setLabelShow(txt1, false);
core.wait(1);
txt1 = LabelMgr.labelScreen("El Sol en "+ constellations[2]+" 10-08 al 15-09", 600, 50, false, 20, "#FFFF00");
LabelMgr.setLabelShow(txt1, true);
core.wait(10)
LabelMgr.setLabelShow(txt1, false);
core.wait(1);
txt1 = LabelMgr.labelScreen("El Sol en "+ constellations[3]+" 16-09 al 30-10", 600, 50, false, 20, "#FFFF00");
LabelMgr.setLabelShow(txt1, true);
core.wait(10)
LabelMgr.setLabelShow(txt1, false);
core.wait(1);
txt1 = LabelMgr.labelScreen("Los 'Signos del Zodíaco' en astrología...", 300, 50, false, 30, "#FFFF00");
LabelMgr.setLabelShow(txt1, true);
core.wait(5)
txt1 = LabelMgr.labelScreen("...no se corresponden con el...", 500, 100, false, 30, "#FFFF00");
LabelMgr.setLabelShow(txt1, true);
core.wait(5)
txt1 = LabelMgr.labelScreen("...aparente 'tránsito' del Sol...", 500, 150, false, 30, "#FFFF00");
LabelMgr.setLabelShow(txt1, true);
core.wait(5)
txt1 = LabelMgr.labelScreen("...por las constelaciones...", 500, 200, false, 30, "#FFFF00");
LabelMgr.setLabelShow(txt1, true);
core.wait(5)
txt1 = LabelMgr.labelScreen("...en la ACTUALIDAD.", 500, 250, false, 32, "#FFFF00");
LabelMgr.setLabelShow(txt1, true);
core.wait(5)
txt1 = LabelMgr.labelScreen("Pero lo que más importa es que...", 500, 300, false, 30, "#FFFF00");
LabelMgr.setLabelShow(txt1, true);
core.wait(5)
txt1 = LabelMgr.labelScreen("...los planetas NO INFLUYEN...", 500, 350, false, 32, "#FFFF00");
LabelMgr.setLabelShow(txt1, true);
core.wait(5)
txt1 = LabelMgr.labelScreen("...en nuestra vida cotidiana.", 500, 400, false, 30, "#FFFF00");
LabelMgr.setLabelShow(txt1, true);
core.wait(5)
txt1 = LabelMgr.labelScreen("FIN", 700, 450, false, 35, "#FFFF00");
LabelMgr.setLabelShow(txt1, true);
core.wait(10);

--------

Script Celestia 1.6: Zodíaco

Usando Celestia 1.6 y un script de Marco Klunder de CelestiaMotherlode también se visualizan sólo las 13 constelaciones del zodíaco.

Es mejor si sólo se visualiza 1 estrella (el Sol), sin planetas, y con los límites de las constelaciones y nombres.
Las figuras también se podrían mostrar, aunque elegí no hacerlo. Hay imágenes en el sitio antes mencionado que se agregan a la carpeta Extras. Hay que tildar la opción para mostrar nebulosas para su visualización. El script original tiene texto en inglés y no visualiza sólo las 13 constelaciones. Lo que hice fue agregar un vector con las constelaciones adecuadas, esconder las constelaciones (todas) y mostrar sólo el vector.
El script es en formato .celx
--
-- Zodiaco
--
-- Por Gerardo Blanco (noviembre 2010) en base al script Zodiac_EN_2009.celx V1.1 de Marco Klunder.
--

function CEL(source) 
   local script = celestia:createcelscript(source) 
   while script:tick() do 
      wait(0) 
   end 
end

--
-- Initialisation
--

celestia:setrenderflags{stars=true}
celestia:setrenderflags{constellations = true}
celestia:hideconstellations()
zodiac = {"Pisces", "Aries", "Taurus", "Gemini", "Cancer", "Leo", "Virgo", "Libra",
          "Scorpius", "Ophiuchus", "Sagittarius", "Capricornus", "Aquarius"}
celestia:showconstellations(zodiac)
obs=celestia:getobserver()
obs:setfov(math.rad(110.0))
sun=celestia:find("Sol")
sun:preloadtexture()
earth=celestia:find("Sol/Earth")
earth:preloadtexture()
moon=celestia:find("Sol/Earth/Moon")
moon:preloadtexture()
celestia:settimescale(1)
celestia:print("Pulse:\n- la [barra] para pausa.\n- Pulse la tecla [Esc] para cancelar.", 5.0, -1, -1, 1, 5)
wait(6.0)


CEL([[{seturl {url "cel://PhaseLock/Sol:Earth/Sol/2009-07-03T08:24:58.02448?x=IfjCaZVasA&y=nBH4F8p89f///////////w&z=ktZkSyu1BA&ow=0.498197&ox=-0.501801&oy=0.498191&oz=0.501798&select=Sol&fov=101.85&ts=1.25e+006&ltd=0&p=0&rf=10753&lm=34824&tsrc=0&ver=3" }}]])
celestia:settimescale(200000)


ċ
Zodiaco.celx
(1k)
Gerardo Blanco,
27 nov. 2010 7:05
ċ
zodiaco.ssc
(5k)
Gerardo Blanco,
27 nov. 2010 7:05
Comments