Added:
/fig_alt-az.asy
/fig_ecliptic.mp
/fig_ra-dec.mp
Deleted:
/figure.mp
Modified:
/COPYRIGHT_DERSHOWITZ_REINGOLD
/README
/dates1.tex
/dates2.tex
/dates3.tex
/dates4.tex
/dates5.tex
/pycalcal.bib
/pycalcal.nw
=======================================
--- /dev/null
+++ /fig_alt-az.asy Mon Jan 11 06:06:08 2010
@@ -0,0 +1,180 @@
+size(300);
+import texcolors;
+import graph3;
+import three;
+import labelpath3;
+import math;
+texpreamble("\usepackage{bm}");
+texpreamble("\usepackage{wasysym}");
+
+//Draw right angle (MA,MB) in 3D
+void drawrightangle(picture pic=currentpicture,
+ triple M, triple A, triple B,
+ real radius=0,
+ pen p=currentpen,
+ pen fillpen=nullpen,
+ projection P=currentprojection)
+{
+ p=linejoin(0)+linecap(0)+p;
+ if (radius==0) radius=arrowfactor*sqrt(2);
+ transform3 T=shift(-M);
+ triple OA=radius/sqrt(2)*unit(T*A),
+ OB=radius/sqrt(2)*unit(T*B),
+ OC=OA+OB;
+ path3 _p=OA--OC--OB;
+ picture pic_;
+ draw(pic_, _p, p=p);
+ if (fillpen!=nullpen) draw(pic_, surface(O--_p--cycle), fillpen);
+ add(pic,pic_,M);
+}
+
+//currentprojection=perspective(5,2,2);
+currentprojection=perspective(5,2,1.5);
+
+real a=1;
+real b=a;
+real c=0.9;
+
+pen bg=gray(0.9)+opacity(0.5);
+
+// (Parametrized) Ellipsoid with equatorial radii a and
+// b, and polar radius c
+// t is lat, lon
+triple ellipsoid(pair t) {
+ return (a*cos(t.x)*cos(t.y),b*cos(t.x)*sin(t.y),c*sin(t.x));
+}
+
+// Ellipsoid in cartesian coordinates with axis-aligned radii
+// x^2/a^2 + y^2/b^2 + z^2/c^2 = 1
+//triple ellipsoid(triple) {
+//}
+
+
+pen p=rgb(0,0.7,0);
+draw(Label("$i$",1),O--0.5*X,1.5E+0.2S,p,Arrow3);
+draw(Label("$j$",1),O--0.5*Y,p,Arrow3);
+draw(Label("$k$",1),O--0.5*Z,p,Arrow3);
+label("$C$",(0,0,0),0.9W+0.2N);
+//axes3("$i$","$j$","$k$",Arrow3);
+
+//ellipsoid
+pair latRange=(0,pi/2);
+pair lonRange=(-pi/30,pi/2+pi/30);
+surface
s=surface(ellipsoid,(latRange.x,lonRange.x),(latRange.y,lonRange.y),Spline);
+draw(s,lightgray+opacity(0.2));
+
+//x-z
+//draw(surface((1.2,0,0)--(1.2,0,1.2)--(0,0,1.2)--(0,0,0)--cycle),bg,bg);
+//y-z: this one should be rotated arounf z to match P
+//draw(surface((0,1.2,0)--(0,1.2,1.2)--(0,0,1.2)--(0,0,0)--cycle),bg,bg);
+//x-y
+surface xyPlane=surface((1.2,0,0)--(1.2,1.2,0)--(0,1.2,0)--(0,0,0)--cycle);
+draw(xyPlane,bg,bg);
+
+
+// Point P
+real lat, lon;
+lat=50; lon=60;
+triple pP=ellipsoid((radians(lat),radians(lon)));
+draw("$\rho$",O--pP,N);
+label("$P$",pP,N+W);
+
+
+int steps=20;
+real deltaLat=latRange.y/steps;
+guide3 meridian;
+// meridian thru pP
+for(int i=0; i <= steps; ++i) {
+ meridian=meridian..ellipsoid((i*deltaLat,radians(lon)));
+}
+draw(meridian,dashed);
+
+// greenwich meridian
+meridian=nullpath3;
+for(int i=0; i <= steps; ++i) {
+ meridian=meridian..ellipsoid((i*deltaLat,0));
+}
+string txt1="\small Greenwich meridian";
+draw(labelpath(txt1,subpath(meridian,1,reltime(meridian,0.40)),angle=90),orange);
+draw(meridian);
+
+// equator
+real deltaLon=lonRange.y/steps;
+guide3 equator;
+for(int i=0; i <= steps; ++i) {
+ equator=equator..ellipsoid((0,i*deltaLon));
+}
+string txt1="\small equator";
+draw(labelpath(txt1,subpath(equator,reltime(equator,0.05),reltime(equator,0.16)),angle=180),orange);
+draw(equator);
+
+// Celestial body
+triple cb=pP+(0.05,0.8,0.55);
+real width=1;
+dot("$B$",cb,SE,linewidth(width));
+//draw("$\rho$",(0,0,0)--cb,Arrow3,PenMargin3(0,width));
+draw("$d$",pP--cb,Arrow3);
+
+// Plane tangent to ellipsoid in P
+// x*x_p/a^2 + y*y_p/b^2 + z*z_p/c^2 + 1 = 0
+real zOfPerpendicularPlane(pair p) {
+ return (1-p.x*pP.x/a^2-p.y*pP.y/b^2)*(c^2)/pP.z;
+}
+
+//plane tanget to ellipsoid in P
+pair pp[]={(-0.2,-0.2), (0.8,-0.2), (0.8,1.2), (-0.2,1.2)};
+path3 tanplane=(pp[0].x,pp[0].y,zOfPerpendicularPlane(pp[0]))--
+ (pp[1].x,pp[1].y,zOfPerpendicularPlane(pp[1]))--
+ (pp[2].x,pp[2].y,zOfPerpendicularPlane(pp[2]))--
+ (pp[3].x,pp[3].y,zOfPerpendicularPlane(pp[3]))--cycle;
+draw(surface(tanplane),yellow+opacity(0.1));
+
+// perpendicular to plane tanget in P
+//triple perpP=dir(pP.x/a^2,pP.y/b^2,pP.z/c^2);
+triple perpP=normal(tanplane);
+
+// celestial body projection onto tangent plane
+triple pppp=planeproject(tanplane)*cb;
+draw(pP--pppp,dashed);
+draw(pppp--cb,dashed);
+
+// lat-lon arcs
+triple pA=(pP.x,pP.y, 0);
+//draw(pA--pP,dashed);
+draw("$\varphi'$", reverse(arc(O,0.4*unit(pP),0.4*unit(pA))), E, Arrow3);
+draw("$L$", arc(O,0.4*X,0.4*unit(pA)), S+0.3E,Arrow3);
+
+
+// Moving axes
+// i see below
+//triple k=unit(pP);
+triple k=normal(tanplane);
+// triple i=dir(colatitude(pP-centerGravity),lon);//the normal
(alternative)
+draw(Label("\footnotesize $Zenith$",1),pP--pP+0.2*k,0.9N,red,Arrow3);
+
+
+// center of gravity
+triple[] ps=intersectionpoints(pP-k--pP, xyPlane);
+triple centerGravity=ps[0];
+draw(centerGravity--pP,N,red);
+draw(O--ellipsoid((0,radians(lon))),dashed);
+dot("$O$",centerGravity,W+0.2S);
+draw("$\varphi$",
+ shift(centerGravity)*
+
reverse(arc(O,0.12*unit(pP-centerGravity),0.12*unit(pA-centerGravity))),
+ E,Arrow3);
+
+
+triple i=dir(colatitude(pP-centerGravity)+90,lon);
+draw(Label("\footnotesize $South$",1),pP--pP+0.4*i,SSE,red,Arrow3);
+
+triple j=cross(k,i);
+//draw(Label("\footnotesize $North$",1),pP--pP-0.2*i,N,red,Arrow3);
+draw(Label("\footnotesize $West$",1),pP--pP-0.2*j,W,red,Arrow3);
+dot("$N$",ellipsoid((radians(90),0)),N);
+
+// azimuth, elevation
+draw("$A$",shift(pP)*(arc(pP,0.2*unit(i),0.2*unit(pppp-pP))),SE,Arrow3);
+draw("$h$",shift(pP)*(arc(O,0.2*unit(pppp-pP),0.2*unit(cb-pP))),SE,Arrow3);
+
+drawrightangle(pP,pP+i,centerGravity,fillpen=lightgray);
=======================================
--- /dev/null
+++ /fig_ecliptic.mp Mon Jan 11 06:06:08 2010
@@ -0,0 +1,164 @@
+verbatimtex
+%&latex
+\documentclass[12pt]{article}
+ \usepackage{wasysym}
+\begin{document}
+etex
+
+input astro
+input textpath
+
+outputtemplate := "%j.mps";
+
+beginfig(0);
+draw fullcircle scaled 2r;
+draw_equator(1,1);
+draw_ecliptic(1,1);
+
+
+z0=(0,0); % origin
+z1=project((r,0,0),V1,V2); % x-axis
+z2=project((0,r,0),V1,V2); % y-axis
+z3=project((0,0,r),V1,V2); % z-axis
+z4=project(North_Ec,V1,V2);
+z6=project(f_ecliptic(r,75),V1,V2);
+z7=project(f_equator(r,70),V1,V2);
+
+path p[],q[];
+vector ra[], dec[];
+ra0=f_equator(r,0);
+ra1=f_equator(r,15);
+ra2=f_equator(r,30);
+ra3=f_equator(r,45);
+ra4=f_equator(r,60);
+ra5=f_equator(r,285);
+ra6=f_equator(r,300);
+ra7=f_equator(r,315);
+ra8=f_equator(r,330);
+ra9=f_equator(r,345);
+p0:=project(ra0,V1,V2)..project(ra1,V1,V2)..project(ra2,V1,V2)..project(0.5[ra2,ra3],V1,V2);
+draw_meridian(0,1,1);
+draw project(ra1-(0,0,2),V1,V2)..project(ra1+(0,0,2),V1,V2);
+label.bot(btex $1^h$ etex, project(ra1-(0,0,2),V1,V2));
+draw project(ra2-(0,0,2),V1,V2)..project(ra2+(0,0,2),V1,V2);
+label.bot(btex $2^h$ etex, project(ra2-(0,0,2),V1,V2));
+draw project(ra3-(0,0,2),V1,V2)..project(ra3+(0,0,2),V1,V2);
+label.bot(btex $3^h$ etex, project(ra3-(0,0,2),V1,V2));
+draw project(ra3-(0,0,2),V1,V2)..project(ra3+(0,0,2),V1,V2);
+
+label.bot(btex $19^h$ etex, project(ra5-(0,0,2),V1,V2));
+draw project(ra5-(0,0,2),V1,V2)..project(ra5+(0,0,2),V1,V2);
+label.bot(btex $20^h$ etex, project(ra6-(0,0,2),V1,V2));
+draw project(ra6-(0,0,2),V1,V2)..project(ra6+(0,0,2),V1,V2);
+label.bot(btex $21^h$ etex, project(ra7-(0,0,2),V1,V2));
+draw project(ra7-(0,0,2),V1,V2)..project(ra7+(0,0,2),V1,V2);
+label.bot(btex $22^h$ etex, project(ra8-(0,0,1),V1,V2));
+draw project(ra8-(0,0,2),V1,V2)..project(ra8+(0,0,2),V1,V2);
+label.bot(btex $23^h$ etex, project(ra9-(0,0,1),V1,V2));
+draw project(ra9-(0,0,2),V1,V2)..project(ra9+(0,0,2),V1,V2);
+
+picture pa;
+%pa = thelabel.bot(btex $24^h\!\!=\!0^h$ etex, project(ra0-(0,0,2),V1,V2));
+pa = thelabel.bot(btex $0^h$ etex, project(ra0-(0,-2.3,2.3),V1,V2));
+unfill bbox pa;
+draw pa;
+
+dec0=f_meridian(r,90,0);
+dec1=f_meridian(r,80,0);
+dec2=f_meridian(r,70,0);
+dec3=f_meridian(r,60,0);
+dec4=f_meridian(r,50,0);
+dec5=f_meridian(r,40,0);
+dec6=f_meridian(r,30,0);
+dec7=f_meridian(r,100,0);
+dec8=f_meridian(r,110,0);
+dec9=f_meridian(r,120,0);
+q0:=project(dec0,V1,V2)..project(dec1,V1,V2)..project(dec2,V1,V2)..project(dec3,V1,V2)..project(0.5[dec3,
dec4],V1,V2);
+draw project(dec1-(0,2,0),V1,V2)..project(dec1+(0,2,0),V1,V2);
+label.rt(btex $10^{\circ}$ etex, project(dec1+(0,0,2),V1,V2));
+draw project(dec2-(0,2,0),V1,V2)..project(dec2+(0,2,0),V1,V2);
+label.rt(btex $20^{\circ}$ etex, project(dec2+(0,0,2),V1,V2));
+draw project(dec3-(0,2,0),V1,V2)..project(dec3+(0,2,0),V1,V2);
+label.rt(btex $30^{\circ}$ etex, project(dec3+(0,0,2),V1,V2));
+draw project(dec4-(0,2,0),V1,V2)..project(dec4+(0,2,0),V1,V2);
+label.rt(btex $40^{\circ}$ etex, project(dec4+(0,0,2),V1,V2));
+draw project(dec5-(0,2,0),V1,V2)..project(dec5+(0,2,0),V1,V2);
+label.rt(btex $50^{\circ}$ etex, project(dec5+(0,0,2),V1,V2));
+draw project(dec6-(0,2,0),V1,V2)..project(dec6+(0,2,0),V1,V2);
+label.rt(btex $60^{\circ}$ etex, project(dec6+(0,0,2),V1,V2));
+draw project(dec7-(0,2,0),V1,V2)..project(dec7+(0,2,0),V1,V2);
+label.lft(btex $-10^{\circ}$ etex, project(dec7+(0,1,0),V1,V2));
+draw project(dec8-(0,2,0),V1,V2)..project(dec8+(0,2,0),V1,V2);
+label.lft(btex $-20^{\circ}$ etex, project(dec8+(0,1,0),V1,V2));
+draw project(dec9-(0,2,0),V1,V2)..project(dec9+(0,2,0),V1,V2);
+label.lft(btex $-30^{\circ}$ etex, project(dec9+(0,1,0),V1,V2));
+
+dec0:=f_meridian(r,130,0);
+draw project(dec0-(0,2,0),V1,V2)..project(dec0+(0,2,0),V1,V2);
+label.lft(btex $-40^{\circ}$ etex, project(dec0+(0,1,0),V1,V2));
+
+drawarrow z0--0.2z1; label.bot(btex $x$ etex, 0.2z1);
+drawarrow z0--0.2z2; label.rt(btex $y$ etex, 0.2z2);
+drawarrow z0--0.2z3; label.lft(btex $z$ etex, 0.2z3);
+pickup pencircle scaled 1.2pt;
+drawarrow p0;
+label.top(btex $RA$ etex, (point infinity of p0)+(-1,1));
+drawarrow q0;
+label.lft(btex $dec$ etex, point infinity of q0);
+
+dotlabel.ulft(btex $\vernal$ etex, z1);
+dotlabel.lrt(btex $\libra$ etex, -z1);
+dotlabel.llft(btex $N$ etex, z3);
+dotlabel.urt(btex $S$ etex, -z3);
+dotlabel.llft(btex $E$ etex, z2);
+dotlabel.urt(btex $W$ etex, -z2);
+dotlabel.llft(btex $N^*$ etex, z4);
+dotlabel.urt(btex $S^*$ etex, -z4);
+dotlabel.urt(btex $Sol_w$ etex, project(f_ecliptic(r,270),V1,V2));
+dotlabel.llft(btex $Sol_s$ etex, project(f_ecliptic(r,90),V1,V2));
+
+pickup defaultpen;
+label.rt(btex Ecliptic etex, 1.01z6);
+label.rt(btex Celestial equator etex, 1.01z7);
+endfig;
+
+beginfig(1);
+ draw fullcircle scaled 2r;
+ draw_equator(1,1);
+ draw_ecliptic(1,1);
+ draw_lunar_orbit(1,1);
+ draw_meridian(0,1,1);
+
+ z0=(0,0); % origin
+ z1=project((r,0,0),V1,V2); % x-axis
+ z2=project((0,r,0),V1,V2); % y-axis
+ z3=project((0,0,r),V1,V2); % z-axis
+ z4=project(North_Ec,V1,V2);
+ z5=project(f_ecliptic(r,Ln),V1,V2);
+ z6=project(f_ecliptic(r,75),V1,V2);
+ z7=project(f_equator(r,70),V1,V2);
+ z8=project(f_ecliptic(r,310),V1,V2);
+ z9=project(f_ecliptic(r,315),V1,V2);
+
+ drawarrow z0--0.2z1; label.bot(btex $x$ etex, 0.2z1);
+ drawarrow z0--0.2z2; label.rt(btex $y$ etex, 0.2z2);
+ drawarrow z0--0.2z3; label.lft(btex $z$ etex, 0.2z3);
+ draw -z1--z1 dashed evenly;
+ draw -z3--z3 dashed evenly;
+
+ pickup pencircle scaled 2pt;
+ dotlabel.urt(btex $\vernal$ etex, z1);
+ dotlabel.bot(btex $\libra$ etex, -z1);
+ dotlabel.llft(btex $N$ etex, z3);
+ dotlabel.urt(btex $S$ etex, -z3);
+ dotlabel.llft(btex $N^*$ etex, z4);
+ dotlabel.urt(btex $S^*$ etex, -z4);
+ dotlabel.lrt(btex $\ascnode$ etex, z5);
+
+ pickup defaultpen;
+ label.rt(btex Celestial equator etex, 1.01z7);
+ label.rt(btex Ecliptic etex, 1.01z6);
+ label.rt(btex Lunar orbit etex, 1.02*project(f_lunar(r,70),V1,V2));
+ drawarrow z8..z9;
+endfig;
+end
=======================================
--- /dev/null
+++ /fig_ra-dec.mp Mon Jan 11 06:06:08 2010
@@ -0,0 +1,125 @@
+verbatimtex
+%&latex
+\documentclass[12pt]{article}
+ \usepackage{wasysym}
+\begin{document}
+etex
+
+input astro
+input textpath
+
+outputtemplate := "%j.mps";
+
+beginfig(0);
+draw fullcircle scaled 2r;
+draw_equator(1,1);
+draw_ecliptic(1,1);
+
+
+z0=(0,0); % origin
+z1=project((r,0,0),V1,V2); % x-axis
+z2=project((0,r,0),V1,V2); % y-axis
+z3=project((0,0,r),V1,V2); % z-axis
+z4=project(North_Ec,V1,V2);
+z6=project(f_ecliptic(r,75),V1,V2);
+z7=project(f_equator(r,70),V1,V2);
+
+path p[],q[];
+vector ra[], dec[];
+ra0=f_equator(r,0);
+ra1=f_equator(r,15);
+ra2=f_equator(r,30);
+ra3=f_equator(r,45);
+ra4=f_equator(r,60);
+ra5=f_equator(r,285);
+ra6=f_equator(r,300);
+ra7=f_equator(r,315);
+ra8=f_equator(r,330);
+ra9=f_equator(r,345);
+p0:=project(ra0,V1,V2)..project(ra1,V1,V2)..project(ra2,V1,V2)..project(0.5[ra2,ra3],V1,V2);
+draw_meridian(0,1,1);
+draw project(ra1-(0,0,2),V1,V2)..project(ra1+(0,0,2),V1,V2);
+label.bot(btex $1^h$ etex, project(ra1-(0,0,2),V1,V2));
+draw project(ra2-(0,0,2),V1,V2)..project(ra2+(0,0,2),V1,V2);
+label.bot(btex $2^h$ etex, project(ra2-(0,0,2),V1,V2));
+draw project(ra3-(0,0,2),V1,V2)..project(ra3+(0,0,2),V1,V2);
+label.bot(btex $3^h$ etex, project(ra3-(0,0,2),V1,V2));
+draw project(ra3-(0,0,2),V1,V2)..project(ra3+(0,0,2),V1,V2);
+
+label.bot(btex $19^h$ etex, project(ra5-(0,0,2),V1,V2));
+draw project(ra5-(0,0,2),V1,V2)..project(ra5+(0,0,2),V1,V2);
+label.bot(btex $20^h$ etex, project(ra6-(0,0,2),V1,V2));
+draw project(ra6-(0,0,2),V1,V2)..project(ra6+(0,0,2),V1,V2);
+label.bot(btex $21^h$ etex, project(ra7-(0,0,2),V1,V2));
+draw project(ra7-(0,0,2),V1,V2)..project(ra7+(0,0,2),V1,V2);
+label.bot(btex $22^h$ etex, project(ra8-(0,0,1),V1,V2));
+draw project(ra8-(0,0,2),V1,V2)..project(ra8+(0,0,2),V1,V2);
+label.bot(btex $23^h$ etex, project(ra9-(0,0,1),V1,V2));
+draw project(ra9-(0,0,2),V1,V2)..project(ra9+(0,0,2),V1,V2);
+
+picture pa;
+%pa = thelabel.bot(btex $24^h\!\!=\!0^h$ etex, project(ra0-(0,0,2),V1,V2));
+pa = thelabel.bot(btex $0^h$ etex, project(ra0-(0,-2.3,2.3),V1,V2));
+unfill bbox pa;
+draw pa;
+
+dec0=f_meridian(r,90,0);
+dec1=f_meridian(r,80,0);
+dec2=f_meridian(r,70,0);
+dec3=f_meridian(r,60,0);
+dec4=f_meridian(r,50,0);
+dec5=f_meridian(r,40,0);
+dec6=f_meridian(r,30,0);
+dec7=f_meridian(r,100,0);
+dec8=f_meridian(r,110,0);
+dec9=f_meridian(r,120,0);
+q0:=project(dec0,V1,V2)..project(dec1,V1,V2)..project(dec2,V1,V2)..project(dec3,V1,V2)..project(0.5[dec3,
dec4],V1,V2);
+draw project(dec1-(0,2,0),V1,V2)..project(dec1+(0,2,0),V1,V2);
+label.rt(btex $10^{\circ}$ etex, project(dec1+(0,0,2),V1,V2));
+draw project(dec2-(0,2,0),V1,V2)..project(dec2+(0,2,0),V1,V2);
+label.rt(btex $20^{\circ}$ etex, project(dec2+(0,0,2),V1,V2));
+draw project(dec3-(0,2,0),V1,V2)..project(dec3+(0,2,0),V1,V2);
+label.rt(btex $30^{\circ}$ etex, project(dec3+(0,0,2),V1,V2));
+draw project(dec4-(0,2,0),V1,V2)..project(dec4+(0,2,0),V1,V2);
+label.rt(btex $40^{\circ}$ etex, project(dec4+(0,0,2),V1,V2));
+draw project(dec5-(0,2,0),V1,V2)..project(dec5+(0,2,0),V1,V2);
+label.rt(btex $50^{\circ}$ etex, project(dec5+(0,0,2),V1,V2));
+draw project(dec6-(0,2,0),V1,V2)..project(dec6+(0,2,0),V1,V2);
+label.rt(btex $60^{\circ}$ etex, project(dec6+(0,0,2),V1,V2));
+draw project(dec7-(0,2,0),V1,V2)..project(dec7+(0,2,0),V1,V2);
+label.lft(btex $-10^{\circ}$ etex, project(dec7+(0,1,0),V1,V2));
+draw project(dec8-(0,2,0),V1,V2)..project(dec8+(0,2,0),V1,V2);
+label.lft(btex $-20^{\circ}$ etex, project(dec8+(0,1,0),V1,V2));
+draw project(dec9-(0,2,0),V1,V2)..project(dec9+(0,2,0),V1,V2);
+label.lft(btex $-30^{\circ}$ etex, project(dec9+(0,1,0),V1,V2));
+
+dec0:=f_meridian(r,130,0);
+draw project(dec0-(0,2,0),V1,V2)..project(dec0+(0,2,0),V1,V2);
+label.lft(btex $-40^{\circ}$ etex, project(dec0+(0,1,0),V1,V2));
+
+drawarrow z0--0.2z1; label.bot(btex $x$ etex, 0.2z1);
+drawarrow z0--0.2z2; label.rt(btex $y$ etex, 0.2z2);
+drawarrow z0--0.2z3; label.lft(btex $z$ etex, 0.2z3);
+pickup pencircle scaled 1.2pt;
+drawarrow p0;
+label.top(btex $RA$ etex, (point infinity of p0)+(-1,1));
+drawarrow q0;
+label.lft(btex $dec$ etex, point infinity of q0);
+
+dotlabel.ulft(btex $\vernal$ etex, z1);
+dotlabel.lrt(btex $\libra$ etex, -z1);
+dotlabel.llft(btex $N$ etex, z3);
+dotlabel.urt(btex $S$ etex, -z3);
+dotlabel.llft(btex $E$ etex, z2);
+dotlabel.urt(btex $W$ etex, -z2);
+dotlabel.llft(btex $N^*$ etex, z4);
+dotlabel.urt(btex $S^*$ etex, -z4);
+dotlabel.urt(btex $Sol_w$ etex, project(f_ecliptic(r,270),V1,V2));
+dotlabel.llft(btex $Sol_s$ etex, project(f_ecliptic(r,90),V1,V2));
+
+pickup defaultpen;
+label.rt(btex Ecliptic etex, 1.01z6);
+label.rt(btex Celestial equator etex, 1.01z7);
+endfig;
+
+end
=======================================
--- /figure.mp Sun Dec 27 09:32:53 2009
+++ /dev/null
@@ -1,161 +0,0 @@
-verbatimtex
-%&latex
-\documentclass[12pt]{article}
- \usepackage{wasysym}
-\begin{document}
-etex
-
-input astro
-input textpath
-beginfig(0);
-draw fullcircle scaled 2r;
-draw_equator(1,1);
-draw_ecliptic(1,1);
-
-
-z0=(0,0); % origin
-z1=project((r,0,0),V1,V2); % x-axis
-z2=project((0,r,0),V1,V2); % y-axis
-z3=project((0,0,r),V1,V2); % z-axis
-z4=project(North_Ec,V1,V2);
-z6=project(f_ecliptic(r,75),V1,V2);
-z7=project(f_equator(r,70),V1,V2);
-
-path p[],q[];
-vector ra[], dec[];
-ra0=f_equator(r,0);
-ra1=f_equator(r,15);
-ra2=f_equator(r,30);
-ra3=f_equator(r,45);
-ra4=f_equator(r,60);
-ra5=f_equator(r,285);
-ra6=f_equator(r,300);
-ra7=f_equator(r,315);
-ra8=f_equator(r,330);
-ra9=f_equator(r,345);
-p0:=project(ra0,V1,V2)..project(ra1,V1,V2)..project(ra2,V1,V2)..project(0.5[ra2,ra3],V1,V2);
-draw_meridian(0,1,1);
-draw project(ra1-(0,0,2),V1,V2)..project(ra1+(0,0,2),V1,V2);
-label.bot(btex $1^h$ etex, project(ra1-(0,0,2),V1,V2));
-draw project(ra2-(0,0,2),V1,V2)..project(ra2+(0,0,2),V1,V2);
-label.bot(btex $2^h$ etex, project(ra2-(0,0,2),V1,V2));
-draw project(ra3-(0,0,2),V1,V2)..project(ra3+(0,0,2),V1,V2);
-label.bot(btex $3^h$ etex, project(ra3-(0,0,2),V1,V2));
-draw project(ra3-(0,0,2),V1,V2)..project(ra3+(0,0,2),V1,V2);
-
-label.bot(btex $19^h$ etex, project(ra5-(0,0,2),V1,V2));
-draw project(ra5-(0,0,2),V1,V2)..project(ra5+(0,0,2),V1,V2);
-label.bot(btex $20^h$ etex, project(ra6-(0,0,2),V1,V2));
-draw project(ra6-(0,0,2),V1,V2)..project(ra6+(0,0,2),V1,V2);
-label.bot(btex $21^h$ etex, project(ra7-(0,0,2),V1,V2));
-draw project(ra7-(0,0,2),V1,V2)..project(ra7+(0,0,2),V1,V2);
-label.bot(btex $22^h$ etex, project(ra8-(0,0,1),V1,V2));
-draw project(ra8-(0,0,2),V1,V2)..project(ra8+(0,0,2),V1,V2);
-label.bot(btex $23^h$ etex, project(ra9-(0,0,1),V1,V2));
-draw project(ra9-(0,0,2),V1,V2)..project(ra9+(0,0,2),V1,V2);
-
-picture pa;
-%pa = thelabel.bot(btex $24^h\!\!=\!0^h$ etex, project(ra0-(0,0,2),V1,V2));
-pa = thelabel.bot(btex $0^h$ etex, project(ra0-(0,-2.3,2.3),V1,V2));
-unfill bbox pa;
-draw pa;
-
-dec0=f_meridian(r,90,0);
-dec1=f_meridian(r,80,0);
-dec2=f_meridian(r,70,0);
-dec3=f_meridian(r,60,0);
-dec4=f_meridian(r,50,0);
-dec5=f_meridian(r,40,0);
-dec6=f_meridian(r,30,0);
-dec7=f_meridian(r,100,0);
-dec8=f_meridian(r,110,0);
-dec9=f_meridian(r,120,0);
-q0:=project(dec0,V1,V2)..project(dec1,V1,V2)..project(dec2,V1,V2)..project(dec3,V1,V2)..project(0.5[dec3,
dec4],V1,V2);
-draw project(dec1-(0,2,0),V1,V2)..project(dec1+(0,2,0),V1,V2);
-label.rt(btex $10^{\circ}$ etex, project(dec1+(0,0,2),V1,V2));
-draw project(dec2-(0,2,0),V1,V2)..project(dec2+(0,2,0),V1,V2);
-label.rt(btex $20^{\circ}$ etex, project(dec2+(0,0,2),V1,V2));
-draw project(dec3-(0,2,0),V1,V2)..project(dec3+(0,2,0),V1,V2);
-label.rt(btex $30^{\circ}$ etex, project(dec3+(0,0,2),V1,V2));
-draw project(dec4-(0,2,0),V1,V2)..project(dec4+(0,2,0),V1,V2);
-label.rt(btex $40^{\circ}$ etex, project(dec4+(0,0,2),V1,V2));
-draw project(dec5-(0,2,0),V1,V2)..project(dec5+(0,2,0),V1,V2);
-label.rt(btex $50^{\circ}$ etex, project(dec5+(0,0,2),V1,V2));
-draw project(dec6-(0,2,0),V1,V2)..project(dec6+(0,2,0),V1,V2);
-label.rt(btex $60^{\circ}$ etex, project(dec6+(0,0,2),V1,V2));
-draw project(dec7-(0,2,0),V1,V2)..project(dec7+(0,2,0),V1,V2);
-label.lft(btex $-10^{\circ}$ etex, project(dec7+(0,1,0),V1,V2));
-draw project(dec8-(0,2,0),V1,V2)..project(dec8+(0,2,0),V1,V2);
-label.lft(btex $-20^{\circ}$ etex, project(dec8+(0,1,0),V1,V2));
-draw project(dec9-(0,2,0),V1,V2)..project(dec9+(0,2,0),V1,V2);
-label.lft(btex $-30^{\circ}$ etex, project(dec9+(0,1,0),V1,V2));
-
-dec0:=f_meridian(r,130,0);
-draw project(dec0-(0,2,0),V1,V2)..project(dec0+(0,2,0),V1,V2);
-label.lft(btex $-40^{\circ}$ etex, project(dec0+(0,1,0),V1,V2));
-
-drawarrow z0--0.2z1; label.bot(btex $x$ etex, 0.2z1);
-drawarrow z0--0.2z2; label.rt(btex $y$ etex, 0.2z2);
-drawarrow z0--0.2z3; label.lft(btex $z$ etex, 0.2z3);
-pickup pencircle scaled 1.2pt;
-drawarrow p0;
-label.top(btex $RA$ etex, (point infinity of p0)+(-1,1));
-drawarrow q0;
-label.lft(btex $dec$ etex, point infinity of q0);
-
-dotlabel.ulft(btex $\vernal$ etex, z1);
-dotlabel.lrt(btex $\libra$ etex, -z1);
-dotlabel.llft(btex $N$ etex, z3);
-dotlabel.urt(btex $S$ etex, -z3);
-dotlabel.llft(btex $E$ etex, z2);
-dotlabel.urt(btex $W$ etex, -z2);
-dotlabel.llft(btex $N^*$ etex, z4);
-dotlabel.urt(btex $S^*$ etex, -z4);
-dotlabel.urt(btex $Sol_w$ etex, project(f_ecliptic(r,270),V1,V2));
-dotlabel.llft(btex $Sol_s$ etex, project(f_ecliptic(r,90),V1,V2));
-
-pickup defaultpen;
-label.rt(btex Ecliptic etex, 1.01z6);
-label.rt(btex Celestial equator etex, 1.01z7);
-endfig;
-
-beginfig(1);
- draw fullcircle scaled 2r;
- draw_equator(1,1);
- draw_ecliptic(1,1);
- draw_lunar_orbit(1,1);
- draw_meridian(0,1,1);
-
- z0=(0,0); % origin
- z1=project((r,0,0),V1,V2); % x-axis
- z2=project((0,r,0),V1,V2); % y-axis
- z3=project((0,0,r),V1,V2); % z-axis
- z4=project(North_Ec,V1,V2);
- z5=project(f_ecliptic(r,Ln),V1,V2);
- z6=project(f_ecliptic(r,75),V1,V2);
- z7=project(f_equator(r,70),V1,V2);
- z8=project(f_ecliptic(r,310),V1,V2);
- z9=project(f_ecliptic(r,315),V1,V2);
-
- drawarrow z0--0.2z1; label.bot(btex $x$ etex, 0.2z1);
- drawarrow z0--0.2z2; label.rt(btex $y$ etex, 0.2z2);
- drawarrow z0--0.2z3; label.lft(btex $z$ etex, 0.2z3);
- draw -z1--z1 dashed evenly;
- draw -z3--z3 dashed evenly;
-
- pickup pencircle scaled 2pt;
- dotlabel.urt(btex $\vernal$ etex, z1);
- dotlabel.bot(btex $\libra$ etex, -z1);
- dotlabel.llft(btex $N$ etex, z3);
- dotlabel.urt(btex $S$ etex, -z3);
- dotlabel.llft(btex $N^*$ etex, z4);
- dotlabel.urt(btex $S^*$ etex, -z4);
- dotlabel.lrt(btex $\ascnode$ etex, z5);
-
- pickup defaultpen;
- label.rt(btex Celestial equator etex, 1.01z7);
- label.rt(btex Ecliptic etex, 1.01z6);
- label.rt(btex Lunar orbit etex, 1.02*project(f_lunar(r,70),V1,V2));
- drawarrow z8..z9;
-endfig;
-end
=======================================
--- /pycalcal.nw Mon Dec 28 08:43:41 2009
+++ /pycalcal.nw Mon Jan 11 06:06:08 2010
@@ -3184,7 +3184,7 @@
The location of an object in the sky is determined by celestial
coordinates, analogous to the latitude and longotude for the location
of a position of Earth.
-\subsection{$alt-az$ Coordinate systems}
+\subsection{$Alt-az$ Coordinate systems}
\label{sec:alt-az}
The alt-az is a topocentric (i.e. as seen from the observer's
place on the Earth's surface) celestial coordinate system.
@@ -3199,7 +3199,24 @@
The azimith (A) is the direction of a celestial object, measured
clockwise around the observer's horizon from south.
-
+Figure~\ref{fig:ALT-AZ}\ displays the Earth and the alt-az (or horizontal)
+coordinate system.
+\begin{figure}[h]
+ \rule{\textwidth}{0.005in}
+ \begin{center}
+ \includegraphics{fig_alt-az.pdf}
+ \caption{Alt-az coordinate system. $N$ is the North (Celestial) Pole;
+ $x$ points at the intersection between Greenwich meridian and the
equator;
+ $A$ is the azimuth of the celestial body $B$ as seen from observer
+ positioned in $P$ (at geographical longitude $L$ and geographical
latitude
+ $\varphi$; $\varphi'$ is the geocentric latitude [mesured from
Earth's
+ center])).}\label{fig:ALT-AZ}
+ \end{center}
+ \rule{\textwidth}{0.005in}
+\end{figure}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{$HA-dec$ Coordinate systems}
\label{sec:HA-dec}
@@ -3210,7 +3227,7 @@
\begin{figure}[h]
\rule{\textwidth}{0.005in}
\begin{center}
- \includegraphics{figure-0.pdf}
+ \includegraphics{fig_ra-dec.mps}
\caption{RA-dec coordinate system. $N^*$ is the North pole of the
ecliptic; $N$ is the North Celestial Pole; $\vernal$ is the first
point of
Aries and the zero-point for this coordinate system. Right Ascension
($RA$
@@ -3219,10 +3236,10 @@
Celestial equator.
$Sol_w$ is the winter solstice point of $18^h RA$ and $-23.5^{\circ}$
$dec$; $Sol_s$ is the summer solstice point of $6^h RA$ and
$23.5^{\circ}$
- $dec$.}\label{fig:RA-DEC}
+ $dec$.}\label{fig:RA-DEC}
\end{center}
\rule{\textwidth}{0.005in}
-\end{figure}
+\end{figure}
Figure~\ref{fig:ecliptic}\ displays ecliptic, lunar orbit (angle is
exagerated),
the lunar (ascending) node $\ascnode$\ and the origin \vernal\ (at vernal
equinox).
@@ -3231,11 +3248,11 @@
\begin{figure}[h]
\rule{\textwidth}{0.005in}
\begin{center}
- \includegraphics{figure-1.pdf}
+ \includegraphics{fig_ecliptic.mps}
\caption{Celestial coordinate system. $N^*$ is the North pole of the
ecliptic; $N$ is the North Celestial Pole; $\vernal$ is the first
point of
Aries or the ascending node of the mean ecliptic. $\ascnode$ is the
- ascending node of the lunar orbit.}\label{fig:ecliptic}
+ ascending node of the lunar
orbit.}\label{fig:ecliptic}\label{fig:ecliptic}
\end{center}
\rule{\textwidth}{0.005in}
\end{figure}
@@ -8142,7 +8159,7 @@
@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
<<Makefile: suffixes>>=
.SUFFIXES:
-.SUFFIXES: .nw .tex .py .dvi .defs .html .pdf
+.SUFFIXES: .nw .tex .py .dvi .defs .html .pdf .mp .asy .mps
.nw.py:
$(NOTANGLE) -filter btdefn -R$*.py - $(CPIF) $*.py
@@ -8174,6 +8191,15 @@
do $(PDFLATEX) $*;\
done; \
+.mp.mps:
+ mpost -tex=pdflatex $*.mp
+
+.mp.pdf:
+ mptopdf --latex $*.mp
+
+.asy.pdf:
+ asy -tex pdflatex $*.asy
+
@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
<<Makefile: targets>>=
# %.chk (this is a check for latex)
@@ -8181,7 +8207,7 @@
.PRECIOUS: %.aux %.bbl
.PHONY : all
-all: figure pycalcal.pdf $(NW_MAIN:.nw=.py) pycalcaltests.py
+all: figures pycalcal.pdf $(NW_MAIN:.nw=.py) pycalcaltests.py
.PHONY : index
pycalcal.defs: $(NW_MAIN) premarkup
@@ -8194,16 +8220,17 @@
# TeX (use predefined rule)
pycalcal.tex: premarkup
-pycalcal.pdf: $(NW_MAIN:.nw=.tex) figure
+# do not depend on target figures (asymptote ones take quale long time)
+pycalcal.pdf: $(NW_MAIN:.nw=.tex)
# Python files (for pycalcal.py use predefined rule +
# extra dependency on premarkup)
pycalcal.py: premarkup
-.PHONY : figure
-
-figure:
- mptopdf figure.mp
+.PHONY : figures
+
+figures: fig_ra-dec.mps fig_ecliptic.mps fig_alt-az.pdf
+
<<Makefile: distro>>
<<Makefile: unit tests and targets>>
@@ -8224,13 +8251,16 @@
@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
<<Makefile: distro>>=
DISTRO_FILES=$(NW_MAIN) $(NW_MAIN:.nw=.py) $(NW_MAIN:.nw=.pdf) \
- README \
- INSTALL \
- STATUS \
- COPYRIGHT_DERSHOWITZ_REINGOLD \
+ README INSTALL STATUS COPYRIGHT_DERSHOWITZ_REINGOLD \
makemake.sh \
+ Makefile \
+ calendrica-3.0.cl \
+ calendrica-3.0.errata.cl \
+ $(NW_MAIN:.nw=.tex) \
+ $(NW_MAIN:.nw=.bib) \
figure.mp \
- astro.mp
+ astro.mp \
+ alt-az.asy
.PHONY : distro
distro: all
@@ -8510,7 +8540,9 @@
trasformLatexDates2Cvs pycalcal.pdf extractcc3signatures \
extractcalcalsignatures pycalcal.ind pycalcal.out pycalcal.ilg \
pycalcal.idx *UnitTest.py *UnitTest_result.txt \
- html/ calendrica/ pycalcal*.gz figure.mpx figure.0 figure-*.pdf
+ html/ calendrica/ pycalcal*.gz figure.mpx \
+ $$(ls | grep "figure.[0-9][0-9]*") figure-*.pdf fig_*.pdf \
+ *.mps *mpx
superclean: clean
for f in $$(hg status | grep -e '^?' | sed -e 's/^? //g'); \