//--------------------------------------------------------------------------- #define _SIGEVENT //prevent compiler errors when time.h and siginfo.h cannot cooperate #include #include #include "global.h" #include "imatrix.h" #include "calstars.h" #include "novas.h" #include "swephexp.h" //**************************************************************************** /* ******************* TruncCat ******************* create a new "reduced" star catalog from the original catalog inputs - catfilename - the source catalog text file newcatfilename - the new file of the new catalog that is generated output - 1 if succeeded The function simply delete all stars which their magnitude is above 5.6 (or any other value) and create a new catalog that contains only the stars that are brighter. */ int TruncCat(char *catfilename,char *newctafilename) { FILE *OldCatFile,*NewCatFile; char st[500],*not_eof,oneval[20]; double val; OldCatFile=fopen(catfilename,"r"); /* open file */ if (!OldCatFile) return(0); /* could not open the file */ NewCatFile=fopen(newctafilename,"w"); /* open file for writing*/ if (!NewCatFile) return(0); /* could not open the file */ not_eof=fgets(st,500,OldCatFile); /* read one line */ while (not_eof) { strncpy(oneval,&st[188],4); oneval[4]=0; val=atof(oneval); /* only stars with magnitude which is less than 5 */ if (val<5.6) { fprintf(NewCatFile,"%s",st); } not_eof=fgets(st,500,OldCatFile); /* read the next line */ } fclose(OldCatFile); fclose(NewCatFile); return(1); /* function ended successfully */ } /************************************************************************/ /* ************** CreateStars ************** Create the stars' list. This function also set initial values such as locations, obsevatories, etc... inputs - catfilename - the star catalog text file name sky_objects_file_name - the name of the external objects file (if one is specified) output - 1 if succeeded This function also assign the attributes of each star (magnitude, concam magnitude, ra, dec etc...) */ int CreateStars(char *catfilename,char *sky_objects_file_name) { int stars_counter=0; char st[500],*not_eof,oneval[20],*p; FILE *CatFile,*SkyObjectsFile; double value; /* set the locations */ /* a default custom observatory */ /* this space should be read from 'location' file by the function /* "LoadObservatory" in the file global.c */ locations[CUSTOM].height=0; locations[CUSTOM].temperature=0; locations[CUSTOM].pressure=1000; locations[CUSTOM].ang_offset=0; locations[CUSTOM].dist_coefficient=1; locations[CUSTOM].bad.x1=0; locations[CUSTOM].bad.x2=0; locations[CUSTOM].bad.y1=0; locations[CUSTOM].bad.y2=0; locations[CUSTOM].clear_threshold=0.7; locations[CUSTOM].color= (255 << 16) | (255 << 8) | (255); strcpy(locations[CUSTOM].name,""); /* ramon (wise observatory) */ /* fits: MID_X = 510 MID_Y = 506 */ locations[RAMON].latitude=30.596; //32.11; //32+07/60 locations[RAMON].longitude=34.77; //34+46/60+9/3600 locations[RAMON].height=300; locations[RAMON].temperature=15; locations[RAMON].pressure=1000; locations[RAMON].ang_offset=0; locations[RAMON].dist_coefficient=1; locations[RAMON].bad.x1=0; locations[RAMON].bad.x2=0; locations[RAMON].bad.y1=0; locations[RAMON].bad.y2=0; locations[RAMON].clear_threshold=0.7; locations[RAMON].MID_X=510; locations[RAMON].MID_Y=506; locations[RAMON].color= (0 << 16) | (255 << 8) | (255); strcpy(locations[RAMON].name,"Wise Observatory,\nIsrael"); /* Rosemary Hill Observatory */ /* jpg: MID_X = 248 + 25 MID_Y = 235 + 10 */ /* fits: MID_X = 527 MID_Y = 480 */ locations[RHO].latitude=29.4; //29+(24/60)+(8/3600) locations[RHO].longitude=-82.58; //-82-(35/60)-(20/3600) locations[RHO].height=40; locations[RHO].temperature=20; locations[RHO].pressure=1000; locations[RHO].ang_offset=0.15; locations[RHO].dist_coefficient=1; locations[RHO].bad.x1=0; locations[RHO].bad.x2=0; locations[RHO].bad.y1=0; locations[RHO].bad.y2=0; locations[RHO].clear_threshold=0.7; locations[RHO].MID_X=527; locations[RHO].MID_Y=480; locations[RHO].color=(0 << 16) | (128 << 8) | (255); strcpy(locations[RHO].name,"Rosemary Hill Observatory,\nFlorida"); /* kitt peak observatory */ /* jpg: MID_X = 248 + 56 MID_Y = 235 + 41 */ /* fits: MID_X = 482 MID_Y = 505 */ locations[KITT_PEAK].latitude=31.967; locations[KITT_PEAK].longitude=-113.6; locations[KITT_PEAK].height=2083; locations[KITT_PEAK].temperature=20; locations[KITT_PEAK].pressure=1000; locations[KITT_PEAK].ang_offset=5.6; locations[KITT_PEAK].dist_coefficient=1; locations[KITT_PEAK].bad.x1=0; locations[KITT_PEAK].bad.x2=0; locations[KITT_PEAK].bad.y1=0; locations[KITT_PEAK].bad.y2=0; locations[KITT_PEAK].clear_threshold=0.16; locations[KITT_PEAK].MID_X=482; locations[KITT_PEAK].MID_Y=505; locations[KITT_PEAK].color=(128 << 16) | (255 << 8) | (128); strcpy(locations[KITT_PEAK].name,"Kitt Peak,\nArizona"); /* mount wilson observatory */ /* MID_X = 248 - 18 MID_Y = 235 + 9 */ /* fits: MID_X = 496 MID_Y = 502 */ locations[WILSON].latitude=34.167; locations[WILSON].longitude=-118.052; locations[WILSON].height=1742; locations[WILSON].temperature=20; locations[WILSON].pressure=1000; locations[WILSON].ang_offset=-13.5; locations[WILSON].dist_coefficient=1; locations[WILSON].bad.x1=0; locations[WILSON].bad.x2=0; locations[WILSON].bad.y1=0; locations[WILSON].bad.y2=0; locations[WILSON].clear_threshold=0.4; locations[WILSON]. MID_X=496; locations[WILSON].MID_Y=502; locations[WILSON].color=(255 << 16) | (128 << 8) | (128); strcpy(locations[WILSON].name,"Mt. Wilson,\nCalifornia"); /* mauna kea observatory (hawaii) */ /* jpg: MID_X = 248 + 6 MID_Y = 235 + 46 */ /* old fits: MID_X = 530 MID_Y = 517 */ /* fits: MID_X=502 MID_Y = 562 */ locations[MAUNA_KEA].latitude=19.8258; locations[MAUNA_KEA].longitude=-155.4719; locations[MAUNA_KEA].height=4123; locations[MAUNA_KEA].temperature=20; locations[MAUNA_KEA].pressure=1000; locations[MAUNA_KEA].ang_offset=+3.5; //5.2 /* old 5.2 */ locations[MAUNA_KEA].dist_coefficient=1; /* old 1.07 */ locations[MAUNA_KEA].bad.x1=0; locations[MAUNA_KEA].bad.x2=0; locations[MAUNA_KEA].bad.y1=0; locations[MAUNA_KEA].bad.y2=0; locations[MAUNA_KEA].clear_threshold=0.85; locations[MAUNA_KEA].MID_X=502; //492; locations[MAUNA_KEA].MID_Y=562; //554; locations[MAUNA_KEA].color=(218 << 16) | (209 << 8) | (37); strcpy(locations[MAUNA_KEA].name,"Mauna Kea,\nHawaii"); /* haleakala observatory (hawaii) */ /* jpg: MID_X = 248 + 6 MID_Y = 235 + 46 */ /* old fits: MID_X = 512 MID_Y = 554 */ /* fits: MID_X=534 MID_Y = 514 */ locations[HALEAKALA].latitude=20.7072; locations[HALEAKALA].longitude=-156.2559; locations[HALEAKALA].height=3048; locations[HALEAKALA].temperature=20; locations[HALEAKALA].pressure=1000; locations[HALEAKALA].ang_offset=-7.2; locations[HALEAKALA].dist_coefficient=1.08; /* old 1 */ locations[HALEAKALA].bad.x1=0; locations[HALEAKALA].bad.x2=0; locations[HALEAKALA].bad.y1=0; locations[HALEAKALA].bad.y2=0; locations[HALEAKALA].clear_threshold=0.85; locations[HALEAKALA].MID_X=540; locations[HALEAKALA].MID_Y=517; locations[HALEAKALA].color=(255 << 16) | (255 << 8) | (255); strcpy(locations[HALEAKALA].name,"Haleakala,\nHawaii"); /* cerro pachon observatory */ /* jpg: MID_X = 248 + 6 MID_Y = 235 + 46 */ /* old fits: MID_X = 510 MID_Y = 534 */ /* fits: MID_X=512 MID_Y = 534 */ locations[CERRO_PACHON].latitude=-30.16; /* South 30 deg 14.405' */ locations[CERRO_PACHON].longitude=-70.7358; /* West 70 deg 44.149' */ locations[CERRO_PACHON].height=2715; locations[CERRO_PACHON].temperature=20; locations[CERRO_PACHON].pressure=1000; locations[CERRO_PACHON].ang_offset=-1.5; locations[CERRO_PACHON].dist_coefficient=1.08; /* old 1 */ locations[CERRO_PACHON].bad.x1=0; locations[CERRO_PACHON].bad.x2=586; locations[CERRO_PACHON].bad.y1=0; locations[CERRO_PACHON].bad.y2=380; locations[CERRO_PACHON].clear_threshold=0.90; locations[CERRO_PACHON].MID_X=512; locations[CERRO_PACHON].MID_Y=534; locations[CERRO_PACHON].color=(255 << 16) | (0 << 8) | (255); strcpy(locations[CERRO_PACHON].name,"Cerro Pachon,\nChile"); /* canary island observatory (spain) */ /* jpg: MID_X = 248 + 17 MID_Y = 235 - 21~ */ /* fits: MID_X = 518 MID_Y = 556 */ locations[CANARY_ISLAND].latitude=28.303; locations[CANARY_ISLAND].longitude=-16.509; locations[CANARY_ISLAND].height=2406; locations[CANARY_ISLAND].temperature=25; locations[CANARY_ISLAND].pressure=1000; locations[CANARY_ISLAND].ang_offset=-9; locations[CANARY_ISLAND].dist_coefficient=1.06; locations[CANARY_ISLAND].bad.x1=0; locations[CANARY_ISLAND].bad.x2=0; locations[CANARY_ISLAND].bad.y1=0; locations[CANARY_ISLAND].bad.y2=0; locations[CANARY_ISLAND].clear_threshold=0.85; locations[CANARY_ISLAND].MID_X=518; locations[CANARY_ISLAND].MID_Y=556; locations[CANARY_ISLAND].color=(255 << 16) | (128 << 8) | (0); strcpy(locations[CANARY_ISLAND].name,"Canary Islands,\nSpain"); /* south africa large telescope observatory (south africa) */ /* jpg: MID_X = 248 + 17 MID_Y = 235 - 21~ */ /* fits: MID_X = 504 MID_Y = 521 */ locations[SOUTH_AFRICA].latitude=-(32+22/60+46/3600); locations[SOUTH_AFRICA].longitude=20+48/60+38.5/3600; locations[SOUTH_AFRICA].height=1798; locations[SOUTH_AFRICA].temperature=15; locations[SOUTH_AFRICA].pressure=900; locations[SOUTH_AFRICA].ang_offset=-1; locations[SOUTH_AFRICA].dist_coefficient=1.068; locations[SOUTH_AFRICA].bad.x1=0; locations[SOUTH_AFRICA].bad.x2=0; locations[SOUTH_AFRICA].bad.y1=0; locations[SOUTH_AFRICA].bad.y2=0; locations[SOUTH_AFRICA].clear_threshold=0.85; locations[SOUTH_AFRICA].MID_X=504; locations[SOUTH_AFRICA].MID_Y=521; locations[SOUTH_AFRICA].color=(0 << 16) | (128 << 8) | (0); strcpy(locations[SOUTH_AFRICA].name,"South Africa"); /* siding spring observatory (australia) */ locations[SIDING_SPRING].latitude=-32.27; locations[SIDING_SPRING].longitude=149.07; locations[SIDING_SPRING].height=1130; locations[SIDING_SPRING].temperature=18; locations[SIDING_SPRING].pressure=900; locations[SIDING_SPRING].ang_offset=-1.5; locations[SIDING_SPRING].dist_coefficient=1.06; locations[SIDING_SPRING].bad.x1=0; locations[SIDING_SPRING].bad.x2=0; locations[SIDING_SPRING].bad.y1=0; locations[SIDING_SPRING].bad.y2=0; locations[SIDING_SPRING].clear_threshold=0.85; locations[SIDING_SPRING].MID_X=529; locations[SIDING_SPRING].MID_Y=522; locations[SIDING_SPRING].color=(255 << 16) | (255 << 8) | (0); strcpy(locations[SIDING_SPRING].name,"Siding Spring,\nAustralia"); /* SAPIR COLLEGE (wise observatory) */ locations[SAPIR_COLLEGE].latitude=31.50; locations[SAPIR_COLLEGE].longitude=34.51; locations[SAPIR_COLLEGE].height=300; locations[SAPIR_COLLEGE].temperature=15; locations[SAPIR_COLLEGE].pressure=1000; locations[SAPIR_COLLEGE].ang_offset=-6; locations[SAPIR_COLLEGE].dist_coefficient=0.55; locations[SAPIR_COLLEGE].bad.x1=0; locations[SAPIR_COLLEGE].bad.x2=0; locations[SAPIR_COLLEGE].bad.y1=0; locations[SAPIR_COLLEGE].bad.y2=0; locations[SAPIR_COLLEGE].clear_threshold=0.4; locations[SAPIR_COLLEGE].MID_X=268; locations[SAPIR_COLLEGE].MID_Y=222; locations[SAPIR_COLLEGE].color= (0 << 16) | (255 << 8) | (255); strcpy(locations[SAPIR_COLLEGE].name,"Sapir College,\nIsrael"); /* hanle (India) */ locations[HANLE].latitude=32.779; //32d46m46s locations[HANLE].longitude=78.9641; //78d57m51s locations[HANLE].height=4500; locations[HANLE].temperature=10; locations[HANLE].pressure=700; locations[HANLE].ang_offset=+9; locations[HANLE].dist_coefficient=0.55; locations[HANLE].bad.x1=0; locations[HANLE].bad.x2=0; locations[HANLE].bad.y1=0; locations[HANLE].bad.y2=0; locations[HANLE].clear_threshold=0.4; locations[HANLE].MID_X=262; locations[HANLE].MID_Y=240; locations[HANLE].color= (0 << 16) | (0 << 8) | (255); strcpy(locations[HANLE].name,"Hanle,\nIndia"); /* set the planets */ strcpy(planets[MERCURY].name,"mercury"); planets[MERCURY].type=0; /* major planet */ planets[MERCURY].number=MERCURY; strcpy(planets[VENUS].name,"venus"); planets[VENUS].type=0; /* major planet */ planets[VENUS].number=VENUS; strcpy(planets[EARTH].name,""); planets[EARTH].type=0; /* major planet */ planets[EARTH].number=EARTH; strcpy(planets[MARS].name,"mars"); planets[MARS].type=0; /* major planet */ planets[MARS].number=MARS; strcpy(planets[JUPITER].name,"jupiter"); planets[JUPITER].type=0; /* major planet */ planets[JUPITER].number=JUPITER; strcpy(planets[SATURN].name,"saturn"); planets[SATURN].type=0; /* major planet */ planets[SATURN].number=SATURN; strcpy(planets[ORANUS].name,"uranus"); planets[ORANUS].type=0; /* major planet */ planets[ORANUS].number=ORANUS; strcpy(planets[NEPTUN].name,"neptun"); planets[NEPTUN].type=0; /* major planet */ planets[NEPTUN].number=NEPTUN; strcpy(planets[PLUTO].name,"pluto"); planets[PLUTO].type=0; /* major planet */ planets[PLUTO].number=PLUTO; strcpy(planets[SUN].name,"sun"); planets[SUN].type=0; /* major planet */ planets[SUN].number=SUN; strcpy(planets[MOON].name,"moon"); planets[MOON].type=0; /* major planet */ planets[MOON].number=MOON; /* */ /* set stars */ /* */ CatFile=fopen(catfilename,"r"); /* open file for reading */ if (!CatFile) return(0); /* could not open the file */ not_eof=fgets(st,500,CatFile); /* read one line */ while (not_eof) { strcpy(stars[stars_counter].catalog,"FK5"); /* set the catalog */ /* star name */ strncpy(oneval,&st[7],10); oneval[10]=0; p=&oneval[0]; while (*p==' ' && p<&oneval[5]) p++; strcpy(stars[stars_counter].starname,p); /* star's HD number */ strncpy(oneval,&st[32],7); p=&oneval[0]; while (*p==' ' && p<&oneval[5]) p++; stars[stars_counter].starnumber=atol(oneval); // /* star number */ // strncpy(oneval,&st[1],4); // oneval[4]=0; // stars[stars_counter].starnumber=atol(oneval); /* ra (right acertion) */ strncpy(oneval,&st[140],2); oneval[2]=0; value=atof(oneval); /* get the hours */ strncpy(oneval,&st[143],2); oneval[2]=0; value=value+atof(oneval)/60; /* get the minutes */ strncpy(oneval,&st[146],4); oneval[4]=0; value=value+atof(oneval)/3600; /* get the seconds */ stars[stars_counter].ra=value; /* dec */ strncpy(oneval,&st[157],2); oneval[2]=0; value=atof(oneval); /* get the hours */ strncpy(oneval,&st[160],2); oneval[2]=0; value=value+atof(oneval)/60; /* get the minutes */ strncpy(oneval,&st[163],2); oneval[2]=0; value=value+atof(oneval)/3600; /* get the seconds */ if (st[156]=='-') value=value*-1; /* consder the sign */ stars[stars_counter].dec=value; /* proper motion a */ strncpy(oneval,&st[285],6); oneval[6]=0; value=atof(oneval); value=((value/15)/cos((stars[stars_counter].dec*3.14159265)/180))*100; stars[stars_counter].promora=value; /* proper motion dec */ strncpy(oneval,&st[296],6); oneval[6]=0; value=atof(oneval)*100; stars[stars_counter].promodec=value; /* parallax */ strncpy(oneval,&st[320],6); oneval[6]=0; if (oneval[0]==' ') oneval[0]='+'; /* prevent an error if possitive */ value=atof(oneval); if (value>9.99) value=0; /* on case of -9.999 */ stars[stars_counter].parallax=value; /* radial velocity */ strncpy(oneval,&st[330],4); oneval[4]=0; value=atof(oneval); stars[stars_counter].radialvelocity=value; /* magnitude */ strncpy(oneval,&st[187],5); oneval[5]=0; value=atof(oneval); stars[stars_counter].magnitude=value; /* type */ strncpy(oneval,&st[254],5); oneval[10]=0; strcpy(stars[stars_counter].type,oneval); /* get the I, R, B magnitudes and calculate the concam magnitude */ stars[stars_counter].r_magnitude=GetMagnitude(stars[stars_counter].type,stars[stars_counter].magnitude,R_MAGNITUDE); stars[stars_counter].i_magnitude=GetMagnitude(stars[stars_counter].type,stars[stars_counter].magnitude,I_MAGNITUDE); stars[stars_counter].b_magnitude=GetMagnitude(stars[stars_counter].type,stars[stars_counter].magnitude,B_MAGNITUDE); stars[stars_counter].m_concam=GetMagnitude(stars[stars_counter].type,stars[stars_counter].magnitude,CONCAM_MAGNITUDE); /* initialize the azimuth and altitude */ stars[stars_counter].azimuth=0; stars[stars_counter].altitude=0; /* continue with the loop */ not_eof=fgets(st,500,CatFile); /* read the next line */ stars_counter++; } fclose(CatFile); /* set a sign for the end of the stars */ strcpy(stars[stars_counter].starname,""); /* set the show stars */ stars_counter=0; /* lyra */ strcpy(showstars[stars_counter].starname,"12Del2Lyr"); strcpy(showstars[stars_counter++].dispname,"Lyra"); /* pegasus */ strcpy(showstars[stars_counter].starname,"84Psi Peg"); strcpy(showstars[stars_counter++].dispname,"Pegasus"); /* cassipoia */ strcpy(showstars[stars_counter].starname,"37Del Cas"); strcpy(showstars[stars_counter++].dispname,"Cassiopeia"); /* gruss */ strcpy(showstars[stars_counter].starname,"Del2Gru"); strcpy(showstars[stars_counter++].dispname,"Gruss"); /* psa */ strcpy(showstars[stars_counter].starname,"17Bet PsA"); strcpy(showstars[stars_counter++].dispname,"Piscis Austrinus"); /* capricorn */ strcpy(showstars[stars_counter].starname,"34Zet Cap"); strcpy(showstars[stars_counter++].dispname,"Capricorn"); /* aqurios */ strcpy(showstars[stars_counter].starname,"73Lam Aqr"); strcpy(showstars[stars_counter++].dispname,"Aquarius"); /* sagittarius */ strcpy(showstars[stars_counter].starname,"34Sig Sgr"); strcpy(showstars[stars_counter++].dispname,"Sagittarius"); /* ophiucus */ strcpy(showstars[stars_counter].starname,"60Bet Oph"); strcpy(showstars[stars_counter++].dispname,"Ophiuchus"); /* cygnum */ strcpy(showstars[stars_counter].starname,"53Eps Cyg"); strcpy(showstars[stars_counter++].dispname,"Cygnus"); /* sagitta */ strcpy(showstars[stars_counter].starname,"12Gam Sge"); strcpy(showstars[stars_counter++].dispname,"Sagitta"); /* aquilla */ strcpy(showstars[stars_counter].starname,"55Eta Aquila"); strcpy(showstars[stars_counter++].dispname,"Aquila"); /* hercules */ strcpy(showstars[stars_counter].starname,"67Pi Her"); strcpy(showstars[stars_counter++].dispname,"Hercules"); /* draco */ strcpy(showstars[stars_counter].starname,"32Xi Dra"); strcpy(showstars[stars_counter++].dispname,"Draco"); /* umi */ strcpy(showstars[stars_counter].starname,"16Zet UMi"); strcpy(showstars[stars_counter++].dispname,"Ursa Minor"); /* uma */ strcpy(showstars[stars_counter].starname,"50Alp UMa"); strcpy(showstars[stars_counter++].dispname,"Ursa Major"); /* bootes */ strcpy(showstars[stars_counter].starname,"49Del Boo"); strcpy(showstars[stars_counter++].dispname,"Bootes"); /* pisces */ strcpy(showstars[stars_counter].starname,"110Omi Psc"); strcpy(showstars[stars_counter++].dispname,"Piscis"); /* cepheus */ strcpy(showstars[stars_counter].starname,"32Iot Cep"); strcpy(showstars[stars_counter++].dispname,"Cepheus"); /* delphinius */ strcpy(showstars[stars_counter].starname,"6Bet Del"); strcpy(showstars[stars_counter++].dispname,"Delphinus"); /* scorpion */ strcpy(showstars[stars_counter].starname,"34Ups Sco"); strcpy(showstars[stars_counter++].dispname,"Scorpio"); /* crater */ strcpy(showstars[stars_counter].starname,"Bet CrA"); strcpy(showstars[stars_counter++].dispname,"Crab"); /* triangulum */ strcpy(showstars[stars_counter].starname,"9Gam Tri"); strcpy(showstars[stars_counter++].dispname,"Triangulum"); /* pereseus */ strcpy(showstars[stars_counter].starname,"41Nu Per");//39Del Per strcpy(showstars[stars_counter++].dispname,"Perseus"); /* cameloparadalis */ strcpy(showstars[stars_counter].starname,"10Bet Cam"); strcpy(showstars[stars_counter++].dispname,"Camelopardalis"); /* serpens */ strcpy(showstars[stars_counter].starname,"24Alp Ser"); strcpy(showstars[stars_counter++].dispname,"Serpens"); /* auriga */ strcpy(showstars[stars_counter].starname,"29Tau Aur"); strcpy(showstars[stars_counter++].dispname,"Auriga"); /* cettus */ strcpy(showstars[stars_counter].starname,"68Omi Cet"); strcpy(showstars[stars_counter++].dispname,"Cetus"); /* andromeda */ strcpy(showstars[stars_counter].starname,"37Mu And"); strcpy(showstars[stars_counter++].dispname,"Andromeda"); /* phoenix */ strcpy(showstars[stars_counter].starname,"Bet Phe"); strcpy(showstars[stars_counter++].dispname,"Pheonix"); /* fornax */ strcpy(showstars[stars_counter].starname,"Bet For"); strcpy(showstars[stars_counter++].dispname,"Fornax"); /* eridanus */ strcpy(showstars[stars_counter].starname,"26Pi Eri"); strcpy(showstars[stars_counter++].dispname,"Eridanus"); /* orion */ strcpy(showstars[stars_counter].starname,"30Psi2Ori"); strcpy(showstars[stars_counter++].dispname,"Orion"); /* taurus */ strcpy(showstars[stars_counter].starname,"74Eps Tau");//78The2Tau strcpy(showstars[stars_counter++].dispname,"Taurus"); /* gemini */ strcpy(showstars[stars_counter].starname,"55Del Gem"); strcpy(showstars[stars_counter++].dispname,"Gemini"); /* canis minor */ strcpy(showstars[stars_counter].starname,"10Alp CMi"); strcpy(showstars[stars_counter++].dispname,"Canis Minor"); /* monoceros */ strcpy(showstars[stars_counter].starname,"22Del Mon"); strcpy(showstars[stars_counter++].dispname,"Monoceros"); /* canis major */ strcpy(showstars[stars_counter].starname,"24Omi2CMa"); strcpy(showstars[stars_counter++].dispname,"Canis Major"); /* lynx */ strcpy(showstars[stars_counter].starname,"31 Lyn"); strcpy(showstars[stars_counter++].dispname,"Lynx"); /* hydra */ strcpy(showstars[stars_counter].starname,"22The Hya"); strcpy(showstars[stars_counter++].dispname,"Hydra"); /* antlia */ strcpy(showstars[stars_counter].starname,"Alp Ant"); strcpy(showstars[stars_counter++].dispname,"Antlia"); /* crt */ strcpy(showstars[stars_counter].starname,"15Gam Crt"); strcpy(showstars[stars_counter++].dispname,"Crater"); /* virgo */ strcpy(showstars[stars_counter].starname,"79Zet Vir"); strcpy(showstars[stars_counter++].dispname,"Virgo"); /* como verices */ strcpy(showstars[stars_counter].starname,"43Bet Com"); strcpy(showstars[stars_counter++].dispname,"Coma Berenices"); /* crv */ strcpy(showstars[stars_counter].starname,"9Bet Crv"); strcpy(showstars[stars_counter++].dispname,"Corvus"); /* centaurious */ strcpy(showstars[stars_counter].starname,"Nu Cen"); strcpy(showstars[stars_counter++].dispname,"Centaurus"); /* vela */ strcpy(showstars[stars_counter].starname,"Lam Vel"); strcpy(showstars[stars_counter++].dispname,"VelA"); /* puppis */ strcpy(showstars[stars_counter].starname,"Zet Pup"); strcpy(showstars[stars_counter++].dispname,"Puppis"); /* leo */ strcpy(showstars[stars_counter].starname,"60 Leo"); strcpy(showstars[stars_counter++].dispname,"Leo"); /* aries */ strcpy(showstars[stars_counter].starname,"32Nu Ari"); strcpy(showstars[stars_counter++].dispname,"Aries"); /* lepus */ strcpy(showstars[stars_counter].starname,"11Alp Lep"); strcpy(showstars[stars_counter++].dispname,"Lepus"); /****** stars *******/ /* vega */ strcpy(showstars[stars_counter].starname,"3Alp Lyr"); strcpy(showstars[stars_counter++].dispname,"vega"); /* altair */ strcpy(showstars[stars_counter].starname,"53Alp Aql"); strcpy(showstars[stars_counter++].dispname,"altair"); /* deneb */ strcpy(showstars[stars_counter].starname,"50Alp Cyg"); strcpy(showstars[stars_counter++].dispname,"deneb"); /* polaris */ strcpy(showstars[stars_counter].starname,"1Alp UMi"); strcpy(showstars[stars_counter++].dispname,"polaris"); /* antares */ strcpy(showstars[stars_counter].starname,"21Alp Sco"); strcpy(showstars[stars_counter++].dispname,"antares"); /* fomalhaut */ strcpy(showstars[stars_counter].starname,"24Alp PsA"); strcpy(showstars[stars_counter++].dispname,"fomalhaut"); /* shaula */ strcpy(showstars[stars_counter].starname,"35Lam Sco"); strcpy(showstars[stars_counter++].dispname,"shaula"); /* arcturus */ strcpy(showstars[stars_counter].starname,"16Alp Boo"); strcpy(showstars[stars_counter++].dispname,"arcturus"); /* mirach */ strcpy(showstars[stars_counter].starname,"43Bet And"); strcpy(showstars[stars_counter++].dispname,"mirach"); /* mifrak */ strcpy(showstars[stars_counter].starname,"33Alp Per"); strcpy(showstars[stars_counter++].dispname,"mifrak"); /* capella */ strcpy(showstars[stars_counter].starname,"13Alp Aur"); strcpy(showstars[stars_counter++].dispname,"capella"); /* elnath */ strcpy(showstars[stars_counter].starname,"112Bet Tau"); strcpy(showstars[stars_counter++].dispname,"elnath"); /* aldebaran */ strcpy(showstars[stars_counter].starname,"87Alp Tau"); strcpy(showstars[stars_counter++].dispname,"aldebaran"); /* betelgeuse */ strcpy(showstars[stars_counter].starname,"58Alp Ori"); strcpy(showstars[stars_counter++].dispname,"betelgeuse"); /* rigel */ strcpy(showstars[stars_counter].starname,"19Bet Ori"); strcpy(showstars[stars_counter++].dispname,"rigel"); /* sirius */ strcpy(showstars[stars_counter].starname,"9Alp CMa"); strcpy(showstars[stars_counter++].dispname,"sirius"); /* adhara */ strcpy(showstars[stars_counter].starname,"21Eps CMa"); strcpy(showstars[stars_counter++].dispname,"adhara"); /* pollux */ strcpy(showstars[stars_counter].starname,"78Bet Gem"); strcpy(showstars[stars_counter++].dispname,"pollux"); /* castor */ strcpy(showstars[stars_counter].starname,"66Alp Gem"); strcpy(showstars[stars_counter++].dispname,"castor"); /* regulus */ strcpy(showstars[stars_counter].starname,"32Alp Leo"); strcpy(showstars[stars_counter++].dispname,"regulus"); /* gam2vel */ strcpy(showstars[stars_counter].starname,"Gam2Vel"); strcpy(showstars[stars_counter++].dispname,"gam2vel"); /* canopus */ strcpy(showstars[stars_counter].starname,"Alp Car"); strcpy(showstars[stars_counter++].dispname,"canopus"); /* spica */ strcpy(showstars[stars_counter].starname,"67Alp Vir"); strcpy(showstars[stars_counter++].dispname,"spica"); /* alpha centariaus */ strcpy(showstars[stars_counter].starname,"Alp1Cen"); strcpy(showstars[stars_counter++].dispname,"alp centau"); /* miaplacidus */ strcpy(showstars[stars_counter].starname,"Bet Car"); strcpy(showstars[stars_counter++].dispname,"miaplacidus"); /* achernar */ strcpy(showstars[stars_counter].starname,"Alp Eri"); strcpy(showstars[stars_counter++].dispname,"achernar"); /***** sky objects *****/ /* load sky objects from an external file */ /* the file structure is: */ /*