1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2025-10-26 11:27:39 +00:00

new projection: horocyclic equal-area

This commit is contained in:
Zeno Rogue
2023-03-16 14:42:02 +01:00
parent b8059c0528
commit 2a354786e4
3 changed files with 26 additions and 3 deletions

View File

@@ -780,6 +780,26 @@ EX void apply_other_model(shiftpoint H_orig, hyperpoint& ret, eModel md) {
break;
}
case mdHorocyclicEqa: {
if(hyperbolic) {
models::apply_orientation_yz(H[1], H[2]);
models::apply_orientation(H[0], H[1]);
}
ret = hyperbolic ? deparabolic13(H) : H;
ret[0] = exp(-ret[0]) - 1;
ret *= .5;
ret[LDIM] = 1;
if(hyperbolic) {
models::apply_orientation(ret[1], ret[0]);
models::apply_orientation_yz(ret[2], ret[1]);
}
break;
}
case mdLieOrthogonal: {
ret = lie_log_correct(H_orig, H);