Experimental projections

General discussion of map projections.
PeteD
Posts: 251
Joined: Mon Mar 08, 2021 9:59 am

Re: Experimental projections

Post by PeteD »

As it's described in your paper, axial yanking is an area-preserving transformation, so wouldn't it cause the meridians to become longer as they're crowded together in order to preserve area, resulting in non-rectangular pages?
daan wrote: Mon Aug 07, 2023 8:49 pm Steps 1 & 2 essentially achieve your Steps 1 & 2, but in a different way and in different combination
In my projection, the area goes to zero in the fold, so I think that applying these two area-preserving transformations would produce something different.

On the other hand, just applying the first step of your axial yanking, i.e. omitting applying the reciprocal of f, should work. Is this what you meant?
daan wrote: Mon Aug 07, 2023 8:49 pm My Step 3 achieves your Step 3.
Well, it seems like your step 3 is the proper way to apply perspective, in which case it would improve on my quick and dirty method.
Milo
Posts: 271
Joined: Fri Jan 22, 2021 11:11 am

Re: Experimental projections

Post by Milo »

What is the objective here?

If the point is just to display "an equirectangular projection as it would look if folded like the pages in a book", then you don't need any fancy new map projections for that. Just create a 3D representation of the page (which is still a ruled surface and therefore Euclidean, even when folded), then transform it back to 2D using an oblique orthographic/perspective projection (in the normal Euclidean sense, not the cartography sense).

If you want a projection that aesthetically looks like a book but also has useful map projection properties, then, well, I have no idea where to start, but I don't think you've done that either.
daan
Site Admin
Posts: 977
Joined: Sat Mar 28, 2009 11:17 pm

Re: Experimental projections

Post by daan »

PeteD wrote: Tue Aug 08, 2023 12:44 am As it's described in your paper, axial yanking is an area-preserving transformation, so wouldn't it cause the meridians to become longer as they're crowded together in order to preserve area, resulting in non-rectangular pages?

On the other hand, just applying the first step of your axial yanking, i.e. omitting applying the reciprocal of f, should work. Is this what you meant?
Exactly right.

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

Re: Experimental projections

Post by daan »

Milo wrote: Tue Aug 08, 2023 8:42 am Just create a 3D representation of the page (which is still a ruled surface and therefore Euclidean, even when folded)
My point, if I were to pursue it, would be to have some sort of deterministic formulæ so that it can be represented in software devoted to map projections. Using 3D modeling software, or scanning a photograph, doesn’t provide that.

But that’s my take. PeteD might have some other take.

— daan
Milo
Posts: 271
Joined: Fri Jan 22, 2021 11:11 am

Re: Experimental projections

Post by Milo »

daan wrote: Tue Aug 08, 2023 3:21 pmMy point, if I were to pursue it, would be to have some sort of deterministic formulæ so that it can be represented in software devoted to map projections. Using 3D modeling software, or scanning a photograph, doesn’t provide that.
What I mean is, you have your starting map in (x0,y0) coordinates. Then you can turn it into the 3D coordinates (x1,y1,z1) with the transformation:
x1 = f(x0)
y1 = y0
z1 = g(x0)
where f and g are functions satisfying f'(x)2 + g'(x)2 = 1. (f should be a monotonic odd function, g should be an even function. Both are allowed and expected to be nondifferentiable, but not discontinuous, at 0.)
Finally you perform an orthographic projection onto (x2,y2) from some arbitrary angle θ:
x2 = x1
y2 = y1 sin θ + z1 cos θ
(You can do a non-orthographic perspective projection with slightly more effort.)

In short:
x2 = f(x0)
y2 = y0 sin θ + g(x0) cos θ
No cameras necessary.

If you're using the equirectangular projection as a base, then x0 and y0 are extremely easy to calculate. The hardest part is picking f and g to give a convincing "book page" shape, which is inherently somewhat arbitrary.

You could first pick your desired page shape as z1 = h(x1), and then compute f and g as:
f(x) = ∫ 1/√(h'(x)2+1) dx
g(x) = ∫ h'(x)/√(h'(x)2+1) dx
(Don't attempt to cancel the numerator copy of h'(x) into the square root denominator, you want it to be able to be negative.)
PeteD
Posts: 251
Joined: Mon Mar 08, 2021 9:59 am

Re: Experimental projections

Post by PeteD »

Milo wrote: Tue Aug 08, 2023 4:31 pm What I mean is, you have your starting map in (x0,y0) coordinates. Then you can turn it into the 3D coordinates (x1,y1,z1) with the transformation:
x1 = f(x0)
y1 = y0
z1 = g(x0)
That's essentially what I did. I had:

x0 = lambda
y0 = phi * sqrt2

then for abs(x0) < pi/2 * h, where h scales the height of the pages, I had:

x1 = sign(x0) * h * (1-cos(x0/h))
y1 = y0
z1 = h * sin(abs(x0/h)) * cos^2(x0/2)

whereas for abs(x0) > pi/2 * h, I had:

x1 = x0 - sign(x0) * h * (pi/2-1)
y1 = y0
z1 = h * cos^2(x0/2)

These functions could of course be improved on, but the result seemed good enough.
Milo wrote: Tue Aug 08, 2023 4:31 pm Finally you perform an orthographic projection onto (x2,y2) from some arbitrary angle θ:
x2 = x1
y2 = y1 sin θ + z1 cos θ
This is where I started to get sloppy – I just used y2 = y1 + z1. Nevertheless, if you do it properly as you describe, you can get a result very similar to what I had if you increase the value of h accordingly.
Milo wrote: Tue Aug 08, 2023 4:31 pm (You can do a non-orthographic perspective projection with slightly more effort.)
Here I continued to be sloppy and just scaled the width to give the appearance of perspective. While it's not right because there's no foreshortening, it still looks better than not giving the appearance of perspective.
Milo wrote: Tue Aug 08, 2023 4:31 pm where f and g are functions satisfying f'(x)2 + g'(x)2 = 1.
Why is this necessary?
Last edited by PeteD on Wed Aug 09, 2023 1:42 am, edited 1 time in total.
Milo
Posts: 271
Joined: Fri Jan 22, 2021 11:11 am

Re: Experimental projections

Post by Milo »

PeteD wrote: Wed Aug 09, 2023 12:59 am
Milo wrote: Tue Aug 08, 2023 4:31 pmwhere f and g are functions satisfying f'(x)2 + g'(x)2 = 1.
Why is this necessary?
So you don't tear the paper!

Not many people make books out of rubber.
PeteD
Posts: 251
Joined: Mon Mar 08, 2021 9:59 am

Re: Experimental projections

Post by PeteD »

Fair enough.
Milo wrote: Tue Aug 08, 2023 4:31 pm You could first pick your desired page shape as z1 = h(x1), and then compute f and g as:
f(x) = ∫ 1/√(h'(x)2+1) dx
g(x) = ∫ h'(x)/√(h'(x)2+1) dx
Why would this be preferable to picking z1 = g(x0) directly and then computing f as f(x) = ∫ √(1-g'(x)2) dx ?
Milo
Posts: 271
Joined: Fri Jan 22, 2021 11:11 am

Re: Experimental projections

Post by Milo »

PeteD wrote: Wed Aug 09, 2023 5:35 amWhy would this be preferable to picking z1 = g(x0) directly and then computing f as f(x) = ∫ √(1-g'(x)2) dx ?
It wouldn't, necessarily. Depends on personal taste and what you have an easier time with, since either way there's likely to be some fiddling involved in making sure it looks like you want it to. I guess your way has an advantage in that it's easier to make sure that gπ) = 0.
PeteD
Posts: 251
Joined: Mon Mar 08, 2021 9:59 am

Re: Experimental projections

Post by PeteD »

Not a new projection but a novel aspect of the azimuthal equidistant in which mainland Europe looks a bit like a mermaid sitting on a rock with her hands on her hips:
mermaid Europe.png
mermaid Europe.png (96.05 KiB) Viewed 10547 times
Mermaid_mirrored_cropped.jpg
Mermaid_mirrored_cropped.jpg (42.38 KiB) Viewed 10547 times
Well, apart from the head. And Denmark and Italy don't really fit either. But hopefully you can see what I mean.

On a less whimsical note, this aspect highlights the symmetry of the Scandinavian and Anatolian Peninsulas, which had never occurred to me before, and the waist between the Baltic and Black Seas, which in turn supports the interpretation of "continental" Europe as the world's largest peninsula.

In case anyone's interested, the projection is centred on 48° N, 19.5° E, which is in Hungary, close to the border with Slovakia.
Post Reply