marcelteun / Orbitit

Python program for investigating polyhedra
Other
2 stars 1 forks source link

Inprecision bug for orbiting scene #21

Open marcelteun opened 5 months ago

marcelteun commented 5 months ago

When transforms are a bit different, but represent the same operation anyway, the orbit scene will fail.

Here is an example log, where instead of 12 transforms for the orbit 16 transforms are used. In that case the colour fails, since the groupd isn't really closed anymore:

INFO@ opening file: faceted_snub_dodecahedron_5.json ** ----- check whether set is in set -------------- INFO@ Applying an orbit of order 60 INFO@ read 5 vs and 1 fs. INFO@ Note: transforms considered equal, but hashes will not be for Rotation of 72 degrees around [0, -0.8506508083448, -0.5257311121309] and Rotation of 72 degrees around [0, -0.850650808352, -0.5257311121191] INFO@ Note: transforms considered equal, but hashes will not be for Rotation of 144 degrees around [0, -0.8506508083448, -0.5257311121309] and Rotation of 144 degrees around [0, -0.850650808352, -0.5257311121191] INFO@ Note: transforms considered equal, but hashes will not be for Rotation of 144 degrees around [0, 0.8506508083448, 0.5257311121309] and Rotation of 144 degrees around [0, 0.850650808352, 0.5257311121191] INFO@ Note: transforms considered equal, but hashes will not be for Rotation of 72 degrees around [0, 0.8506508083448, 0.5257311121309] and Rotation of 72 degrees around [0, 0.850650808352, 0.5257311121191] ** ----- check whether set is in set -------------- INFO@ Applying an orbit of order 16 Traceback (most recent call last): File "/home/marceltn/self/fromGitHub/Orbitit/orbitit/scene_orbit.py", line 378, in on_apply_sym self.add_col_gui() File "/home/marceltn/self/fromGitHub/Orbitit/orbitit/scene_orbit.py", line 260, in add_col_gui self.on_no_of_col_select(self.col_guis[-1]) File "/home/marceltn/self/fromGitHub/Orbitit/orbitit/scene_orbit.py", line 472, in on_no_of_col_select assert l0 != 0, 'no higher order stabilisers found' AssertionError: no higher order stabilisers found

marcelteun commented 5 months ago

It seems that this line if orbitit/geom_3d.py is failing. fs_orbit = [coset.get_one() for coset in fs_quotient_set] Since the print "** ----- check whether set is in set --------------" was added just before.

marcelteun commented 5 months ago

faceted_snub_dodecahedron_5.json

marcelteun commented 5 months ago

Attached above, the failing JSON file