What is the name of a map projection that casts rays from a point on the surface of the globe to a cylinder?

Some people who make sundials put a map of Earth on the sundial. I want to use the "right" map projection such that, when the nodus casts a shadow on a particular city on the map, the sun is directly overhead that city on the real Earth.

If the sundial is in the form of (part of) a cylinder, and the nodus fixed to a point on the axis of the cylinder, then such a map uses the cylindric perspective projection.

If the sundial is entirely composed of flat surfaces, then such a map uses a gnomonic projection on each surface.

A few sundials are in the form of (part of) a cylinder, and the nodus is a small notch or hole in the curved surface of the cylinder. Carl Sabanski calls this a "Cylinder Sundial: Type 1". Is there a name for the kind of map projection I want to use in this sundial?

In the form of an analogy question: gnomonic projection : azimuthal conformal projection :: cylindric perspective projection : __?

Edit: Oops. My description seems to be a mishmash of 2 different projections. For lack of better names, for now I'm going to call them the "point-on-globe-in-cylinder projection" and the "Type 1 cylinder sundial projection". I hope that I will soon learn some other, less awkward name for each projection.

After posting the original question, I realized that the "point-on-globe-in-cylinder projection" is not the one I want to put on my "Type 1 cylinder sundial".

The "point-on-globe-in-cylinder projection" involves a globe inscribed in a cylinder, where both of them have radius R, like most cylindrical projections. Like the azimuthal conformal projection, there is very low distortion around one special center point on the map. Like the azimuthal conformal projection, rays start at the antipode of that center point, then hit some city on that globe, travel a bit further and hit the paper where that city is mapped. Like most cylindrical projections, since the globe touches a circumference of the cylinder along some great circle, the map is pretty accurate at points near that great circle. With a very long cylinder, almost all the globe can be mapped.

The "Type 1 cylinder sundial projection" is the projection I want to place on my "Type 1 cylinder sundial". The globe has radius R, while the cylinder has radius R/2. The globe is positioned so the geometric center of the earth is at the nodus hole on the surface of the cylinder. The point on the surface of the cylinder diametrically opposite the nodus is a special central point. The surface of the cylinder is tangent to the surface of the globe (only) at that central point. Along the straight line from that central point along the length of the cylinder, it's approximately a gnomonic projection -- rays start from the center of the globe, then hit a city on the globe, then travel a bit further and hit the paper where that city is mapped. Along the circumference from that central point around the cylinder to the nodus hole, rays start from the center of the globe, then hit the paper cylinder where a city is mapped, and then hit that city on the globe. With a very long cylinder, almost half the globe can be mapped, the hemisphere around the central point. Since there is a small hole punched in the surface of the cylinder to form the nodus, rays from the center of the nodus to the antipode of the central point (and the hemisphere around that antipode) never strike the cylinder, and so are not mapped anywhere on the cylinder.

Is there a better name for what I'm calling the "point-on-globe-in-cylinder projection"? Is there a better name for what I'm calling the "Type 1 cylinder sundial projection"?

Should I split this question up into 2 different questions, each one asking about 1 of these 2 projections?


1 Answer 1


As far as I know, this one has no name, but it is composed of two well-known simple 1D projections. The details depend on the location and orientation of the cylinder, but regardless of that, you can express the sun's direction in terms of two angles. Set up a local (3D) orthogonal coordinate system in which the z axis is oriented at right angles to the cylinder at the hole, the y axis is oriented along the cylinder's axis, and the x axis gives the system a positive orientation. Put the origin beneath the hole along the axis. The sun's direction can be given (in a somewhat unconventional way) as a pair of angles a and b: a is the angle in the xz plane with 0 = along the z axis and b is the angle in the yz plane with 0 = along the z axis; both angles range from -90 to +90 degrees. However, it's simpler (for projection) to express the angles in radians, so let's assume this has been done, whence both a and b range from -pi/2 to +pi/2.

Let the radius of the cylinder equal R. Any location on the cylinder can be specified as the distance along its axis (i.e., the y coordinate) and the distance along the cylinder's circumference in the xz plane. By elementary geometry the latter distance equals 2 * R * a (and therefore ranges from -piR to +piR, exactly covering the whole circumference). Also, by definition of the tangent function, y = 2 * R * tan(a). We can eliminate the common factor of 2*R (it's just a scale factor for the map), so that the projection is

(a, b) --> (tan(a), b).

Geometrically, this is a 1D stereographic projection in the first angular coordinate and and "unwrapping" (equidistant) projection in the second angular coordinate.

If we place the cylinder so the normal vector to the hole is parallel to the earth's axis we can project the northern hemisphere onto the cylinder and unwrap it into this map. The cylinder's axis was oriented along the -90/+90 meridians. (North America is at the bottom; the prime meridian is at the right; the north pole is in the center.) The red curves approximate the lines of latitude at 0, 5, ..., 90 degrees and the black curves are meridians at -180, -165, ..., +165 degrees.

enter image description here

It was computed by converting (longitude, latitude) = (lambda, phi) into (u, v) via the equations

t = 2 sin(phi) / ((cos(lambda) cos(phi))^2 + sin(phi)^2)
x = -t cos(lambda) cos(phi)
z = 1 - t sin(phi)
u = -ATan2(-z, x)
v = t sin(lambda) cos(phi)

These are simple enough that you could program the projection into many GISes.

  • Excellent. This is exactly the kind of thing I'm looking for. I see now that I can directly calculate the distance d along the cylinders circumference d = 2*Ra, completely independently of angle b or distance y along the axis. However, while I see that y is approximately 2*Rtan(b) when angle a is close to zero, I don't quite follow. With the hole punched in the cylinder at x,y,z = 0,0,R, when the light hits somewhere along the line x,y,z = -R,y,0; i.e. angle a is pi/4 (45 degrees), it looks to me like y is approximately 1*R*tan(b). Perhaps y = (R-z)*tan(b) ?
    – David Cary
    Mar 15, 2011 at 14:58
  • @David Use a more symmetric model. My calculation used the cylinder x^2 + z^2 = R^2 with the hole at (0,0,1). The direction vector to the sun is n = (cos(lambda)cos(phi), sin(lambda)sin(phi), cos(phi)). Find the two points where (0,0,1) - t * n intersects the cylinder (one of them is at t=0, the hole itself, leaving you with a simple linear equation in t). This gives my formula for t, which you plug in to obtain (x,y,z). I set u to the cylinder's angular coordinate in the z-x plane and then set v = -y to maintain the proper orientation of the map.
    – whuber
    Mar 15, 2011 at 15:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.