Commit Graph

152 Commits

Author SHA1 Message Date
Zeno Rogue aeaaf7586a refactored map functions: ddspin, iddspin, spacedist, spin_angle, virtualRebase[simple], adj 2019-11-14 16:51:50 +01:00
Zeno Rogue 109dd9823c simplified ddspin/iddspin/cellgfxdist, replaced cellrelmatrix with adj/iadj 2019-11-14 00:27:59 +01:00
Zeno Rogue ef9e2236ba viewctr is no more... major reduction of redundancy/complexity 2019-11-14 00:26:50 +01:00
Zeno Rogue 6dd47c903d nilv:: works with small periods 2019-11-08 15:42:31 +01:00
Zeno Rogue f7fc9d7d5d asonov:: works even with small periods 2019-11-08 15:35:23 +01:00
Zeno Rogue e38e001454 better distance approximation in Nil 2019-10-06 12:10:43 +02:00
Zeno Rogue b419aab0a1 fixed a possible crash in Archimedean geometries 2019-10-05 18:55:11 +02:00
Zeno Rogue 4e1abe964f print for horo_distance 2019-10-05 18:55:11 +02:00
Zeno Rogue eead4af644 fixed horodistance in nih 2019-10-05 18:55:11 +02:00
Zeno Rogue 255186840f ternary tiling 2019-09-30 23:36:15 +02:00
Zeno Rogue bd9c19d1b7 exported interface for horo_distance 2019-09-12 22:50:16 +02:00
Zeno Rogue 848eb8f48b export everything: modules compiled separately 2019-09-12 22:50:16 +02:00
Zeno Rogue 9647cbd47e added #include hyper.h to all cpp files 2019-09-12 22:50:16 +02:00
Zeno Rogue 599346f436 fixed possible crash in iddspin 2019-09-12 22:50:15 +02:00
Zeno Rogue 2acc866958 slr:: virtualRebase 2019-09-12 22:50:15 +02:00
Zeno Rogue 47d309e408 fixed hdist computation in SL, also fixed hpxy and hpxy 2019-09-12 22:50:15 +02:00
Zeno Rogue 1e6970ca28 hybrid:: refactored the common parts of prod and sl2, also used them when applicable 2019-09-12 22:50:15 +02:00
Zeno Rogue a03eb0d913 fixed new geometry handling for Archimedean 2019-09-12 22:50:15 +02:00
Zeno Rogue 6c75c2687d product:: virtualRebase 2019-09-12 22:50:15 +02:00
Zeno Rogue 95da7ff09e using viewcenter() consistently 2019-09-12 22:50:13 +02:00
Zeno Rogue 6958cbcbd9 product:: preliminary version (no turning) 2019-09-12 22:50:13 +02:00
Zeno Rogue 8b1c7bffe4 initial reformatting of comments for Doxygen 2019-09-12 22:50:13 +02:00
Zeno Rogue c2d56fb9bc autohdr.h applied in more files 2019-09-12 22:50:12 +02:00
Zeno Rogue ef89c7ed9d removed functions fix6 and fix7 2019-09-12 22:50:12 +02:00
Zeno Rogue c131e21198 namespace hyperpoint_vec removed 2019-09-12 22:50:12 +02:00
Zeno Rogue 06a5309468 solv:: horo_distance implemented 2019-09-12 22:50:10 +02:00
Zeno Rogue 21a6e64e96 more ddspin/nearcorner bugfixes 2019-09-12 22:50:09 +02:00
Zeno Rogue 0908d1d974 foxed cellgfxdist in Archimedean 2019-09-12 22:50:09 +02:00
Zeno Rogue cf496e8940 kite-and-dart tiling 2019-09-12 22:50:09 +02:00
Zeno Rogue 9cb955757e fixed ggmatrix for masterless Euclidean tilings 2019-09-12 22:50:09 +02:00
Zeno Rogue 2d30f3830c standard binary tiling, also improved the looks of variant binary tiling, and optimized shvid for pure 2019-09-12 22:50:09 +02:00
Zeno Rogue b6e303ec7d MAJOR refactoring: all geometry-dependent data (tessf, geom3::, shapes, hpc) are now contained in a structure 2019-09-12 22:50:03 +02:00
Zeno Rogue 927592caa3 replaced cview() with actual_view_transform * View in ggmatrix to prevent infinite loop 2019-09-12 22:50:00 +02:00
Zeno Rogue 6fe6db3d48 3d:: fixed cellgfxdist in 3D 2019-09-12 22:49:41 +02:00
Zeno Rogue 5ab7249afd horopoint cleanup in 2D 2019-09-12 22:43:01 +02:00
Zeno Rogue 1c4d86e0e9 3D graphics in 2D (first commit) 2019-09-12 22:43:01 +02:00
Zeno Rogue c8e950cd40 added some missing CAP_ and MAXMDIM guards 2019-09-12 22:43:01 +02:00
Zeno Rogue d4ce6c36aa horo_distance used in virtualRebase 2019-09-12 22:43:00 +02:00
Zeno Rogue c98f58a672 removed eurad as it was the same as crossf 2019-09-12 22:43:00 +02:00
Zeno Rogue 039118425c 3D:: alternate minefield adjacency rule 2019-09-12 22:42:59 +02:00
Zeno Rogue 648af0c08e fixup master_relative in Euclidean; this makes the line animation work 2019-09-12 22:42:58 +02:00
Zeno Rogue 9d291b8b1f fixed a bug in virtualRebase 2019-09-12 22:38:45 +02:00
Zeno Rogue 78d88b5909 improved in the OO fashion: draw, relative_matrix, create_step, and several minor functions are now virtual in hrmap 2019-09-12 22:38:44 +02:00
Zeno Rogue e99e05944a fix 2 to DIM in virtualRebaseSimple just in case 2019-09-12 22:38:43 +02:00
Zeno Rogue 52ce5ac9aa 3d:: all the regular honeycombs 2019-09-12 22:38:43 +02:00
? 54f278963c renamed MAXDIM to MAXMDIM (conflict with crystal) 2019-09-12 22:38:42 +02:00
? c032db2019 3d:: virtualRebase works correctly in non-hyperbolic tilings 2019-09-12 22:38:42 +02:00
? 5824e4b016 3D:: master_relative returns Id 2019-09-12 22:38:42 +02:00
? 8c5df8dfd4 3d:: in ggmatrix fixed [2][2] to [DIM][DIM] 2019-09-12 22:38:42 +02:00
? 2b307f5e4a added epsilon to virtualRebase to prevent infinite loops caused by precision errors 2019-09-12 22:38:42 +02:00
? fe174d8873 3D:: elliptic space 2019-09-12 22:38:40 +02:00
? b4a44972dd 4D:: do not use std sphere/euclid in calc_relative_matrix/ggmatrix 2019-09-12 22:38:40 +02:00
? 02920b5d2f 3D:: fixed (?) virtualRebase 2019-09-12 22:38:40 +02:00
? 33d4854c14 3D:: 120-cell 2019-09-12 22:38:40 +02:00
? c7cb93f2ed moved all the Euclidean maps to euclid.cpp 2019-09-12 22:38:40 +02:00
? 7110be2032 3D:: cube tiling 2019-09-12 22:38:40 +02:00
? d08e58f404 3d:: 2D/3D is now selectable at runtime 2019-09-12 22:38:40 +02:00
? 56d628d4d8 adjusting for 3D part II 2019-09-12 22:38:39 +02:00
? 96e4ff6c9d binary tiling in 3D works 2019-09-12 22:38:39 +02:00
? e73d2f2f22 some work on 3D view 2019-09-12 22:38:39 +02:00
? b25730d5c9 geometry flags part 1 2019-09-12 22:38:39 +02:00
Arthur O'Dwyer 5efd1f5662 Fix a compiler warning from GCC 4.6.4.
The variable name in this warning is "pre-phi-tmp", as in, some
compiler internals spilling into userspace. But I think it's probably
referring to `bestV`, and indeed, this initialization silences the
warning.

    geometry2.cpp: In function ‘void hr::virtualRebaseSimple(hr::heptagon*&, hr::transmatrix&)’:
    geometry2.cpp:366:7: error: ‘prephitmp.91209’ may be used uninitialized in this function [-Werror=uninitialized]
2019-02-10 15:51:27 -05:00
Zeno Rogue 788bc17452 fixed some bugs with calc_relative_matrix 2018-12-14 19:30:22 +01:00
Zeno Rogue b8806c248e crystal:: specific calc_relative_matrix wshich should not block 2018-12-14 19:27:12 +01:00
Zeno Rogue 50f37a6b63 crystal:: started working on lands (Camelot done) and distances 2018-12-14 19:27:11 +01:00
Zeno Rogue fd3b030119 crystal:: added multi-dimensional geometries (referred to as crystal), available via CLI for now 2018-12-14 19:27:11 +01:00
Zeno Rogue cd357303b9 cleaned up surface flags 2018-12-14 19:27:11 +01:00
Zeno Rogue f2ee616eab all Mobius bands implemented 2018-12-11 22:10:53 +01:00
Zeno Rogue e5ebac156e calc_relative_matrix for euwrap geometries now uses cellrelmatrix nicely 2018-12-11 22:10:53 +01:00
Zeno Rogue c993e80a18 cellrelmatrix and cellgfxdist implemented efficiently for euwrap geometries 2018-12-11 22:10:53 +01:00
Zeno Rogue 460eb19881 implemented new geometries: cylinder and (only one for now) Mobius band 2018-12-11 22:10:53 +01:00
Zeno Rogue 2fa265ac10 implemented a better system for logging and binary output 2018-11-24 21:23:02 +01:00
Zeno Rogue 64da329f8e added new quotient spaces: Bring's, Schmutz's M(2), Schmutz's M(3) 2018-11-23 23:46:26 +01:00
Zeno Rogue b4671e4d50 standard draw algorithm no longer recursive; prettier gp::drawrec 2018-11-23 23:45:16 +01:00
Zeno Rogue 3ef16bf6f3 implemented correctly calc_relative_matrix in Euclidean 2018-11-18 18:26:56 +01:00
Zeno Rogue ebfe1aeac2 virtualRebase on hyperpoint now works at large distances 2018-09-30 16:23:20 +02:00
Zeno Rogue d0ee141270 celldist now works in the binary tiling as for other geometries (distance from origin, not horocycle index); also types are computed nicely for the origin-based celldist 2018-09-28 16:27:03 +02:00
Zeno Rogue 2e16660278 fixed a bug in goldberg rebasing 2018-09-28 01:49:17 +02:00
Zeno Rogue 1b11f4e5e2 virtualRebase tohex works in Goldberg geometries 2018-09-27 21:53:11 +02:00
Zeno Rogue 5fac74b1cb fixed graphical/movement glitches in the minimal quotient space 2018-09-23 16:34:53 +02:00
Zeno Rogue a04eef75a9 cth to handle heptspin/cellwalker translations in a nice way 2018-08-30 16:10:49 +02:00
Zeno Rogue 829850a701 dual tilings 2018-08-30 02:11:43 +02:00
Zeno Rogue 020d9679bd bitruncated Archimedean tilings 2018-08-29 04:28:34 +02:00
Zeno Rogue 6482e22219 fixed cellgfxdist and cellrelmatrix in Archimedean 2018-08-28 19:06:12 +02:00
Zeno Rogue 6de0f0a8aa instead of nonbitrunc, gp::on and irr::on, there is one variable, variation 2018-08-28 17:17:34 +02:00
Zeno Rogue 6edc257f28 arcm:: improved graphics on dihedra and hosohedra 2018-08-21 04:55:39 +02:00
Zeno Rogue 1f356b1dff Crystal World and Warped Coast work correctly 2018-08-20 17:26:29 +02:00
Zeno Rogue 9cd6dd2805 correct farcorner drawing in standard tilings 2018-08-20 16:50:35 +02:00
Zeno Rogue e72758c973 preliminary randomPointIn 2018-08-20 16:36:45 +02:00
Zeno Rogue cd91148459 arcm:: all patterns work 2018-08-20 15:24:44 +02:00
Zeno Rogue c54d4ec59d struct archimedean_tiling 2018-08-20 02:02:45 +02:00
Zeno Rogue 4d31e5a544 renamed 'syntetic' to 'archimedean' (enums/files/marcos/namespaces) 2018-08-19 23:06:32 +02:00
Zeno Rogue e1c49a83fa fixed displayspin in syntetic 2018-08-19 16:28:36 +02:00
Zeno Rogue 453c06f9f9 functions with rotation parameters in S84-degree system have been removed or replaced in radian versions 2018-08-19 15:52:39 +02:00
Zeno Rogue 90b959c1d2 better geometry2 support for syntetic and standard 2018-08-19 13:46:05 +02:00
Zeno Rogue 7ea60c60d8 fixed calc_relative_matrix for syntetic sphere 2018-08-19 13:44:25 +02:00
Zeno Rogue 7bae01c168 synt:: replaced the combinatorial building process with floating-point-based one for hyperbolic geometry too 2018-08-19 00:27:20 +02:00
Zeno Rogue 5c90e6bcec improved geometry2 and displaydir functions for syntetic 2018-08-18 17:40:02 +02:00
Zeno Rogue 682f804576 major rewrite: unified the common parts of heptagon and cell via struct connection<T> and struct walker<T> 2018-08-18 00:46:45 +02:00
Zeno Rogue 7fa3de574e preliminary floorshape remapping to syntetic 2018-08-17 21:42:42 +02:00