In each row the same values are negated. I.e. circles with spikes on the outside have the same color.
E.g. in row 3 the negator is always before 0 and 1. I.e. the red and green circles have spikes on the outside.
(0, 1, 2, 3)
(1, 0, 2, 3)
(0, 2, 1, 3)
(2, 0, 1, 3)
(1, 2, 0, 3)
(2, 1, 0, 3)
(0, 1, 3, 2)
(1, 0, 3, 2)
(0, 3, 1, 2)
(3, 0, 1, 2)
(1, 3, 0, 2)
(3, 1, 0, 2)
(0, 2, 3, 1)
(2, 0, 3, 1)
(0, 3, 2, 1)
(3, 0, 2, 1)
(2, 3, 0, 1)
(3, 2, 0, 1)
(1, 2, 3, 0)
(2, 1, 3, 0)
(1, 3, 2, 0)
(3, 1, 2, 0)
(2, 3, 1, 0)
(3, 2, 1, 0)
(~0, 1, 2, 3)
(1, ~0, 2, 3)
(~0, 2, 1, 3)
(2, ~0, 1, 3)
(1, 2, ~0, 3)
(2, 1, ~0, 3)
(~0, 1, 3, 2)
(1, ~0, 3, 2)
(~0, 3, 1, 2)
(3, ~0, 1, 2)
(1, 3, ~0, 2)
(3, 1, ~0, 2)
(~0, 2, 3, 1)
(2, ~0, 3, 1)
(~0, 3, 2, 1)
(3, ~0, 2, 1)
(2, 3, ~0, 1)
(3, 2, ~0, 1)
(1, 2, 3, ~0)
(2, 1, 3, ~0)
(1, 3, 2, ~0)
(3, 1, 2, ~0)
(2, 3, 1, ~0)
(3, 2, 1, ~0)
(0, ~1, 2, 3)
(~1, 0, 2, 3)
(0, 2, ~1, 3)
(2, 0, ~1, 3)
(~1, 2, 0, 3)
(2, ~1, 0, 3)
(0, ~1, 3, 2)
(~1, 0, 3, 2)
(0, 3, ~1, 2)
(3, 0, ~1, 2)
(~1, 3, 0, 2)
(3, ~1, 0, 2)
(0, 2, 3, ~1)
(2, 0, 3, ~1)
(0, 3, 2, ~1)
(3, 0, 2, ~1)
(2, 3, 0, ~1)
(3, 2, 0, ~1)
(~1, 2, 3, 0)
(2, ~1, 3, 0)
(~1, 3, 2, 0)
(3, ~1, 2, 0)
(2, 3, ~1, 0)
(3, 2, ~1, 0)
(~0, ~1, 2, 3)
(~1, ~0, 2, 3)
(~0, 2, ~1, 3)
(2, ~0, ~1, 3)
(~1, 2, ~0, 3)
(2, ~1, ~0, 3)
(~0, ~1, 3, 2)
(~1, ~0, 3, 2)
(~0, 3, ~1, 2)
(3, ~0, ~1, 2)
(~1, 3, ~0, 2)
(3, ~1, ~0, 2)
(~0, 2, 3, ~1)
(2, ~0, 3, ~1)
(~0, 3, 2, ~1)
(3, ~0, 2, ~1)
(2, 3, ~0, ~1)
(3, 2, ~0, ~1)
(~1, 2, 3, ~0)
(2, ~1, 3, ~0)
(~1, 3, 2, ~0)
(3, ~1, 2, ~0)
(2, 3, ~1, ~0)
(3, 2, ~1, ~0)
(0, 1, ~2, 3)
(1, 0, ~2, 3)
(0, ~2, 1, 3)
(~2, 0, 1, 3)
(1, ~2, 0, 3)
(~2, 1, 0, 3)
(0, 1, 3, ~2)
(1, 0, 3, ~2)
(0, 3, 1, ~2)
(3, 0, 1, ~2)
(1, 3, 0, ~2)
(3, 1, 0, ~2)
(0, ~2, 3, 1)
(~2, 0, 3, 1)
(0, 3, ~2, 1)
(3, 0, ~2, 1)
(~2, 3, 0, 1)
(3, ~2, 0, 1)
(1, ~2, 3, 0)
(~2, 1, 3, 0)
(1, 3, ~2, 0)
(3, 1, ~2, 0)
(~2, 3, 1, 0)
(3, ~2, 1, 0)
(~0, 1, ~2, 3)
(1, ~0, ~2, 3)
(~0, ~2, 1, 3)
(~2, ~0, 1, 3)
(1, ~2, ~0, 3)
(~2, 1, ~0, 3)
(~0, 1, 3, ~2)
(1, ~0, 3, ~2)
(~0, 3, 1, ~2)
(3, ~0, 1, ~2)
(1, 3, ~0, ~2)
(3, 1, ~0, ~2)
(~0, ~2, 3, 1)
(~2, ~0, 3, 1)
(~0, 3, ~2, 1)
(3, ~0, ~2, 1)
(~2, 3, ~0, 1)
(3, ~2, ~0, 1)
(1, ~2, 3, ~0)
(~2, 1, 3, ~0)
(1, 3, ~2, ~0)
(3, 1, ~2, ~0)
(~2, 3, 1, ~0)
(3, ~2, 1, ~0)
(0, ~1, ~2, 3)
(~1, 0, ~2, 3)
(0, ~2, ~1, 3)
(~2, 0, ~1, 3)
(~1, ~2, 0, 3)
(~2, ~1, 0, 3)
(0, ~1, 3, ~2)
(~1, 0, 3, ~2)
(0, 3, ~1, ~2)
(3, 0, ~1, ~2)
(~1, 3, 0, ~2)
(3, ~1, 0, ~2)
(0, ~2, 3, ~1)
(~2, 0, 3, ~1)
(0, 3, ~2, ~1)
(3, 0, ~2, ~1)
(~2, 3, 0, ~1)
(3, ~2, 0, ~1)
(~1, ~2, 3, 0)
(~2, ~1, 3, 0)
(~1, 3, ~2, 0)
(3, ~1, ~2, 0)
(~2, 3, ~1, 0)
(3, ~2, ~1, 0)
(~0, ~1, ~2, 3)
(~1, ~0, ~2, 3)
(~0, ~2, ~1, 3)
(~2, ~0, ~1, 3)
(~1, ~2, ~0, 3)
(~2, ~1, ~0, 3)
(~0, ~1, 3, ~2)
(~1, ~0, 3, ~2)
(~0, 3, ~1, ~2)
(3, ~0, ~1, ~2)
(~1, 3, ~0, ~2)
(3, ~1, ~0, ~2)
(~0, ~2, 3, ~1)
(~2, ~0, 3, ~1)
(~0, 3, ~2, ~1)
(3, ~0, ~2, ~1)
(~2, 3, ~0, ~1)
(3, ~2, ~0, ~1)
(~1, ~2, 3, ~0)
(~2, ~1, 3, ~0)
(~1, 3, ~2, ~0)
(3, ~1, ~2, ~0)
(~2, 3, ~1, ~0)
(3, ~2, ~1, ~0)
(0, 1, 2, ~3)
(1, 0, 2, ~3)
(0, 2, 1, ~3)
(2, 0, 1, ~3)
(1, 2, 0, ~3)
(2, 1, 0, ~3)
(0, 1, ~3, 2)
(1, 0, ~3, 2)
(0, ~3, 1, 2)
(~3, 0, 1, 2)
(1, ~3, 0, 2)
(~3, 1, 0, 2)
(0, 2, ~3, 1)
(2, 0, ~3, 1)
(0, ~3, 2, 1)
(~3, 0, 2, 1)
(2, ~3, 0, 1)
(~3, 2, 0, 1)
(1, 2, ~3, 0)
(2, 1, ~3, 0)
(1, ~3, 2, 0)
(~3, 1, 2, 0)
(2, ~3, 1, 0)
(~3, 2, 1, 0)
(~0, 1, 2, ~3)
(1, ~0, 2, ~3)
(~0, 2, 1, ~3)
(2, ~0, 1, ~3)
(1, 2, ~0, ~3)
(2, 1, ~0, ~3)
(~0, 1, ~3, 2)
(1, ~0, ~3, 2)
(~0, ~3, 1, 2)
(~3, ~0, 1, 2)
(1, ~3, ~0, 2)
(~3, 1, ~0, 2)
(~0, 2, ~3, 1)
(2, ~0, ~3, 1)
(~0, ~3, 2, 1)
(~3, ~0, 2, 1)
(2, ~3, ~0, 1)
(~3, 2, ~0, 1)
(1, 2, ~3, ~0)
(2, 1, ~3, ~0)
(1, ~3, 2, ~0)
(~3, 1, 2, ~0)
(2, ~3, 1, ~0)
(~3, 2, 1, ~0)
(0, ~1, 2, ~3)
(~1, 0, 2, ~3)
(0, 2, ~1, ~3)
(2, 0, ~1, ~3)
(~1, 2, 0, ~3)
(2, ~1, 0, ~3)
(0, ~1, ~3, 2)
(~1, 0, ~3, 2)
(0, ~3, ~1, 2)
(~3, 0, ~1, 2)
(~1, ~3, 0, 2)
(~3, ~1, 0, 2)
(0, 2, ~3, ~1)
(2, 0, ~3, ~1)
(0, ~3, 2, ~1)
(~3, 0, 2, ~1)
(2, ~3, 0, ~1)
(~3, 2, 0, ~1)
(~1, 2, ~3, 0)
(2, ~1, ~3, 0)
(~1, ~3, 2, 0)
(~3, ~1, 2, 0)
(2, ~3, ~1, 0)
(~3, 2, ~1, 0)
(~0, ~1, 2, ~3)
(~1, ~0, 2, ~3)
(~0, 2, ~1, ~3)
(2, ~0, ~1, ~3)
(~1, 2, ~0, ~3)
(2, ~1, ~0, ~3)
(~0, ~1, ~3, 2)
(~1, ~0, ~3, 2)
(~0, ~3, ~1, 2)
(~3, ~0, ~1, 2)
(~1, ~3, ~0, 2)
(~3, ~1, ~0, 2)
(~0, 2, ~3, ~1)
(2, ~0, ~3, ~1)
(~0, ~3, 2, ~1)
(~3, ~0, 2, ~1)
(2, ~3, ~0, ~1)
(~3, 2, ~0, ~1)
(~1, 2, ~3, ~0)
(2, ~1, ~3, ~0)
(~1, ~3, 2, ~0)
(~3, ~1, 2, ~0)
(2, ~3, ~1, ~0)
(~3, 2, ~1, ~0)
(0, 1, ~2, ~3)
(1, 0, ~2, ~3)
(0, ~2, 1, ~3)
(~2, 0, 1, ~3)
(1, ~2, 0, ~3)
(~2, 1, 0, ~3)
(0, 1, ~3, ~2)
(1, 0, ~3, ~2)
(0, ~3, 1, ~2)
(~3, 0, 1, ~2)
(1, ~3, 0, ~2)
(~3, 1, 0, ~2)
(0, ~2, ~3, 1)
(~2, 0, ~3, 1)
(0, ~3, ~2, 1)
(~3, 0, ~2, 1)
(~2, ~3, 0, 1)
(~3, ~2, 0, 1)
(1, ~2, ~3, 0)
(~2, 1, ~3, 0)
(1, ~3, ~2, 0)
(~3, 1, ~2, 0)
(~2, ~3, 1, 0)
(~3, ~2, 1, 0)
(~0, 1, ~2, ~3)
(1, ~0, ~2, ~3)
(~0, ~2, 1, ~3)
(~2, ~0, 1, ~3)
(1, ~2, ~0, ~3)
(~2, 1, ~0, ~3)
(~0, 1, ~3, ~2)
(1, ~0, ~3, ~2)
(~0, ~3, 1, ~2)
(~3, ~0, 1, ~2)
(1, ~3, ~0, ~2)
(~3, 1, ~0, ~2)
(~0, ~2, ~3, 1)
(~2, ~0, ~3, 1)
(~0, ~3, ~2, 1)
(~3, ~0, ~2, 1)
(~2, ~3, ~0, 1)
(~3, ~2, ~0, 1)
(1, ~2, ~3, ~0)
(~2, 1, ~3, ~0)
(1, ~3, ~2, ~0)
(~3, 1, ~2, ~0)
(~2, ~3, 1, ~0)
(~3, ~2, 1, ~0)
(0, ~1, ~2, ~3)
(~1, 0, ~2, ~3)
(0, ~2, ~1, ~3)
(~2, 0, ~1, ~3)
(~1, ~2, 0, ~3)
(~2, ~1, 0, ~3)
(0, ~1, ~3, ~2)
(~1, 0, ~3, ~2)
(0, ~3, ~1, ~2)
(~3, 0, ~1, ~2)
(~1, ~3, 0, ~2)
(~3, ~1, 0, ~2)
(0, ~2, ~3, ~1)
(~2, 0, ~3, ~1)
(0, ~3, ~2, ~1)
(~3, 0, ~2, ~1)
(~2, ~3, 0, ~1)
(~3, ~2, 0, ~1)
(~1, ~2, ~3, 0)
(~2, ~1, ~3, 0)
(~1, ~3, ~2, 0)
(~3, ~1, ~2, 0)
(~2, ~3, ~1, 0)
(~3, ~2, ~1, 0)
(~0, ~1, ~2, ~3)
(~1, ~0, ~2, ~3)
(~0, ~2, ~1, ~3)
(~2, ~0, ~1, ~3)
(~1, ~2, ~0, ~3)
(~2, ~1, ~0, ~3)
(~0, ~1, ~3, ~2)
(~1, ~0, ~3, ~2)
(~0, ~3, ~1, ~2)
(~3, ~0, ~1, ~2)
(~1, ~3, ~0, ~2)
(~3, ~1, ~0, ~2)
(~0, ~2, ~3, ~1)
(~2, ~0, ~3, ~1)
(~0, ~3, ~2, ~1)
(~3, ~0, ~2, ~1)
(~2, ~3, ~0, ~1)
(~3, ~2, ~0, ~1)
(~1, ~2, ~3, ~0)
(~2, ~1, ~3, ~0)
(~1, ~3, ~2, ~0)
(~3, ~1, ~2, ~0)
(~2, ~3, ~1, ~0)
(~3, ~2, ~1, ~0)
Python fragment
fromdiscretehelpers.boolf.examplesimportdukelifromdiscretehelpers.sig_permimportSigPermforninrange(24):style='style="border-left: 3px solid #a2a9b1;"|'ifnin[6,12,18]else''print(f'!{style} [[File:Finite permutation number {n}.svg|30px]]')forminrange(16):style=' style="border-top: 3px solid #a2a9b1;"'ifmin[4,8,12]else''print(f'|-{style}')print(f'! [[File:Cube vertex number {m}.svg|30px]]')forninrange(24):sigperm=SigPerm(valneg_index=m,perm_index=n)sequence_str=sigperm.sequence_string(4)mn_str=str(m).zfill(2)+' '+str(n).zfill(2)file_euler=f'[[File:EuDi; dukeli NP {mn_str}{sequence_str}.svg|175px]]'file_m=f'[[File:Cube vertex number {m}.svg|18px]]'file_n=f'[[File:Finite permutation number {n}.svg|18px]]'style='style="border-left: 3px solid #a2a9b1;"|'ifnin[6,12,18]else''print(f'|{style}{file_euler}<br><span class="valneg_perm">{file_m}{file_n}</span> <small class="sequence">{sequence_str}</small>')