How do I map a spherical triangle to a plane triangle? My goal here is to make my own custom "polyhedral map" of Earth. If you print out something from the "Map Fold-outs" page, you will have something almost exactly like what I'm trying to make.
I have 2 triangles. One is a spherical triangle drawn on a 3D globe. By definition, each edge of a spherical triangle is part of a great circle. When you look at that 3D globe, there are a bunch of cities, coastlines, etc. that are (hopefully) accurately plotted on that 3D globe, inside that spherical triangle.
The other triangle is a flat, plane (2D), straight-edged, Euclidean triangle. On paper. At the moment the interior of that triangle is blank white paper, but eventually I want to draw a copy of all those cities, coastlines, etc. into that area.
Every map projection will map that 3D spherical triangle to a 2D image. Then it's easy to (in 2D) rotate and slide and shrink, and perhaps skew, that image until the 3 corners exactly line up with the 3 corners of my plane triangle. If I stack the results of a bunch of different map projections on top of each other, even though I've forced the 3 corners to exactly line up, each projection will put the cities in a slightly different location. Unfortunately, many projections take cities that are slightly inside the spherical triangle and draw them slightly outside the flat 2D triangle. (One symptom of this problem is that the sides of the spherical triangle are mapped to plane (2D) curves whose endpoints match the corners properly, but they bulge outward slightly from perfectly straight lines drawn between the corners). That leads to the city being completely missing from my polyhedral map.
I'd rather not run the risk of some Polish mathematician getting upset that Warsaw is inexplicably missing from the flat, plane (2d), paper map that I've made :-).
So I'm looking for map projections that "keep it inside the lines". I need 3 specific great circles (the edges of the spherical triangle) to be mapped to straight lines on paper. I don't care about other great circles -- straight, non-straight, whatever.
What map projections meet that criteria? And can you give me a link to the (x,y) = f(lat, long) equations for that projection?
I hear that the map projection used for the Dymaxion map meets that criteria; and someone told me that he thought it used the Chamberlin trimetric projection.
Alas, when I use my (extremely rough and probably buggy) implementation of Chamberlin trimetric projection to map the spherical triangle formed by its 3 base points to the plane, I seem to be getting a shape that is almost a triangle, but the three "lines" curve and bulge out. Is that a bug in my code, or is it supposed to do that?
So apparently either (a) I'm using the wrong equations -- so where can I find the right equations? Or (b) Dymaxion actually uses some other projection -- so where can I find the equations for that projection?
I'm looking for answers of the form "The gnomonic projection meets your criteria. The gnomonic projection equations."
I'm trying to get a list of several map projections that meet that critera.
I know that the gnomonic projection is not the only one, because
the Collignon projection and the Peirce quincuncial projection can map an octant (a spherical triangle with 90 degree corners) to a straight-edged plane triangle.
(Forgive me for reposting this question from StackOverflow. I hope that a few people here will know a few answers to this that no one at StackOverflow seems to know).
EDIT:
Several responses have mentioned that the only way to make every straight line on the plane map correspond to a great circle on the globe is to use the gnomonic projection (or some linear affine transformation of it).
That's technically correct, but irrelevant to my question.
I'm not asking for a projection that maps every straight line on the plane map correspond to a great circle on the globe.
I'm asking for projections that map 3 particular straight lines -- the boundaries of one facet of my map -- to 3 particular great circles on the globe -- the great circles connecting a few particular carefully-chosen locations on Earth.
While certainly the gnomonic projection is one way to map the cities, coastlines, etc. in a spherical triangle to a plane triangle, it is not the only way. As an existence proof, as I mentioned before, the Collignon projection and the Peirce quincuncial projection also map the octant -- a spherical triangle -- to a straight-edged plane triangle.
(What are the equations for the Dymaxion map projection?
I hear that it is yet another way to map a spherical triangle to a plane triangle).
Alas, some people do not like the area distortion, length distortion, and the angle distortion of the gnomonic projection.
I'm hoping that by allowing a little distortion in the paths of some great circles (mapping them to slightly curved paths on the plane), I will end up with less area distortion, length distortion, and angle distortion.
(I see that the Peirce quincuncial projection has zero angle distortion at most points).
"there are infinitely many smooth mappings from the sphere to the plane that satisfy that criterion. ... you can always take any such mapping and "distort" it a little in the interior."
Yes, but most of them make area distortion, length distortion, and angle distortion worse, and have horrifically complicated equations describing them.
I'm looking for projections that are better than the gnomonic projection, preferably with relatively simple equations describing the projection.
I hesitate to say that I'm looking for the projection that minimizes distortion, because I don't want several pages of horrifically complicated equations that happen to minimize some specific arbitrarily-weighted average of area distortion, length distortion, and angle distortion.
 A: You might want to look at the relatively recent book:
Portrait of the Earth: A Mathematician Looks at Maps by Timothy Freeman
American Mathematical Society, Providence, 2002
A: The uniqueness of gnomonic projections is a consequence of the uniqueness of line-preserving transformations of the plane.  If you have map projections $P_1$ and $P_2$ that take all arcs of great circles to segments of lines, then $P_1 \circ P_2^{-1}$ is a transformation of the plane (or of one part of the plane onto another) that sends line segments to line segments. [In case the $\circ$ notation is not clear, I mean the transformation that results from taking the target of $P_2$, un-projecting it back to the sphere, and projecting that pre-target from the sphere back to the plane using $P_1$.]
It is known that, within the class of topology-preserving (continuous and one-to-one) transformations between connected regions in the plane, any collinearity-preserving transformation is the restriction of a single linear transformation.   If you allow points at infinity (for the gnomonic projection these are the projection of points on the equator of the sphere) then it is also true that any collinearity-preserving transformation is the restriction of a single projective transformation. 
The consequence for gnomonic projections is that if you consider the projection plane to be a rigid object, with an x-y coordinate system drawn on it, but that coordinatized plane can be moved around in space, then any map projection from a sphere (or parts of the sphere) to the plane that takes arcs of great circles to segments or lines, is a gnomonic projection onto some position of the plane.  
A: I also tried to identify projection methods that map points in a spherical triangle to a planar triangle (and vice versa).  I shied away from the gnomonic projection because it distorts distances along the great circle edges of the spherical triangle -- which I felt was aesthetically unappealing.
You would like to map every point on a spherical triangle to a unique point on the planar triangle.  One method that seems to provide an intuitively satisfying result works as follows.  Bisect each edge of the spherical triangle.  Connect all pairs of the three bisectors via great circle arcs, thereby creating four smaller spherical triangles.  Do the same with the planar triangle.  Any point in the spherical triangle will fall within one of the four smaller spherical triangles. 
My proposed projection method assumes that every point in each smaller spherical triangle maps to a point on the corresponding smaller planar triangle.  So we now have precisely the same mapping problem at half the original scale.  We can now subdivide this smaller spherical triangle and map each smaller triangle to its corresponding smaller planar triangle.
Repeating this bisection process indefinitely would define a unique one-to-one mapping. Truncating the process after a finite number of iterations can achieve any desired level of precision.  This mapping can easily be implemented in either direction (spherical to planar or vice versa).  I suspect that there is some closed-form functional transformation that would achieve the same result, but I've had no success trying to identify it.  
