1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2025-11-24 01:14:48 +00:00

stretched spherical geometry

This commit is contained in:
Zeno Rogue
2020-05-08 21:18:47 +02:00
parent 02de6fa330
commit 54804bc08b
5 changed files with 312 additions and 27 deletions

View File

@@ -2149,7 +2149,7 @@ EX void rotate_view(transmatrix T) {
/** shift the view according to the given tangent vector */
EX transmatrix get_shift_view_of(const hyperpoint H, const transmatrix V) {
if(!nonisotropic) {
if(!nonisotropic && !rots_twist::in()) {
return rgpushxto0(direct_exp(lp_iapply(H))) * V;
}
else if(!nisot::geodesic_movement) {
@@ -2169,7 +2169,7 @@ EX void shift_view(hyperpoint H) {
auto oView = View;
View = get_shift_view_of(H, View);
auto& wc = current_display->which_copy;
if(nonisotropic) {
if(nonisotropic || rots_twist::in()) {
transmatrix ioldv = eupush(tC0(inverse(oView)));
transmatrix newv = inverse(eupush(tC0(inverse(View))));
wc = newv * ioldv * wc;