Lunar features
parent
3ef67c456f
commit
70505033d2
|
@ -0,0 +1,60 @@
|
|||
0 0 0 1 5128122
|
||||
0 0 1 1 280602
|
||||
0 0 1 -1 277693
|
||||
2 0 0 -1 173237
|
||||
2 0 -1 1 55413
|
||||
2 0 -1 -1 46271
|
||||
2 0 0 1 32573
|
||||
0 0 2 1 17198
|
||||
2 0 1 -1 9266
|
||||
0 0 2 -1 8822
|
||||
2 -1 0 -1 8216
|
||||
2 0 -2 -1 4324
|
||||
2 0 1 1 4200
|
||||
2 1 0 -1 -3359
|
||||
2 -1 -1 1 2463
|
||||
2 -1 0 1 2211
|
||||
2 -1 -1 -1 2065
|
||||
0 1 -1 -1 -1870
|
||||
4 0 -1 -1 1828
|
||||
0 1 0 1 -1794
|
||||
0 0 0 3 -1749
|
||||
0 1 -1 1 -1565
|
||||
1 0 0 1 -1491
|
||||
0 1 1 1 -1475
|
||||
0 1 1 -1 -1410
|
||||
0 1 0 -1 -1344
|
||||
1 0 0 -1 -1335
|
||||
0 0 3 1 1107
|
||||
4 0 0 -1 1021
|
||||
4 0 -1 1 833
|
||||
0 0 1 -3 777
|
||||
4 0 -2 1 671
|
||||
2 0 0 -3 607
|
||||
2 0 2 -1 596
|
||||
2 -1 1 -1 491
|
||||
2 0 -2 1 -451
|
||||
0 0 3 -1 439
|
||||
2 0 2 1 422
|
||||
2 0 -3 -1 421
|
||||
2 1 -1 1 -366
|
||||
2 1 0 1 -351
|
||||
4 0 0 1 331
|
||||
2 -1 1 1 315
|
||||
2 -2 0 -1 302
|
||||
0 0 1 3 -283
|
||||
2 1 1 -1 -229
|
||||
1 1 0 -1 223
|
||||
1 1 0 1 223
|
||||
0 1 -2 -1 -220
|
||||
2 1 -1 -1 -220
|
||||
1 0 1 1 -185
|
||||
2 -1 -2 -1 181
|
||||
0 1 2 1 -177
|
||||
4 0 -2 -1 176
|
||||
4 -1 -1 -1 166
|
||||
1 0 1 -1 -164
|
||||
4 0 1 -1 132
|
||||
1 0 -1 -1 -119
|
||||
4 -1 0 -1 115
|
||||
2 -2 0 1 107
|
|
@ -0,0 +1,60 @@
|
|||
0 0 1 0 6288774 -20905355
|
||||
2 0 -1 0 1274027 -3699111
|
||||
2 0 0 0 658314 -2955968
|
||||
0 0 2 0 213618 -569925
|
||||
0 1 0 0 -185116 48888
|
||||
0 0 0 2 -114332 -3149
|
||||
2 0 -2 0 58793 246158
|
||||
2 -1 -1 0 57066 -152138
|
||||
2 0 1 0 53322 -170733
|
||||
2 -1 0 0 45758 -204586
|
||||
0 1 -1 0 -40923 -129620
|
||||
1 0 0 0 -34720 108743
|
||||
0 1 1 0 -30383 104755
|
||||
2 0 0 -2 15327 10321
|
||||
0 0 1 2 -12528 0
|
||||
0 0 1 -2 10980 79661
|
||||
4 0 -1 0 10675 -34782
|
||||
0 0 3 0 10034 -23210
|
||||
4 0 -2 0 8548 -21636
|
||||
2 1 -1 0 -7888 24208
|
||||
2 1 0 0 -6766 30824
|
||||
1 0 -1 0 -5163 -8379
|
||||
1 1 0 0 4987 -16675
|
||||
2 -1 1 0 4036 -12831
|
||||
2 0 2 0 3994 -10445
|
||||
4 0 0 0 3861 -11650
|
||||
2 0 -3 0 3665 14403
|
||||
0 1 -2 0 -2689 -7003
|
||||
2 0 -1 2 -2602 0
|
||||
2 -1 -2 0 2390 10056
|
||||
1 0 1 0 -2348 6322
|
||||
2 -2 0 0 2236 -9884
|
||||
0 1 2 0 -2120 5751
|
||||
0 2 0 0 -2069 0
|
||||
2 -2 -1 0 2048 -4950
|
||||
2 0 1 -2 -1773 4130
|
||||
2 0 0 2 -1595 0
|
||||
4 -1 -1 0 1215 -3958
|
||||
0 0 2 2 -1110 0
|
||||
3 0 -1 0 -892 3258
|
||||
2 1 1 0 -810 2616
|
||||
4 -1 -2 0 759 -1897
|
||||
0 2 -1 0 -713 -2117
|
||||
2 2 -1 0 -700 2354
|
||||
2 1 -2 0 691 0
|
||||
2 -1 0 -2 596 0
|
||||
4 0 1 0 549 -1423
|
||||
0 0 4 0 537 -1117
|
||||
4 -1 0 0 520 -1571
|
||||
1 0 -2 0 -487 -1739
|
||||
2 1 0 -2 -399 0
|
||||
0 0 2 -2 -381 -4421
|
||||
1 1 1 0 351 0
|
||||
3 0 -2 0 -340 0
|
||||
4 0 -3 0 330 0
|
||||
2 -1 2 0 327 0
|
||||
0 2 1 0 -323 1165
|
||||
1 1 -1 0 299 0
|
||||
2 0 3 0 294 0
|
||||
2 0 -1 -2 0 8752
|
59
satorbit.c
59
satorbit.c
|
@ -39,7 +39,7 @@ struct map {
|
|||
char orientation[LIM];
|
||||
char nfd[LIM],tlefile[LIM],observer[32];
|
||||
char datadir[LIM],tledir[LIM],notamfile[LIM],xyzfile[LIM];
|
||||
int site_id,notamflag,xyzflag;
|
||||
int site_id,notamflag,xyzflag,moonflag;
|
||||
float w;
|
||||
} m;
|
||||
struct globe {
|
||||
|
@ -92,6 +92,7 @@ void initialize_setup(void)
|
|||
m.h0=gmst(m.mjd);
|
||||
m.notamflag=0;
|
||||
m.xyzflag=0;
|
||||
m.moonflag=0;
|
||||
|
||||
// Default settings
|
||||
strcpy(m.observer,"Unknown");
|
||||
|
@ -469,7 +470,6 @@ void plot_xyz(void)
|
|||
|
||||
// Plot
|
||||
if (flag==1) {
|
||||
printf("%lf %lf\n",m.mjd,mjd);
|
||||
flag=2;
|
||||
plot_footprint(s);
|
||||
if (!(sqrt(x*x+y*y)<XKMPER && z<0.0)) {
|
||||
|
@ -617,11 +617,12 @@ void plot_moon(void)
|
|||
float r,h;
|
||||
float l,b,l0,b0;
|
||||
float x0,y0,z0,x,y,z;
|
||||
double lra,lde;
|
||||
double lra,lde,dmjd;
|
||||
int isci;
|
||||
char text[8];
|
||||
|
||||
cpgqci(&isci);
|
||||
cpgsci(14);
|
||||
cpgsci(3);
|
||||
|
||||
// Get positions
|
||||
lunpos_xyz(m.mjd,&s,&lra,&lde);
|
||||
|
@ -663,7 +664,7 @@ void plot_moon(void)
|
|||
|
||||
// Plot antipode
|
||||
if (z0>0.0)
|
||||
cpgpt1(x0,y0,2);
|
||||
cpgpt1(x0,y0,6);
|
||||
|
||||
// Plot moon
|
||||
z=s.z;
|
||||
|
@ -677,6 +678,37 @@ void plot_moon(void)
|
|||
|
||||
cpgcirc(x,y,1737.5);
|
||||
|
||||
// Plot antipode travel
|
||||
for (dmjd=1.0;dmjd<7.0;dmjd+=1.0) {
|
||||
// Get positions
|
||||
lunpos_xyz(m.mjd+dmjd,&s,&lra,&lde);
|
||||
|
||||
// GMST
|
||||
h=gmst(m.mjd);
|
||||
|
||||
// Lunar antipode
|
||||
l0=modulo(lra-h-180,360.0);
|
||||
b0=-lde;
|
||||
if (l0>180.0)
|
||||
l0-=360.0;
|
||||
|
||||
// Convert
|
||||
z0=cos(l0*D2R)*cos(b0*D2R)*XKMPER;
|
||||
x0=sin(l0*D2R)*cos(b0*D2R)*XKMPER;
|
||||
y0=sin(b0*D2R)*XKMPER;
|
||||
|
||||
rotate(1,m.l0,&x0,&y0,&z0);
|
||||
rotate(0,m.b0,&x0,&y0,&z0);
|
||||
|
||||
// Plot antipode
|
||||
if (z0>0.0) {
|
||||
sprintf(text," %.0f",dmjd);
|
||||
cpgpt1(x0,y0,2);
|
||||
cpgtext(x0,y0,text);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
cpgsci(isci);
|
||||
|
||||
return;
|
||||
|
@ -940,7 +972,8 @@ void plot_map(void)
|
|||
plot_terminator();
|
||||
|
||||
// Plot moon
|
||||
plot_moon();
|
||||
if (m.moonflag==1)
|
||||
plot_moon();
|
||||
|
||||
// Plot Grid
|
||||
cpgsls(2);
|
||||
|
@ -1079,7 +1112,7 @@ int main(int argc,char *argv[])
|
|||
initialize_setup();
|
||||
|
||||
// Decode options
|
||||
while ((arg=getopt(argc,argv,"t:c:i:s:l:hN:p:"))!=-1) {
|
||||
while ((arg=getopt(argc,argv,"t:c:i:s:l:hN:p:mL:B:"))!=-1) {
|
||||
switch (arg) {
|
||||
|
||||
case 't':
|
||||
|
@ -1108,11 +1141,23 @@ int main(int argc,char *argv[])
|
|||
m.notamflag=1;
|
||||
break;
|
||||
|
||||
case 'L':
|
||||
m.lng=atof(optarg);
|
||||
break;
|
||||
|
||||
case 'B':
|
||||
m.lat=atof(optarg);
|
||||
break;
|
||||
|
||||
case 'p':
|
||||
strcpy(m.xyzfile,optarg);
|
||||
m.xyzflag=1;
|
||||
break;
|
||||
|
||||
case 'm':
|
||||
m.moonflag=1;
|
||||
break;
|
||||
|
||||
case 'h':
|
||||
usage();
|
||||
return 0;
|
||||
|
|
Loading…
Reference in New Issue