Infinitessimal Mutated AuthaGraph Offspring

It's terrible and I love it.
I'm just changing some naming conventions to correspond to how others on the internet have taken to describe my AuthaGraph approximation. The most recent name is the backronym "IMAGO", as in "Imago Mundi", which I think is fantastic. I also parametrised IMAGO a bit, seeing that the AuthaGraph layout with the power law changed actually looks very interesting.
Also also, I forgot to add Bertin to my list. It's there now.
This commit is contained in:
Justin Kunimune 2019-02-28 09:42:44 -05:00
parent 5809c3078a
commit ad5be4264c
2 changed files with 18 additions and 9 deletions

View File

@ -139,10 +139,11 @@ public abstract class MapApplication extends Application {
{ Pseudocylindrical.ECKERT_IV, Pseudocylindrical.KAVRAYSKIY_VII,
Pseudocylindrical.MOLLWEIDE, ArbitraryPseudocylindrical.NATURAL_EARTH,
ArbitraryPseudocylindrical.ROBINSON, Pseudocylindrical.SINUSOIDAL, Tobler.TOBLER },
{ Lenticular.AITOFF, Lenticular.BERTIN, Lenticular.HAMMER, Lenticular.STREBE_95,
{ Lenticular.AITOFF, Lenticular.HAMMER, Lenticular.STREBE_95,
Lenticular.VAN_DER_GRINTEN, WinkelTripel.WINKEL_TRIPEL },
{ Snyder.GS50, Misc.GUYOU, Misc.HAMMER_RETROAZIMUTHAL, Pseudocylindrical.LEMONS,
Misc.PEIRCE_QUINCUNCIAL, Misc.TWO_POINT_EQUIDISTANT, Misc.FLAT_EARTH },
{ Lenticular.BERTIN, Snyder.GS50, Misc.GUYOU, Misc.HAMMER_RETROAZIMUTHAL,
Pseudocylindrical.LEMONS, Misc.PEIRCE_QUINCUNCIAL, Misc.TWO_POINT_EQUIDISTANT,
Misc.FLAT_EARTH },
{ Arbitrary.DANSEIJI_O, Arbitrary.DANSEIJI_I, Arbitrary.DANSEIJI_II,
Arbitrary.DANSEIJI_III, Arbitrary.DANSEIJI_IV, Arbitrary.DANSEIJI_V,
Arbitrary.DANSEIJI_VI, Arbitrary.DANSEIJI_VII, Arbitrary.DANSEIJI_VIII,

View File

@ -96,10 +96,18 @@ public class Polyhedral {
public static final PolyhedralProjection AUTHAGRAPH = new PolyhedralProjection(
"AuthaGraph", "A hip new Japanese map that is almost equal-area and would be super great if they actually published their equations.",
0b1011, Configuration.AUTHAGRAPH, Property.COMPROMISE, 3) {
"IMAGO (AuthaGraph)", "Authagraph is a hip new Japanese map that is almost equal-area and would be super great if "
+ "they actually published their equations. This is technically just an approximation, also known as the Infinitessimal "
+ "Mutated AuthaGraph Offspring.",
0b1011, Configuration.AUTHAGRAPH, Property.COMPROMISE, 3,
new String[] {"Power"}, new double[][] {{.5,1,.68}}) {
private final double[] POLE = {Math.toRadians(77), Math.toRadians(143), Math.toRadians(17)};
private double k;
public void setParameters(double... params) {
this.k = params[0];
}
@Override
public double[] project(double lat, double lon) { //apply a pole shift to AuthaGraph
@ -116,7 +124,7 @@ public class Polyhedral {
public double[] faceProject(double lat, double lon) {
final double tht = Math.atan((lon - Math.asin(Math.sin(lon)/Math.sqrt(3)))/Math.PI*Math.sqrt(12));
final double p = (Math.PI/2 - lat) / Math.atan(Math.sqrt(2)/Math.cos(lon));
return new double[] { Math.pow(p,.707)*Math.sqrt(3)/Math.cos(tht), tht };
return new double[] { Math.pow(p,k)*Math.sqrt(3)/Math.cos(tht), tht };
}
protected double[] faceInverse(double r, double th) {
@ -126,15 +134,15 @@ public class Polyhedral {
.001);
final double R = r / (Math.sqrt(3)/Math.cos(th));
return new double[] {
Math.PI/2 - Math.pow(R,1.41)*Math.atan(Math.sqrt(2)/Math.cos(lon)), lon };
Math.PI/2 - Math.pow(R,1/k)*Math.atan(Math.sqrt(2)/Math.cos(lon)), lon };
}
};
public static final PolyhedralProjection AUTHAPOWER = new PolyhedralProjection(
"TetraPower", "A parametrised, rearranged, open-source version of my AuthaGraph approximation.",
"TetraPower", "A parametrised, simplified version of my AuthaGraph approximation.",
0b1011, Configuration.TETRAHEDRON_WIDE_VERTEX, Property.COMPROMISE, 4,
new String[] {"Power"}, new double[][] {{.25,1,.7}}) {
new String[] {"Power"}, new double[][] {{.5,1,.6}}) {
private double k;