开发者

How do I map a spherical triangle to a plane triangle?

开发者 https://www.devze.com 2023-01-08 13:33 出处:网络
The gnomonic projection maps spherical triangles to straight-edged plane triangles. But I\'ve heard that the Chamberlin trimetric projection has less distortion, so I\'d like to use that instead.

The gnomonic projection maps spherical triangles to straight-edged plane triangles.

But I've heard that the Chamberlin trimetric projection has less distortion, so I'd like to use that instead. 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?

Is there some other way of mapping a spherical triangle to a straight-edged plane triangle that has less distortion than the gnomonic projection?

EDIT: My goal here is to make a 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.

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. But apparently either (a) I'm using the wrong equations -- so where can I find 开发者_如何学JAVAthe right equations? Or (b) Dymaxion actually uses some other projection -- so where can I find the equations for that projection?

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'm looking for answers of the form "The gnomonic projection meets your criteria. The gnomonic projection equations."


I've just looked here...

http://en.wikipedia.org/wiki/Chamberlin_trimetric_projection

I think the key words are "The projection's principal feature is that it compromises between distortions of area, direction, and distance." - in particular "compromises".

In any projection from a Euclidean to a non-Euclidean surface, there must be distortions. The issue isn't "how much distortion" so much as "what kind". Gnomic projection presumably makes no compromises in terms of preserving the linearity of lines, but therefore has more of other kinds of distortion.

Not my field, though, so I could be missing the point.

EDIT I can't help noticing that in the illustration on the Wikipedia page, the latitude and longitude lines aren't straight lines.


I've been there and I know is absolutly not a single perfect projection for the thing you it... Absolutly none. BUT there are some better than others.

Your best shot is an auto oriented stereographic. First you should find the centroid of the polygon you want to project and then use the stereographic projection centered on that axe.

http://en.wikipedia.org/wiki/Stereographic_projection http://mathworld.wolfram.com/StereographicProjection.html

In thouse two you will find most of the things you need to, but I'm warning you, it will not be beautiful and it will hurt a lot.

In the end the only real solution is operating directly in 3D but that requires really advanced geometry that is not found under the rocks or the supermarket.


I will answer the title*, because I don't fully understand the question body.

Answer is : you can't. You won't be able to map the sphere to the plane while keeping the same geodesics (great circles <-> straight lines). The latter is flat, the former is curved.

If you could map geodesics to geodesics, the two surfaces would have the same (intrinsic) curvature, and they have not.

(*) not quite: I answer "Can I map all triangles of a sphere to triangles of the plane sensibly".


All map projections distort some or all of area, distance and bearings between points. As you note the gnomonic projection maps (arcs of) great circles to straight lines, so it will map a spherical triangle to a plane triangle. It is the only projection which has this property. It is also true that a straight line on a gnomonic chart is an arc of a great circle.

This property inevitably means that there will be distortions in other aspects of a gnomonic chart.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号