From 497790e54b614ba7aa352db9dd9bd53bde9520ad Mon Sep 17 00:00:00 2001 From: Zeno Rogue Date: Mon, 15 Jul 2024 13:56:08 +0200 Subject: [PATCH] replaced 'simple model: projection' with 'layered equidistant' --- hypgraph.cpp | 12 +++++++----- models.cpp | 1 + 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/hypgraph.cpp b/hypgraph.cpp index a500cad9..11a48ad2 100644 --- a/hypgraph.cpp +++ b/hypgraph.cpp @@ -844,11 +844,13 @@ EX void apply_other_model(shiftpoint H_orig, hyperpoint& ret, eModel md) { case mdHorocyclic: { if(sl2) { - ret = unshift(H_orig); - ret *= .5; - ret[LDIM] = 1; - ret = lp_apply(ret); - break; + optimize_shift(H_orig); + ret[2] = H_orig.shift; + ld d = hypot_d(2, H_orig.h); + ld z = acosh(H_orig.h[3]); + ret[0] = H_orig.h[0] * z / d; + ret[1] = H_orig.h[1] * z / d; + ret[3] = 1; } find_zlev(H); diff --git a/models.cpp b/models.cpp index a34dbc00..537e8ce7 100644 --- a/models.cpp +++ b/models.cpp @@ -278,6 +278,7 @@ EX namespace models { if(m == mdPerspective && gproduct) return XLAT("native perspective"); if(gproduct) return PIU(get_model_name(m)); if(nonisotropic) { + if(m == mdHorocyclic && sl2) return XLAT("layered equidistant"); if(m == mdHorocyclic && !sol) return XLAT("simple model: projection"); if(m == mdPerspective) return XLAT("simple model: perspective"); if(m == mdGeodesic) return XLAT("native perspective");