Conformal polyhedral maps

General discussion of map projections.
daan
Site Admin
Posts: 977
Joined: Sat Mar 28, 2009 11:17 pm

Re: Conformal polyhedral maps

Post by daan »

quadibloc wrote:A conformal mapping of the sphere onto a cuboctahedron where all the squares are the same, and all the triangles are the same? Yes, that's possible. How you do that: divide the squares into four triangles, and the triangles into three triangles... to make 24 kites. Divide the sphere into 24 identical regions, map them conformally to the kites, then rebuild the squares and the triangles from those kites.
This would not be possible. It was not clear to me how you intend to subdivide the square and triangle faces, but regardless of how, the “kites” (are they not just isosceles triangles?) from the squares would differ from the kites from the triangles. The resulting conformal edges could not match.

Is my argument mistaken? The planar area of each square is a² for edge length a. The planar area of each triangle is a²√3/4. No rational coefficients could be applied to the two area values such that the sum of the products could ever be a whole number. Hence, no subdivision scheme could yield identical parts to recompose from.

Without identical parts, the conformal projection to the different parts must differ. They will not edge-match; the distribution of points along the edges will differ even if the edges are of the correct lengths.

Even though half of the cuboctrahedron yields a round 3 squares and 4 triangles, you still could not benefit from symmetry for the same reason. The two halves would have different planar shapes.

— daan
quadibloc
Posts: 292
Joined: Sun Aug 18, 2019 12:28 am

Re: Conformal polyhedral maps

Post by quadibloc »

daan wrote:This would not be possible. It was not clear to me how you intend to subdivide the square and triangle faces, but regardless of how, the “kites” (are they not just isosceles triangles?) from the squares would differ from the kites from the triangles. The resulting conformal edges could not match.
They couldn't be made to match if you tried to map conformally to the isosceles triangles separately. But you divide the square along its two diagonals to make four isosceles trinagles, divide the triangle from its points to its center to make three isosceles triangles... and then take a triangle from a square, and a triangle from a triangle... that touch each other along a common edge of the cuboctahedron.

Now you're doing a conformal mapping from one of 24 regions on the sphere to one of 24 kite shapes. That the kite shape is built from parts that came from somewhere is in no way an obstacle to making your Schwarz-Christoffel integral.
daan
Site Admin
Posts: 977
Joined: Sat Mar 28, 2009 11:17 pm

Re: Conformal polyhedral maps

Post by daan »

quadlicbloc wrote:…then take a triangle from a square, and a triangle from a triangle…
That’s the part I missed.

I agree that this results in 24 parts of the same size and shape, and therefore gives a simpler shape to map than the entire cuboctahedron. Have you solved the problem of 24 equal globe parts with meaningful boundaries for these kites?

— daan
quadibloc
Posts: 292
Joined: Sun Aug 18, 2019 12:28 am

Re: Conformal polyhedral maps

Post by quadibloc »

daan wrote:Have you solved the problem of 24 equal globe parts with meaningful boundaries for these kites?
No, but Buckminster Fuller solved it for me. The great circles dividing the kites would be visible from dividing the squares and triangles in a gnomonic polyhedral map on a cuboctahedron in the same way as to generate the target kite shapes.

Actually, however, this problem is so trivial that even I can solve it.

Surround a sphere with its center at the origin, (x,y,z) = (0,0,0), by a cuboctahedron in a conventional orientation with the same center.

The points of interest are the vertices of the cuboctahedron, which are:

Code: Select all

   x   y   z
a  1   1   0
b  0   1   1
c -1   1   0
d  0   1  -1
e  1   0   1
f -1   0   1
g -1   0  -1
h  1   0  -1
i  1  -1   0
j  0  -1   1
k -1  -1   0
l  0  -1  -1
the centers of the cubical faces of the cuboctahedron, which are

Code: Select all

   x   y   z
m  0   1   0
n  1   0   0
o  0   0   1
p -1   0   0
q  0   0  -1
r  0  -1   0
and the centers of the triangular faces of the cuboctahedron, which may be replaced for our purposes by the vertices of the cube, which lie in the same directions from the origin, but a bit further out,

Code: Select all

   x   y   z
s  1   1   1
t -1   1   1
u -1   1  -1
v  1   1  -1
w  1  -1   1
x -1  -1   1
y -1  -1  -1
z  1  -1  -1
Then project these points to the sphere by suitably scaling them: divide the coordinates of each of the points a through l given above by the square root of 2, and the coordinates of each of the points s through z given above by the square root of 3, leaving the coordinates of points m through r as they are. The result of that will be the points A through Z.

Point M will be the North Pole, latitude +90 degrees, longitude indeterminate; point R will be the South Pole, latitude -90 degrees, longitude indeterminate.

For the other points, the latitude and longitude coordinates may be obtained as follows:

the latitude of point A will be the arc sine of A(y).

the longitude of point A will be ATAN2(x,z); that is, the angle returned by converting x and z as Cartesian coordinates x and y to polar coordinates.

When I say to "connect" two points, I mean to draw the shorter arc of the great circle on the sphere with radius 1 centered at the origin which includes those two points.

The four lines bounding one of the kites will result from connecting point M to point A, and then point A to point S, and then point S to point B, and then point B back to point M again.

Here are the sequences in which to connect the points, each sequence creating a series of great circle arcs that will bound the kite-shaped region in a counter-clockwise fashion on the surface of the sphere:

MASBM
MBTCM
MCUDM
MDVAM

NIWEN
NESAN
NAVHM
NHZIN

OEWJO
OJXFO
OFTBO
OBSEO

PCTFP
PFXKP
PKYGP
PGUCP

QHVDQ
QDUGQ
QGYLQ
QLZHQ

RJWIR
RKXJR
RLYKR
RIZLR

On the other hand, while I am aware that mathematical techniques exist to define a conformal mapping with one of these spherical polygons, and a kite-shaped quadrilateral of the type I describe (angles 90, 75, 120, and 75 degrees), I must admit that I am not conversant with those techniques, and would not know how to supply that mapping either in analytic form as an integral, or in numerical form as a polynomial approximation. I but passively admire and consume the work of geniuses like L. P. Lee and O. S. Adams.

John Savard
daan
Site Admin
Posts: 977
Joined: Sat Mar 28, 2009 11:17 pm

Re: Conformal polyhedral maps

Post by daan »

That’s the usual way. It’s good to have it recorded for posterity. My question is more, “Does this division result in reasonable regions for mapping onto the kites?” I simply haven’t given it any thought.

— daan
quadibloc
Posts: 292
Joined: Sun Aug 18, 2019 12:28 am

Re: Conformal polyhedral maps

Post by quadibloc »

daan wrote:That’s the usual way. It’s good to have it recorded for posterity. My question is more, “Does this division result in reasonable regions for mapping onto the kites?” I simply haven’t given it any thought.
I believe it will. Basically, my point was this: while there is no technique for mapping to squares and triangles, and somehow controlling the conformal mappings so the borders will match, as you note, one can obtain the same result by means of what you can do: conformally map from shape A (a kite bounded by great circle arcs on the sphere) to shape B (a kite of straight lines on the plane) without having to do anything special to the borders to make things match - symmetry takes care of that for you, as it is always the same side of the same shape that touches - and you end up with a polyhedral map where all the squares are the same and all the triangles are the same.
The trick is to note the symmetry in the Archimedian solid, and choose the piece of the sphere to conformally map to the piece of the map that makes it all work out right.
daan
Site Admin
Posts: 977
Joined: Sat Mar 28, 2009 11:17 pm

Re: Conformal polyhedral maps

Post by daan »

quadibloc wrote:Basically, my point was this: while there is no technique for mapping to squares and triangles, and somehow controlling the conformal mappings so the borders will match, as you note, one can obtain the same result by means of what you can do: conformally map from shape A (a kite bounded by great circle arcs on the sphere) to shape B (a kite of straight lines on the plane) without having to do anything special to the borders to make things match - symmetry takes care of that for you, as it is always the same side of the same shape that touches - and you end up with a polyhedral map where all the squares are the same and all the triangles are the same.
The trick is to note the symmetry in the Archimedian solid, and choose the piece of the sphere to conformally map to the piece of the map that makes it all work out right.
Which is all good.

The first formula representation I solved for projecting one of these kites is…
Cuboctahedron solution.png
Cuboctahedron solution.png (6.85 KiB) Viewed 1692 times
…where a, b, c are constants that are as yet unknown, and x is the projection of the spherical kite onto the entire complex half-plane. F₁ is the Appell hypergeometric function of two variables, which, sadly, is horribly difficult to compute in the general case. If we, somewhat hopefully, decide that a = –1, b = 0, c = 1, then the two arguments to the Appell function are the negation of each other, but I was not able to see that this collapses Appell into anything more manageable. However, in that first solution, I associated the 90° vertex with –1. If, instead, I associate the two 75° angles with a = –1 and c = 1, this provides the necessary symmetry to collapse the solution into a Gaussian hypergeometric function, which is tractable:
Cuboctahedron better.png
Cuboctahedron better.png (4.59 KiB) Viewed 1692 times
Now, we do not know that a = –1, c = 1 are best here, but regardless, as long as they are negatives of each other, the solution remains a Gaussian hypergeometric series. They will, in fact, be negatives of each other due to the other symmetries and the choice of b = 0. The correct or best choices of these constants are an unsolved problem in the use of the Schwarz-Christoffel machinery.

This still leaves one thorny problem to solve: Projecting the spherical kite onto the entire half-plane such that the the vertices all lie along the real number line with the 120° vertex at 0 and the 75° vertices at a and –a. The 90° vertex implicitly falls at ±∞.

Matlab has a whole library for solving these, based on Gaussian quadrature. I would need another two orders of magnitude in speed for that sort of solution to be fast enough at the accuracy I need.

— daan
daan
Site Admin
Posts: 977
Joined: Sat Mar 28, 2009 11:17 pm

Re: Conformal polyhedral maps

Post by daan »

Possibly the whole complicated Schwarz-Christoffel machinery could be short-circuited by something simple, such as projecting the spherical kite to the plane via stereographic with the north pole at the 90° vertex, such that the edges away from the right-angle vertex project as straight. From there, some complex-valued function must be applied that keeps those edges straight as well as straightening out the other edges. I have not given that function any thought. I presume it would still be a Gaussian hypergeometric function, but at least unfolding the spherical kite into the complex half-plane, only to fold it back into a planar kite, would go away. Possibly the hypergeometric function would collapse into an elliptic integral, having removed the half-plane step. I would not hope for an algebraic solution.

— daan
Post Reply