# 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 number of (perhaps not-so-authoritative) sources I found online, including Principles of Meteorological Analysis by Saucier, claim that the gnomonic projection is the only one that maps all great circles to straight lines, but I haven't been able to locate a proof. On the other hand, all you really need is to map the three great circles that form your spherical triangle to straight lines, but there is an infinite number of smooth functions satisfying that criterion. – Rahul Narain Sep 12 '10 at 5:15
– J. M. Sep 12 '10 at 5:19
– J. M. Sep 12 '10 at 5:46
Sorry, I hadn't noticed you had already said in your question that "I don't care about other great circles -- straight, non-straight, whatever." But as I said, there are infinitely many smooth mappings from the sphere to the plane that satisfy that criterion. You can use a gnomonic projection. You can use barycentric coordinates. You can use a perspective warp of either and affinely realign it. More generally, you can always take any such mapping and "distort" it a little in the interior. So an exhaustive characterization of such projections is simply not possible. – Rahul Narain Sep 13 '10 at 13:56
– stevenvh Sep 13 '10 at 16:20

## 2 Answers

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

-

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.

-

The Collignon projection and the Peirce quincuncial projection each map a few arcs of great circles to line segments. However, they are not gnomonic projections. – David Cary Sep 13 '10 at 16:20
The proof above is for projections that map all great circle arcs (within some patch of sphere) to line segments. The same argument shows how to construct a multitude of projections that map only the boundary arcs of a spherical triangle onto the sides of a plane triangle, by reducing it to mapping of a planar triangle onto itself.  For example, you could map barycentric coordinates (a,b,c) of points in the triangle to (a^t, b^t, c^t) and then normalize to get a set of barycentric coordinates (divide by a^t + b^t + c^t). There is also a unique projection that is a conformal mapping. – T.. Sep 13 '10 at 17:19
{"extraction_info": {"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 6, "mathjax_display_tex": 0, "mathjax_asciimath": 0, "img_math": 0, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0}, "config": {"markdown_headings": true, "markdown_code": true, "boilerplate_config": {"ratio_threshold": 0.18, "absolute_threshold": 20, "end_threshold": 15, "enable": true}, "remove_buttons": true, "remove_image_figures": true, "remove_link_clusters": true, "table_config": {"min_rows": 2, "min_cols": 3, "format": "plain"}, "remove_chinese": true, "remove_edit_buttons": true, "extract_latex": true}, "english_confidence": 0.9317194223403931, "perplexity_flag": "middle"}