9 Commits

Author SHA1 Message Date
Justin Kunimune
c1eb163af6 Hah! Aitoff _does_ have an inverse solution!
I tweaked MapExplainer to be a little bit better, corrected some minor issues with the Projection metadata, added real descriptions to my custom parameterised projections, and fixed a critical bug with WinkelTripel's inverse solution.
2017-08-28 19:43:54 -10:00
Justin Kunimune
97026c233c Gradient Descent Sucks
I spent a while tweaking my optimization algorithm and trying to figure out why it sucks so much (i.e. why it keeps giving me trash maps), and I think I figured it out. Gradient descent sucks. At least, with this system it does. The functions are too stiff, the numbers too variable in orders of magnitude. Tobler never reaches a good set of parameters because one of its parameters uses degrees instead of radians, so it descends 3,000 times slower. How messed up is that?
I did some research, and I think Broyden-Fletcher-Goldfarb-Shanno is what I want to use. I read up on it and know exactly how I would implement it, if I actually cared that much.
As fun as BFGS would be to implement and use, I go back to school tomorrow and want this done. To that end, I added a slight modification to my gradient descent to deal with the degrees-radians issue and increased the number of iterations drastically. I tried doing a basic Newton's method with the derivative, but I did it one-dimensionally, so it sucked. I just really didn't want to deal with matrices. So here we are. Good enough, I say.
2017-08-28 15:12:09 -10:00
Justin Kunimune
40201f6f46 Parsing, for real this time
I implemented more advanced SVG parsing and manipulation. It's somewhat
slower now, I think because I changed the way it skips vertices to save
time, but it was necessary to enable slightly more advanced SVG reading
(which I have yet to test). All the projections work, though. I also
changed my coordinate system. I also broke the bit where it does not
draw long lines.
2017-08-25 21:06:56 -10:00
Justin Kunimune
1e595731f9 Defying the laws of maps
I fixed up lemons such that they have distortion coordinates of (.008,
.008). The MapAnalyzer image is literally just white. It's fantastic.
2017-08-20 13:13:16 -10:00
Justin Kunimune
3df41f52db Do you know who I am?!
I added the forward solution to the Lemons projection, which is
currently a bit wrong, but I'm going to replace it with a Cassini type
thing in a bit, anyway.
I also spiffed up the comments and changed how Antipode works slightly.
2017-08-20 11:48:37 -10:00
Justin Kunimune
61ba22ce0c The illusion of accuracy
I tuned up the Hammer equations so that the areas beyond the ellipse
render appropriately in MapAnalyzer.
2017-08-19 10:29:04 -10:00
Justin Kunimune
ea02e8a2ef Code writing code
I made a program to automatically generate HTML snippets to fill the
projection page in my GH-Pages branch. It also automatically produces
nice pictures to go with it. I also threw in a nifty new transverse
feature, primarily for azimuthal maps. And I now represent properties
and types as enums. And I fixed a bug in 2 point equidistant. And fixed
some unicode issues.
2017-08-18 15:08:59 -10:00
Justin Kunimune
f9356f40b8 I made another one
I invented another map projection, this one specifically designed for
small oblong regions. I think it looks pretty cool if I do say so
myself. There are holes at the bounds of my parameter, so I'll have to
take care of that, but honestly, I'm so sick of limits right now.
2017-08-16 14:53:21 -10:00
Justin Kunimune
dcf5fa98c1 It was mostly crazy.
So, representing projcetions as classes was kind of a horrible idea and
also impossible. That's okay. I still implemented two of the things I
wanted to implement: storing projections as variables such that I can
distribute them among several (like, fifteen), and a formal system
 for a long time ive had to poop
 i think i should get that looked at
 hahahahahahaha just kidding i love being constapated
for processing parameters. Al6so, Wink7el Tripel is tot9ally broe5kn. i
9think it mig3ht be an 7issue with N5ewton Raph9son Appro1ximation. I'll
look i6nto that l8r.
2017-08-14 14:26:54 -04:00