From 5e0d05f10b8a0a2c3e05a313d952d167a1da87a4 Mon Sep 17 00:00:00 2001 From: Zeno Rogue Date: Fri, 3 Feb 2023 16:08:11 +0100 Subject: [PATCH] embeddings:: fixed set_radar_transform to correctly rotate if eyelevel not 0, and also when euclid_embed_rotate is used --- embeddings.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/embeddings.cpp b/embeddings.cpp index cfc8c679..7bd5ec04 100644 --- a/embeddings.cpp +++ b/embeddings.cpp @@ -983,12 +983,13 @@ void embedding_method::set_radar_transform() { auto a = inverse(U) * C0; auto l = actual_to_intermediate(a); l = intermediate_to_logical * l; + auto l0 = l; l[2] = 0; l = logical_to_intermediate * l; rt = inverse(intermediate_to_actual_translation(l)) * inverse(U); - transmatrix T = View * intermediate_to_actual_translation(l); + transmatrix T = View * intermediate_to_actual_translation(logical_to_intermediate * l0); if(gproduct) T = NLP * T; - T = intermediate_to_logical * T * logical_to_intermediate; + T = cspin(1, 0, geom3::euclid_embed_rotate * degree) * intermediate_to_logical_scaled * T * logical_scaled_to_intermediate; rtp = cspin(0, 1, atan2(T[0][1], T[0][0])); }