Globular Projections
Bacon Globular
>
mapcoords(`Bacon globular`,
input = [Lambda,phi],
coords = [shift= '`if`(type(Shift,name),0,Shift)',
lambda = 'readlib(`Maps/shiftf`)'(Lambda-shift*Pi/180,Pi),
F = '`if`'(lambda=0,0,((Pi/2)^2/abs(lambda)+abs(lambda))/2),
y = r*Pi/2*sin(phi),
x='`if`'(lambda=0,0,'sign'(lambda)*r*(abs(lambda)-F+sqrt(F*F-y*y/r/r))),
[x,y]],
params = [r,Shift,P_1,P_2],
view = [-90..90,-90..90,13,7,-180..180,-150..150]);
The coordinate system as shown below is contained in a circle with straight parallels.
> bc1:=removelines(coordplot(`Bacon globular`),10): bc1;
The entire world is shown with the coordinate system below
> bcworld:=removelines(changecoords(world[ng,50],`Bacon globular`(1,-90))):
> plots[display]({bcworld,bc1});
We see that the entire world does not fit inside the circle. In what follows we show just one hemisphere:
> wplot := Hidehemisphere(world[ng,50],-90,0):
> bcworld:=removelines(changecoords(wplot,`Bacon globular`(1,-90))):
> plots[display]({bcworld,bc1});
Nicolosi Globular
>
mapcoords(`Nicolosi globular`,
input = [Lambda,phi],
coords = [shift= '`if`(type(Shift,name),0,Shift)',
lambda = 'readlib(`Maps/shiftf`)'(Lambda-shift*Pi/180,Pi),
t1 = '`if`(lambda=0,RETURN([0,r*phi]),0)',
t2 = '`if`(phi=0,RETURN([r*lambda,0]),0)',
t3 = '`if`(abs(abs(lambda)-Pi/2)<1e-6,RETURN([r*lambda*cos(phi),r*Pi/2*sin(phi)]),0)',
t4 = '`if`(abs(abs(phi)-Pi/2)<1e-6,RETURN([0,r*phi]),0)',
b = Pi/2/lambda-2*lambda/Pi,
c = 2*phi/Pi,
d = (1-c^2)/(sin(phi)-c),
M = (b*sin(phi)/d-b/2)/(1+b^2/d^2),
N = (d^2*sin(phi)/b^2+d/2)/(1+d^2/b^2),
x = Pi*r/2*(M+'sign'(lambda)*sqrt(M^2+cos(phi)^2/(1+b^2/d^2))),
y = Pi*r/2*(N-'sign'(phi)*sqrt(N^2-(d^2*sin(phi)^2/b^2+d*sin(phi)-1)/(1+d^2/b^2))),
[x,y]],
params = [r,Shift],
view = [-90..90,-90..90,13,7,-180..180,-150..150]);
The coordinate system
>
ncoords:=coordplot(`Nicolosi globular`):
nc1:=removelines(ncoords,10): nc1;
The world projected according this system is
> changecoords(world[50],`Nicolosi globular`(1,-90));
> removelines(%);
The western hemisphere appears below
> ncworld:=removelines(changecoords(wplot,`Nicolosi globular`(1,-90))):
> plots[display]({ncworld,nc1});