Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //
- // Name: Objetos del libro "Guía del Firmamento"
- // License: Public Domain
- // Author: elinformatico
- // Description: Un recorrido por los objetos celestes
- // del libro "Guía del Firmamento" de Jose Luis Comellas<br>
- // Requiere "comellas.inc"<br>
- // Base de datos de objetos por Patricio Leiva
- //
- //
- // ---------------------------------------------------
- var SLEW = 3; // velocidad del slew en segundos
- var FOV = 3; // FOV (Field of view) en grados
- var cx = 20; // posicion horizontal del texto informativo
- var cy = 20; // posicion vertical del texto informativo
- var ml = true // mostrar lineas de constelaciones (true/false)
- // ----------------------------------------------------
- include("comellas.inc");
- var cons = new Array("Osa Menor + Dragón + Cefeo + Jirafa","Osa Mayor + Perros de caza","Dragón + Cefeo","Cassiopeia",
- "Jirafa + Lince","León + Sextante","Virgo + Cabellera de Berenice","Hydra + Brújula + Cuervo + Centauro",
- "Libra + Lupus","Boyero + Corona Borealis","Hércules","Serpiente + Ofiuco","Escorpión + Ofiuco",
- "Sagitario + Scutum + Corona Australis","Águila + Sagitta + Delphinus + Equuleus","Lira + Cisne + Zorrilla",
- "Capricornio + Acuario + Peces","Pez Austral + Escultor + Microscopio","Pegaso",
- "Lagarto + Andrómeda + Triángulo","Aries + Peces","Ballena","Eridanus + Horno","Perseo","Auriga","Tauro",
- "Géminis + Cáncer","Orión + Liebre + Columba","Can Mayor + Can Menor","Unicornio + Orión","Puppis");
- var cone = new Array("Ursa Minor","Ursa Major","Draco","Cassiopeia","Camelopardalis",
- "Leo","Virgo","Hydra","Libra","Bootes",
- "Hercules","Serpens","Scorpius","Sagittarius","Aquila","Lyra",
- "Capricornus","Piscis Austrinus","Pegasus","Lacerta","Aries","Cetus","Eridanus",
- "Perseus","Auriga","Taurus","Gemini","Orion","Canis Major","Monoceros","Puppis",
- "Cefeo","Perros de caza","Lince","Sextante","Cabellera de Berenice","Brújula",
- "Cuervo","Centauro","Lupus","Corona Borealis","Ofiuco","Escudo","Corona Australis",
- "Sagitta","Delphinus","Equuleus","Cisne","Zorrilla","Acuario","Peces","Escultor",
- "Microscopio","Andrómeda","Triángulo","Horno","Cáncer","Liebre","Columba","Can Menor","Copa","Leon Menor");
- var conr= new Array(
- "UMi","UMa","Dra","Cas","Cam","Leo","Vir","Hya","Lib",
- "Boo","Her","Ser","Sco","Sgr","Aql","Lyr","Cap","PsA",
- "Peg","Lac","Ari","Cet","Eri","Per","Aur","Tau","Gem",
- "Ori","CMa","Mon","Pup","Cep","CVn","Lyn","Sex","Com",
- "Pyx","Crv","Cen","Lup","CrB","Oph","Sct","CrA","Sgt",
- "Del","Equ","Cyg","Vul","Aqr","Psc","Scl","Mic","And",
- "Tri","For","Can","Lep","Col","CMi","Crt","LMi");
- var ssn= new Array("Circumpolar","Primavera","Verano","Otoño","Invierno");
- var ssm = new Array(0,0,0,0,0,1,1,1,1,1,2,2,2,2,2,2,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4)
- // indice
- var conz = new Array(7,335,863,1311,1703,1967,2383,3095,3503,3655,
- 3935,4159,4535,5031,5615,6103,6863,7271,7367,7639,8079,8287,8759,8951,
- 9375,9711,10119,10647,11479,11879,12311,12679);
- var mnt = core.getMountMode(); // obtener montura utilizada
- var lin = ConstellationMgr.getFlagLines(); // obtener config. usuario lineas constelaciones
- var le = 0;
- core.selectObjectByName(cone[le],true);
- Menu();
- function Menu(){
- core.setRealTime();
- StelMovementMgr.zoomTo(60,SLEW); // FOV inicial 60
- core.clear("natural");
- LandscapeMgr.setFlagCardinalsPoints(true);
- StarMgr.setFlagStars(true);
- StarMgr.setFlagLabels(true);
- NebulaMgr.setFlagHints(false);
- ConstellationMgr.setFlagLines(ml);
- ConstellationMgr.setFlagBoundaries(false);
- ConstellationMgr.setFlagIsolateSelected(false);
- ConstellationMgr.setFlagArt(false);
- ConstellationMgr.setFlagLabels(false);
- LabelMgr.deleteAllLabels();
- StelMovementMgr.setFlagTracking(true);
- core.setTimeRate(0);
- var opx = LabelMgr.labelScreen("Para elegir constelación pulse +,=,M. Para seleccionarla pulse B",12,28,false,18,"#FF0000");
- LabelMgr.setLabelShow(opx, true);
- var opy = LabelMgr.labelScreen("by elinformatico",12,115,false,14,"#FF0000");
- LabelMgr.setLabelShow(opy, true);
- ConstellationMgr.setFlagLabels(true);
- var rp = ssm[le];
- var optg = LabelMgr.labelScreen(ssn[rp],10,50,false,18,"#FF0000");
- LabelMgr.setLabelShow(optg, true);
- // lista de constelaciones
- var opt = LabelMgr.labelScreen(cons[le] + " (" + (conz[le+1]-conz[le])/8+ " objetos)" + " Pagina: " + objetos[conz[le]],160,50,false,18,"#009900");
- LabelMgr.setLabelShow(opt, true);
- if (le<=29){
- var opt1 = LabelMgr.labelScreen(cons[le+1] + " (" + (conz[le+2]-conz[le+1])/8+ " objetos)" + " Pagina: " + objetos[conz[le+1]],160,72,false,18,"#990000");
- LabelMgr.setLabelShow(opt1, true);
- }
- if (le<=28){
- var opt2 = LabelMgr.labelScreen(cons[le+2] + " (" + (conz[le+3]-conz[le+2])/8+ " objetos)" + " Pagina: " + objetos[conz[le+2]],160,94,false,18,"#660000");
- LabelMgr.setLabelShow(opt2, true);
- }
- if (le==29)
- {
- var opt2 = LabelMgr.labelScreen(cons[le-29] + " (" + (conz[le-28]-conz[le-29])/8+ " objetos)" + " Pagina: " + objetos[conz[le-29]],160,94,false,18,"#660000");
- LabelMgr.setLabelShow(opt2, true);
- }
- if (le==30)
- {
- var opt1 = LabelMgr.labelScreen(cons[0] + " (" + (conz[1]-conz[0])/8+ " objetos)" + " Pagina: " + objetos[conz[0]],160,72,false,18,"#990000");
- LabelMgr.setLabelShow(opt1, true);
- var opt2 = LabelMgr.labelScreen(cons[1] + " (" + (conz[2]-conz[1])/8+ " objetos)" + " Pagina: " + objetos[conz[1]],160,94,false,18,"#660000");
- LabelMgr.setLabelShow(opt2, true);
- }
- var rp1=0;
- // bucle del menú
- d = Math.floor(core.getJDay());
- var r = d;
- t = ConstellationMgr.getFlagBoundaries();
- while (t==false)
- {
- r = Math.floor(core.getJDay());
- if (Math.abs(r-d) > 0)
- {
- LabelMgr.setLabelShow(opt, false);
- LabelMgr.setLabelShow(opt1, false);
- LabelMgr.setLabelShow(opt2, false);
- if (le==30)
- {
- le = 0;
- }else{
- le = le + 1;
- }
- rp = ssm[le];
- if (rp!=rp1)
- {
- LabelMgr.setLabelShow(optg, false);
- var optg = LabelMgr.labelScreen(ssn[rp],10,50,false,18,"#FF0000");
- LabelMgr.setLabelShow(optg, true);
- rp1=rp;
- }
- var opt = LabelMgr.labelScreen(cons[le] + " (" + (conz[le+1]-conz[le])/8+ " objetos)" + " Pagina: " + objetos[conz[le]],160,50,false,18,"#009900");
- LabelMgr.setLabelShow(opt, true);
- if (le<=29)
- {
- var opt1 = LabelMgr.labelScreen(cons[le+1] + " (" + (conz[le+2]-conz[le+1])/8+ " objetos)" + " Pagina: " + objetos[conz[le+1]],160,72,false,18,"#990000");
- LabelMgr.setLabelShow(opt1, true);
- }
- if (le<=28)
- {
- var opt2 = LabelMgr.labelScreen(cons[le+2] + " (" + (conz[le+3]-conz[le+2])/8+ " objetos)" + " Pagina: " + objetos[conz[le+2]],160,94,false,18,"#660000");
- LabelMgr.setLabelShow(opt2, true);
- }
- if (le==29)
- {
- var opt2 = LabelMgr.labelScreen(cons[le-29] + " (" + (conz[le-28]-conz[le-29])/8+ " objetos)" + " Pagina: " + objetos[conz[le-29]],160,94,false,18,"#660000");
- LabelMgr.setLabelShow(opt2, true);
- }
- if (le==30)
- {
- var opt1 = LabelMgr.labelScreen(cons[0] + " (" + (conz[1]-conz[0])/8+ " objetos)" + " Pagina: " + objetos[conz[0]],160,72,false,18,"#990000");
- LabelMgr.setLabelShow(opt1, true);
- var opt2 = LabelMgr.labelScreen(cons[1] + " (" + (conz[2]-conz[1])/8+ " objetos)" + " Pagina: " + objetos[conz[1]],160,94,false,18,"#660000");
- LabelMgr.setLabelShow(opt2, true);
- }
- core.setDate("-1 days");
- core.selectObjectByName(cone[le]);
- StelMovementMgr.setFlagTracking(true);
- }
- t = ConstellationMgr.getFlagBoundaries();
- }
- // cielo profundo
- LabelMgr.deleteAllLabels();
- ConstellationMgr.setFlagBoundaries(false);
- core.selectObjectByName(cone[le],true);
- StelMovementMgr.setFlagTracking(true);
- ConstellationMgr.setFlagLabels(false);
- LandscapeMgr.setFlagLandscape(false);
- ConstellationMgr.setFlagLines(ml);
- StarMgr.setFlagLabels(true);
- StarMgr.setFlagStars(true);
- NebulaMgr.setFlagHints(true);
- NebulaMgr.setFlagShow(true);
- LandscapeMgr.setFlagAtmosphere(false);
- LandscapeMgr.setFlagFog(false);
- LandscapeMgr.setFlagCardinalsPoints(false);
- var flg = 0;
- var i=conz[le];
- // obtener datos
- Co = objetos[i-7];
- Ra = objetos[i-6];
- Dec= objetos[i-5];
- Info1 = objetos[i-4];
- Info2 = objetos[i-3];
- Info3 = objetos[i-2];
- Info4 = objetos[i-1];
- Pag = objetos[i];
- Co2 = objetos[i+1];
- Ra2 = objetos[i+2];
- Dec2 = objetos [i+3];
- Info2_1 = objetos[i+4];
- Info2_2 = objetos [i+5];
- Info2_3 = objetos [i+6];
- Info2_4 = objetos [i+7];
- Pag2 = objetos[i+8];
- if (Co2 != Co)
- {
- flg=1;
- }
- // mover y centrar objeto
- core.moveToRaDecJ2000(Ra,Dec);
- StelMovementMgr.zoomTo(FOV,SLEW);
- // mostrar datos del objeto
- var label = LabelMgr.labelScreen(Info1 + " " + Info2 + " - " + Info3 + " " + Info4 + " - " + Co + " - Página " + Pag,cx,cy-5,false,18,"#FF0000");
- LabelMgr.setLabelShow(label, true);
- var label = LabelMgr.labelScreen("Ra: " + Ra,cx,cy + 20,false,14,"#FF0000");
- LabelMgr.setLabelShow(label, true);
- var label = LabelMgr.labelScreen("Dec: " + Dec,cx,cy + 40,false,14,"#FF0000");
- LabelMgr.setLabelShow(label, true);
- var label = LabelMgr.labelScreen("Siguiente: " + Info2_1 + " " + Info2_2 + " - " + Info2_3 + " " + Info2_4 + " - " + Co2 + " - Pagina " + Pag2,cx,cy + 56,false,18,"#FF0000");
- LabelMgr.setLabelShow(label, true);
- var label = LabelMgr.labelScreen("Ra: " + Ra2,cx,cy + 84,false,14,"#FF0000");
- LabelMgr.setLabelShow(label, true);
- var label = LabelMgr.labelScreen("Dec: " + Dec2,cx,cy + 104,false,14,"#FF0000");
- LabelMgr.setLabelShow(label, true);
- var label = LabelMgr.labelScreen("Siguiente: +,=,M. Otra constelacion: B. Salir: N",cx,cy+120,false,17,"#990000");
- LabelMgr.setLabelShow(label, true);
- i = i + 8;
- var la = (((conz[le+1]-conz[le])/8) - ((conz[le+1]-i)/8));
- var lb = (conz[le+1]-conz[le])/8;
- var label = LabelMgr.labelScreen("Objeto " + la + " de " + lb,cx,cy+140,false,17,"#990000");
- LabelMgr.setLabelShow(label, true);
- // bucle cielo profundo
- var le2 = le;
- var d = Math.floor(core.getJDay());
- var r = d;
- while (i <= 12679){ // ultimo objeto
- b = ConstellationMgr.getFlagBoundaries();
- if (b==true)
- {
- ConstellationMgr.setFlagLines(false);
- Menu(le); //enviar indice constelacion actual
- }
- n = NebulaMgr.getFlagHints();
- if (n==false)
- {
- Stop();
- }
- r = Math.floor(core.getJDay());
- if (Math.abs(r-d) > 0)
- {
- core.setDate("-1 days");
- LabelMgr.deleteAllLabels();
- Co = objetos[i-7];
- Ra = objetos[i-6];
- Dec= objetos[i-5];
- Info1 = objetos[i-4];
- Info2 = objetos[i-3];
- Info3 = objetos[i-2];
- Info4 = objetos[i-1];
- Pag = objetos[i];
- if(i < 12671) // no buscar siguiente info si es el último objeto
- {
- Co2 = objetos[i+1];
- Ra2 = objetos[i+2];
- Dec2 = objetos [i+3];
- Info2_1 = objetos[i+4];
- Info2_2 = objetos [i+5];
- Info2_3 = objetos [i+6];
- Info2_4 = objetos [i+7];
- Pag2 = objetos [i+8];
- }
- // ir al objeto
- core.moveToRaDecJ2000(Ra,Dec,SLEW);
- // indicar cambio de grupo de constelacion
- if (le>le2)
- {
- if (le==31)
- {
- le = 0;
- }else{
- if (le==5 || le==10 || le==16 || le==23)
- {
- rp=ssm[le];
- var labela = LabelMgr.labelScreen("Constelaciones de " + ssn[rp],430,260,false,20,"#FF0000");
- LabelMgr.setLabelShow(labela,true);
- }
- var labelb = LabelMgr.labelScreen("- " + cons[le] + " -",430,280,false,18,"#FF0000");
- LabelMgr.setLabelShow(labelb,true);
- le2=le;
- core.wait(3);
- LabelMgr.setLabelShow(labela,false);
- LabelMgr.setLabelShow(labelb,false);
- }
- }
- //indicar objeto fuera del grupo
- if (flg==1)
- {
- for (m=0;m<=61;m++)
- {
- if(conr[m]==Co)
- {
- var st=cone[m];
- var labelb = LabelMgr.labelScreen("Entrando en " + st,430,300,false,18,"#FF0000");
- LabelMgr.setLabelShow(labelb,true);
- core.wait(2);
- LabelMgr.setLabelShow(labelb,false);
- }
- }
- flg=0;
- }
- if (Co2 != Co)
- {
- flg=1;
- }
- var inf = LabelMgr.labelScreen(Info1 + " " + Info2 + " - " + Info3 + " " + Info4 +" - "+ Co + " - Página " + Pag,cx,cy-5,false,18,"#FF0000");
- LabelMgr.setLabelShow(inf, true);
- var label = LabelMgr.labelScreen("Ra: " + Ra,cx,cy+20,false,14,"#FF0000");
- LabelMgr.setLabelShow(label, true);
- var label = LabelMgr.labelScreen("Dec: " + Dec,cx,cy+40,false,14,"#FF0000");
- LabelMgr.setLabelShow(label, true);
- if(i < 12671) // no mostrar siguiente info si es el último objeto
- {
- var label = LabelMgr.labelScreen("Siguiente: " + Info2_1 + " " + Info2_2 + " - " + Info2_3 + " " + Info2_4 + " - " + Co2 + " -Pagina " + Pag2,cx,cy + 56,false,18,"#FF0000");
- LabelMgr.setLabelShow(label, true);
- var label = LabelMgr.labelScreen("Ra: " + Ra2,cx,cy + 80,false,14,"#FF0000");
- LabelMgr.setLabelShow(label, true);
- var label = LabelMgr.labelScreen("Dec: " + Dec2,cx,cy + 100,false,14,"#FF0000");
- LabelMgr.setLabelShow(label, true);
- var label = LabelMgr.labelScreen("Siguiente: +,=,M. Otra constelacion: B. Salir: N",cx,cy+120,false,17,"#990000");
- LabelMgr.setLabelShow(label, true);
- }
- i = i + 8;
- la = (((conz[le+1]-conz[le])/8) - ((conz[le+1] -i)/8));
- lb = (conz[le+1]-conz[le])/8;
- var label = LabelMgr.labelScreen("Objeto " + la + " de " + lb,cx,cy+140,false,17,"#990000");
- LabelMgr.setLabelShow(label, true);
- if(la == lb )
- {
- le = le + 1;
- }
- }
- }
- le=0;
- core.selectObjectByName(cone[le],true);
- Menu();
- }
- function Stop()
- {
- core.setRealTime(); // restaurar hora
- core.setTimeRate(1); // restaurar velocidad del tiempo
- core.clear("natural");
- LandscapeMgr.setFlagCardinalsPoints(true); // restaurar puntos cardinales
- core.setMountMode(mnt); // restaurar montura utilizada
- ConstellationMgr.setFlagLines(lin); //restaurar lineas constelaciones
- StelMovementMgr.zoomTo(60); // restaurar zoom
- StarMgr.setFlagStars(true);
- StarMgr.setFlagLabels(true);
- var label = LabelMgr.labelScreen("SCRIPT FINALIZADO",400,350,false,20,"#990000");
- LabelMgr.setLabelShow(label, true);
- core.goHome();
- core.wait(3);
- core.exit();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement