Permute means that forSuperSupermario24 wrote:Speaking of symmetries, I have a couple questions about rule table symmetries:
-What does the "permute" symmetry mean?
-What is "rotate8"? How would that work with a Moore neighborhood?
Code: Select all
1,1,1,1,0,0,0,0,0,1
Oh, that's useful. Thanks.danieldb wrote:Permute means that forAll S3 coditions are setCode: Select all
1,1,1,1,0,0,0,0,0,1
OK, here they are:Saka wrote:I think I got it, but I'm not sure, I prefer pictures
Code: Select all
#C [[ VIEWONLY TITLE "C1" GRID ]]
#C [[ COLOR BACKGROUND 48 48 48 COLOR ALIVE 255 255 255 ]]
x = 16, y = 16, rule = B3/S23
16o$o14bo$o14bo$o3b2o4b2o3bo$o2bo2bo2bo2bo2bo$o2bo2bo2bo2bo2bo$o3b2o4b
2o3bo$o14bo$o14bo$o2b10o2bo$o2b4o8bo$o2b4o8bo$o3b2o9bo$o14bo$o14bo$16o
!
Code: Select all
#C [[ VIEWONLY TITLE "C2_1" GRID ]]
#C [[ COLOR BACKGROUND 48 48 48 COLOR ALIVE 255 255 255 ]]
x = 31, y = 31, rule = B3/S23
16o$o14bo$o14bo$o3b2o4b2o3bo$o2bo2bo2bo2bo2bo$o2bo2bo2bo2bo2bo$o3b2o4b
2o3bo$o14bo$o14bo$o2b10o2bo$o2b4o8bo$o2b4o8bo$o3b2o9bo$o14bo$o14bo$31o
$15bo14bo$15bo14bo$15bo9b2o3bo$15bo8b4o2bo$15bo8b4o2bo$15bo2b10o2bo$
15bo14bo$15bo14bo$15bo3b2o4b2o3bo$15bo2bo2bo2bo2bo2bo$15bo2bo2bo2bo2bo
2bo$15bo3b2o4b2o3bo$15bo14bo$15bo14bo$15b16o!
Code: Select all
#C [[ VIEWONLY TITLE "C2_2" GRID ]]
#C [[ COLOR BACKGROUND 48 48 48 COLOR ALIVE 255 255 255 ]]
x = 31, y = 32, rule = B3/S23
16o$o14bo$o14bo$o3b2o4b2o3bo$o2bo2bo2bo2bo2bo$o2bo2bo2bo2bo2bo$o3b2o4b
2o3bo$o14bo$o14bo$o2b10o2bo$o2b4o8bo$o2b4o8bo$o3b2o9bo$o14bo$o14bo$16o
$15b16o$15bo14bo$15bo14bo$15bo9b2o3bo$15bo8b4o2bo$15bo8b4o2bo$15bo2b
10o2bo$15bo14bo$15bo14bo$15bo3b2o4b2o3bo$15bo2bo2bo2bo2bo2bo$15bo2bo2b
o2bo2bo2bo$15bo3b2o4b2o3bo$15bo14bo$15bo14bo$15b16o!
Code: Select all
#C [[ VIEWONLY TITLE "C2_4" GRID ]]
#C [[ COLOR BACKGROUND 48 48 48 COLOR ALIVE 255 255 255 ]]
x = 32, y = 32, rule = B3/S23
16o$o14bo$o14bo$o3b2o4b2o3bo$o2bo2bo2bo2bo2bo$o2bo2bo2bo2bo2bo$o3b2o4b
2o3bo$o14bo$o14bo$o2b10o2bo$o2b4o8bo$o2b4o8bo$o3b2o9bo$o14bo$o14bo$16o
$16b16o$16bo14bo$16bo14bo$16bo9b2o3bo$16bo8b4o2bo$16bo8b4o2bo$16bo2b
10o2bo$16bo14bo$16bo14bo$16bo3b2o4b2o3bo$16bo2bo2bo2bo2bo2bo$16bo2bo2b
o2bo2bo2bo$16bo3b2o4b2o3bo$16bo14bo$16bo14bo$16b16o!
Code: Select all
#C [[ VIEWONLY TITLE "C4_1" GRID ]]
#C [[ COLOR BACKGROUND 48 48 48 COLOR ALIVE 255 255 255 ]]
x = 31, y = 31, rule = B3/S23
31o$o14bo14bo$o14bo14bo$o3b2o4b2o3bo3b3o3b2o3bo$o2bo2bo2bo2bo2bo2b4o2b
o2bo2bo$o2bo2bo2bo2bo2bo2b4o2bo2bo2bo$o3b2o4b2o3bo3b3o3b2o3bo$o14bo5bo
8bo$o14bo5bo8bo$o2b10o2bo5bo3b2o3bo$o2b4o8bo5bo2bo2bo2bo$o2b4o8bo5bo2b
o2bo2bo$o3b2o9bo5bo3b2o3bo$o14bo14bo$o14bo14bo$31o$o14bo14bo$o14bo14bo
$o3b2o3bo5bo9b2o3bo$o2bo2bo2bo5bo8b4o2bo$o2bo2bo2bo5bo8b4o2bo$o3b2o3bo
5bo2b10o2bo$o8bo5bo14bo$o8bo5bo14bo$o3b2o3b3o3bo3b2o4b2o3bo$o2bo2bo2b
4o2bo2bo2bo2bo2bo2bo$o2bo2bo2b4o2bo2bo2bo2bo2bo2bo$o3b2o3b3o3bo3b2o4b
2o3bo$o14bo14bo$o14bo14bo$31o!
Code: Select all
#C [[ VIEWONLY TITLE "C4_4" GRID ]]
#C [[ COLOR BACKGROUND 48 48 48 COLOR ALIVE 255 255 255 ]]
x = 32, y = 32, rule = B3/S23
32o$o14b2o14bo$o14b2o14bo$o3b2o4b2o3b2o3b3o3b2o3bo$o2bo2bo2bo2bo2b2o2b
4o2bo2bo2bo$o2bo2bo2bo2bo2b2o2b4o2bo2bo2bo$o3b2o4b2o3b2o3b3o3b2o3bo$o
14b2o5bo8bo$o14b2o5bo8bo$o2b10o2b2o5bo3b2o3bo$o2b4o8b2o5bo2bo2bo2bo$o
2b4o8b2o5bo2bo2bo2bo$o3b2o9b2o5bo3b2o3bo$o14b2o14bo$o14b2o14bo$32o$32o
$o14b2o14bo$o14b2o14bo$o3b2o3bo5b2o9b2o3bo$o2bo2bo2bo5b2o8b4o2bo$o2bo
2bo2bo5b2o8b4o2bo$o3b2o3bo5b2o2b10o2bo$o8bo5b2o14bo$o8bo5b2o14bo$o3b2o
3b3o3b2o3b2o4b2o3bo$o2bo2bo2b4o2b2o2bo2bo2bo2bo2bo$o2bo2bo2b4o2b2o2bo
2bo2bo2bo2bo$o3b2o3b3o3b2o3b2o4b2o3bo$o14b2o14bo$o14b2o14bo$32o!
Code: Select all
#C [[ VIEWONLY TITLE "D2_+1" GRID ]]
#C [[ COLOR BACKGROUND 48 48 48 COLOR ALIVE 255 255 255 ]]
x = 16, y = 31, rule = B3/S23
16o$o14bo$o14bo$o3b2o4b2o3bo$o2bo2bo2bo2bo2bo$o2bo2bo2bo2bo2bo$o3b2o4b
2o3bo$o14bo$o14bo$o2b10o2bo$o2b4o8bo$o2b4o8bo$o3b2o9bo$o14bo$o14bo$16o
$o14bo$o14bo$o3b2o9bo$o2b4o8bo$o2b4o8bo$o2b10o2bo$o14bo$o14bo$o3b2o4b
2o3bo$o2bo2bo2bo2bo2bo$o2bo2bo2bo2bo2bo$o3b2o4b2o3bo$o14bo$o14bo$16o!
Code: Select all
#C [[ VIEWONLY TITLE "D2_+2" GRID ]]
#C [[ COLOR BACKGROUND 48 48 48 COLOR ALIVE 255 255 255 ]]
x = 16, y = 32, rule = B3/S23
16o$o14bo$o14bo$o3b2o4b2o3bo$o2bo2bo2bo2bo2bo$o2bo2bo2bo2bo2bo$o3b2o4b
2o3bo$o14bo$o14bo$o2b10o2bo$o2b4o8bo$o2b4o8bo$o3b2o9bo$o14bo$o14bo$16o
$16o$o14bo$o14bo$o3b2o9bo$o2b4o8bo$o2b4o8bo$o2b10o2bo$o14bo$o14bo$o3b
2o4b2o3bo$o2bo2bo2bo2bo2bo$o2bo2bo2bo2bo2bo$o3b2o4b2o3bo$o14bo$o14bo$
16o!
Code: Select all
#C [[ VIEWONLY TITLE "D2_x" GRID ]]
#C [[ COLOR BACKGROUND 48 48 48 COLOR ALIVE 255 255 255 ]]
x = 16, y = 16, rule = B3/S23
16o$o14bo$o14bo$o7bo6bo$o6bobo5bo$o7bo3bo2bo$o11bo2bo$o3bo7bo2bo$o2bob
o6bo2bo$o3bo6bo3bo$o9bo4bo$o8bo5bo$o4b4o6bo$o14bo$o14bo$16o!
Code: Select all
#C [[ VIEWONLY TITLE "D4_+1" GRID ]]
#C [[ COLOR BACKGROUND 48 48 48 COLOR ALIVE 255 255 255 ]]
x = 31, y = 31, rule = B3/S23
31o$o14bo14bo$o14bo14bo$o3b2o4b2o3bo3b2o4b2o3bo$o2bo2bo2bo2bo2bo2bo2bo
2bo2bo2bo$o2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo$o3b2o4b2o3bo3b2o4b2o3bo$o14b
o14bo$o14bo14bo$o2b10o2bo2b10o2bo$o2b4o8bo8b4o2bo$o2b4o8bo8b4o2bo$o3b
2o9bo9b2o3bo$o14bo14bo$o14bo14bo$31o$o14bo14bo$o14bo14bo$o3b2o9bo9b2o
3bo$o2b4o8bo8b4o2bo$o2b4o8bo8b4o2bo$o2b10o2bo2b10o2bo$o14bo14bo$o14bo
14bo$o3b2o4b2o3bo3b2o4b2o3bo$o2bo2bo2bo2bo2bo2bo2bo2bo2bo2bo$o2bo2bo2b
o2bo2bo2bo2bo2bo2bo2bo$o3b2o4b2o3bo3b2o4b2o3bo$o14bo14bo$o14bo14bo$31o
!
Code: Select all
#C [[ VIEWONLY TITLE "D4_+2" GRID ]]
#C [[ COLOR BACKGROUND 48 48 48 COLOR ALIVE 255 255 255 ]]
x = 32, y = 31, rule = B3/S23
32o$o14b2o14bo$o14b2o14bo$o3b2o4b2o3b2o3b2o4b2o3bo$o2bo2bo2bo2bo2b2o2b
o2bo2bo2bo2bo$o2bo2bo2bo2bo2b2o2bo2bo2bo2bo2bo$o3b2o4b2o3b2o3b2o4b2o3b
o$o14b2o14bo$o14b2o14bo$o2b10o2b2o2b10o2bo$o2b4o8b2o8b4o2bo$o2b4o8b2o
8b4o2bo$o3b2o9b2o9b2o3bo$o14b2o14bo$o14b2o14bo$32o$o14b2o14bo$o14b2o
14bo$o3b2o9b2o9b2o3bo$o2b4o8b2o8b4o2bo$o2b4o8b2o8b4o2bo$o2b10o2b2o2b
10o2bo$o14b2o14bo$o14b2o14bo$o3b2o4b2o3b2o3b2o4b2o3bo$o2bo2bo2bo2bo2b
2o2bo2bo2bo2bo2bo$o2bo2bo2bo2bo2b2o2bo2bo2bo2bo2bo$o3b2o4b2o3b2o3b2o4b
2o3bo$o14b2o14bo$o14b2o14bo$32o!
Code: Select all
#C [[ VIEWONLY TITLE "D4_+4" GRID ]]
#C [[ COLOR BACKGROUND 48 48 48 COLOR ALIVE 255 255 255 ]]
x = 32, y = 32, rule = B3/S23
32o$o14b2o14bo$o14b2o14bo$o3b2o4b2o3b2o3b2o4b2o3bo$o2bo2bo2bo2bo2b2o2b
o2bo2bo2bo2bo$o2bo2bo2bo2bo2b2o2bo2bo2bo2bo2bo$o3b2o4b2o3b2o3b2o4b2o3b
o$o14b2o14bo$o14b2o14bo$o2b10o2b2o2b10o2bo$o2b4o8b2o8b4o2bo$o2b4o8b2o
8b4o2bo$o3b2o9b2o9b2o3bo$o14b2o14bo$o14b2o14bo$32o$32o$o14b2o14bo$o14b
2o14bo$o3b2o9b2o9b2o3bo$o2b4o8b2o8b4o2bo$o2b4o8b2o8b4o2bo$o2b10o2b2o2b
10o2bo$o14b2o14bo$o14b2o14bo$o3b2o4b2o3b2o3b2o4b2o3bo$o2bo2bo2bo2bo2b
2o2bo2bo2bo2bo2bo$o2bo2bo2bo2bo2b2o2bo2bo2bo2bo2bo$o3b2o4b2o3b2o3b2o4b
2o3bo$o14b2o14bo$o14b2o14bo$32o!
Code: Select all
#C [[ VIEWONLY TITLE "D4_x1" GRID ]]
#C [[ COLOR BACKGROUND 48 48 48 COLOR ALIVE 255 255 255 ]]
x = 31, y = 31, rule = B3/S23
31o$o14bo14bo$o14bo14bo$o7bo6bo5b3o6bo$o6bobo5bo5bobo6bo$o7bo3bo2bo2bo
2b3o6bo$o11bo2bo2b2o10bo$o3bo7bo2bo2b2o5b3o2bo$o2bobo6bo2bo2b3o4bobo2b
o$o3bo6bo3bo3b2o4b3o2bo$o9bo4bo3b4o7bo$o8bo5bo4b5o5bo$o4b4o6bo6b4o4bo$
o14bo14bo$o14bo14bo$31o$o14bo14bo$o14bo14bo$o4b4o6bo6b4o4bo$o5b5o4bo5b
o8bo$o7b4o3bo4bo9bo$o2b3o4b2o3bo3bo6bo3bo$o2bobo4b3o2bo2bo6bobo2bo$o2b
3o5b2o2bo2bo7bo3bo$o10b2o2bo2bo11bo$o6b3o2bo2bo2bo3bo7bo$o6bobo5bo5bob
o6bo$o6b3o5bo6bo7bo$o14bo14bo$o14bo14bo$31o!
Code: Select all
#C [[ VIEWONLY TITLE "D4_x4" GRID ]]
#C [[ COLOR BACKGROUND 48 48 48 COLOR ALIVE 255 255 255 ]]
x = 32, y = 32, rule = B3/S23
32o$o14b2o14bo$o14b2o14bo$o7bo6b2o5b3o6bo$o6bobo5b2o5bobo6bo$o7bo3bo2b
2o2bo2b3o6bo$o11bo2b2o2b2o10bo$o3bo7bo2b2o2b2o5b3o2bo$o2bobo6bo2b2o2b
3o4bobo2bo$o3bo6bo3b2o3b2o4b3o2bo$o9bo4b2o3b4o7bo$o8bo5b2o4b5o5bo$o4b
4o6b2o6b4o4bo$o14b2o14bo$o14b2o14bo$32o$32o$o14b2o14bo$o14b2o14bo$o4b
4o6b2o6b4o4bo$o5b5o4b2o5bo8bo$o7b4o3b2o4bo9bo$o2b3o4b2o3b2o3bo6bo3bo$o
2bobo4b3o2b2o2bo6bobo2bo$o2b3o5b2o2b2o2bo7bo3bo$o10b2o2b2o2bo11bo$o6b
3o2bo2b2o2bo3bo7bo$o6bobo5b2o5bobo6bo$o6b3o5b2o6bo7bo$o14b2o14bo$o14b
2o14bo$32o!
Code: Select all
#C [[ VIEWONLY TITLE "D8_1" GRID ]]
#C [[ COLOR BACKGROUND 48 48 48 COLOR ALIVE 255 255 255 ]]
x = 31, y = 31, rule = B3/S23
31o$o14bo14bo$o14bo14bo$o7bo6bo6bo7bo$o6bobo5bo5bobo6bo$o7bo3bo2bo2bo
3bo7bo$o11bo2bo2bo11bo$o3bo7bo2bo2bo7bo3bo$o2bobo6bo2bo2bo6bobo2bo$o3b
o6bo3bo3bo6bo3bo$o9bo4bo4bo9bo$o8bo5bo5bo8bo$o4b4o6bo6b4o4bo$o14bo14bo
$o14bo14bo$31o$o14bo14bo$o14bo14bo$o4b4o6bo6b4o4bo$o8bo5bo5bo8bo$o9bo
4bo4bo9bo$o3bo6bo3bo3bo6bo3bo$o2bobo6bo2bo2bo6bobo2bo$o3bo7bo2bo2bo7bo
3bo$o11bo2bo2bo11bo$o7bo3bo2bo2bo3bo7bo$o6bobo5bo5bobo6bo$o7bo6bo6bo7b
o$o14bo14bo$o14bo14bo$31o!
Code: Select all
#C [[ VIEWONLY TITLE "D8_4" GRID ]]
#C [[ COLOR BACKGROUND 48 48 48 COLOR ALIVE 255 255 255 ]]
x = 32, y = 32, rule = B3/S23
32o$o14b2o14bo$o14b2o14bo$o7bo6b2o6bo7bo$o6bobo5b2o5bobo6bo$o7bo3bo2b
2o2bo3bo7bo$o11bo2b2o2bo11bo$o3bo7bo2b2o2bo7bo3bo$o2bobo6bo2b2o2bo6bob
o2bo$o3bo6bo3b2o3bo6bo3bo$o9bo4b2o4bo9bo$o8bo5b2o5bo8bo$o4b4o6b2o6b4o
4bo$o14b2o14bo$o14b2o14bo$32o$32o$o14b2o14bo$o14b2o14bo$o4b4o6b2o6b4o
4bo$o8bo5b2o5bo8bo$o9bo4b2o4bo9bo$o3bo6bo3b2o3bo6bo3bo$o2bobo6bo2b2o2b
o6bobo2bo$o3bo7bo2b2o2bo7bo3bo$o11bo2b2o2bo11bo$o7bo3bo2b2o2bo3bo7bo$o
6bobo5b2o5bobo6bo$o7bo6b2o6bo7bo$o14b2o14bo$o14b2o14bo$32o!
Now that I have written a special template designed for the demos, let's begin to consider hexagonal symmetries.muzik wrote: ↑December 4th, 2018, 3:41 pmNow that apgsearch has the ability to search hexagonal rules, and that corresponding symmetries for the hexagonal grid will likely eventually be supported, can examples of such symmetries be provided? It'd be helpful to have these documented on the wiki.
But on the hexagonal grid, a corner of a cell is no longer a center of C2 rotational symmetry, and so there shouldn't be an equivalent of C2_4, yet it has been supported by apgsearch. A random soup (below, left) reveals that its center of symmetry is actually on the midpoint of a side of a cell.C2_1: Rotation around the center of a cell. ...
C2_2: Rotation around the midpoint of a side of a cell. ...
C2_4: Rotation around a corner of a cell. ...
Code: Select all
x = 92, y = 32, rule = B2/S34H
16b2obo2b3o5b2o28b2o5b3o2bob2o$16b3obo5b3o34b3o5bob3o$19b3o2b2o3b3o28b
3o3b2o2b3o$16bobo2b4o3b3o30b3o3b4o2bobo$16b2ob3obo5bobo28bobo5bob3ob2o
$17bo2b2obob2o3b2o28b2o3b2obob2o2bo$21b2ob4o2bo30bo2b4ob2o$18bobo3b2ob
3obo28bob3ob2o3bobo$19bob2o2b2o2b3o28b3o2b2o2b2obo$18bob5o6bo28bo6b5ob
o$16b2obob3o4bob2o28b2obo4b3obob2o$16bo5b2o2bo2b3o28b3o2bo2b2o5bo$17b
3ob2ob3obob2o28b2obob3ob2ob3o$19bo3bo2bo4bo28bo4bo2bo3bo$16bob4o2bobo
2bobo28bobo2bobo2b4obo$16b3o5bobobo34bobobo5b3o$3bobobo5b3o60b3o5bobob
o$obo2bobo2b4obo60bob4o2bobo2bobo$o4bo2bo3bo66bo3bo2bo4bo$2obob3ob2ob
3o62b3ob2ob3obob2o$3o2bo2b2o5bo60bo5b2o2bo2b3o$2obo4b3obob2o60b2obob3o
4bob2o$o6b5obo64bob5o6bo$3o2b2o2b2obo66bob2o2b2o2b3o$ob3ob2o3bobo64bob
o3b2ob3obo$bo2b4ob2o70b2ob4o2bo$2o3b2obob2o2bo62bo2b2obob2o3b2o$obo5bo
b3ob2o60b2ob3obo5bobo$b3o3b4o2bobo60bobo2b4o3b3o$3o3b2o2b3o66b3o2b2o3b
3o$3b3o5bob3o60b3obo5b3o$2o5b3o2bob2o60b2obo2b3o5b2o!
Interesting. It seems we may have a new potential entry for apgsearch's currently "missing hexagonal symmetries", assuming we haven't missed something and it is, in fact, already included (nontrivially as opposed to as part of a higher symmetry):GUYTU6J wrote: ↑November 2nd, 2021, 11:08 am...Wait, there is a subtle problem. On the square grid we have:But on the hexagonal grid, a corner of a cell is no longer a center of C2 rotational symmetry, and so there shouldn't be an equivalent of C2_4, yet it has been supported by apgsearch.C2_1: Rotation around the center of a cell. ...
C2_2: Rotation around the midpoint of a side of a cell. ...
C2_4: Rotation around a corner of a cell. ...
...
However, we cannot call it simply by C2_2, because there are actually two of these. By flipping with respect to x-axis in Golly's square-grid mode, another soup (above, right) is obtained that has the same type of symmetry but shows different behaviour. So how to tell them apart?
calcyman wrote: ↑December 20th, 2018, 10:09 amAs of version 4.71, lifelib and apgsearch support the following hexagonal symmetries:
["1x256", "2x128", "4x64", "8x32", "C1", "C2_4", "C2_1", "C3_1", "C6", "D2_x", "D2_xo", "D4_x4", "D4_x1", "D6_1", "D6_1o", "D12"]
The missing hexagonal symmetries are C3_3 and D6_3.
Code: Select all
x = 11, y = 8, rule = B3/S23
5b3o$3bo$3bo3bo$3bobo$5bo2b2o$7bo!
Code: Select all
x = 9, y = 9, rule = B3/S23
$3bo$3bobo$bo4bo$b6o2$3b2o$3b2o!
Code: Select all
x = 12, y = 8, rule = B3/S23
$7b2o$2b3obobo2$3bobo2bo$2bo4bo$2b2o3bo!
Code: Select all
x = 11, y = 10, rule = B3/S23
$b2o$bo3b2o$2bobobo2$2b2o2bo$4bo2bo$6b2o!
Code: Select all
x = 8, y = 8, rule = B3/S23
3bo$3bobo$bo$6b2o$2o$6bo$2bobo$4bo!
Code: Select all
x = 7, y = 7, rule = B3/S23
b2ob2o$ob2o2bo$2o4bo$bo3bo$o4b2o$o2b2obo$b2ob2o!
Code: Select all
x = 1, y = 3, rule = B3/S23
o$o$o!
Code: Select all
x = 12, y = 12, rule = B3/S23
6b2o$6b2o2$4b4o$2obobo2bo$2obo2bobo$3b2o3bob2o$3bo4bob2o$4b4o2$4b2o$4b
2o!
That example oscillator could also be considered to flip diagonally. I'm not sure if that's always true for this category, but it's true for the other examples that I can think of.muzik wrote: ↑December 10th, 2021, 1:04 pm[1/2] Flips horizontally xor vertically
Can only affect C2_n or C4_n where n is 1 or 4 (needs confirmation)Code: Select all
x = 8, y = 8, rule = B3/S23 3bo$3bobo$bo$6b2o$2o$6bo$2bobo$4bo!
Conveniently, this means that we now know all 43 possible cases for space and time symmetry for stationary periodic patterns on square grids, as well as having examples for each of them. So since we know each case and how they behave, maybe it'd be a good idea to document all of these on the Symmetry page on the wiki to describe this notation as well as describe each symmetry type and give clear examples...Dean Hickerson wrote:September 16th, 2000, 7:30 amThe 'period' of an oscillator (or spaceship) is the smallest positive integer P for which generation P of the object is congruent to and in the same orientation as generation 0. The 'mod' of an oscillator (or spaceship) is the smallest positive integer M for which generation M of the object is congruent to generation 0, but not necessarily in the same orientation. The quotient q=P/M is always either 1, 2, or 4. To specify both P and M, we often write "period P.M" or "period P/q".
There are 43 types of symmetry that an oscillator can have, taking into account both the symmetry of a single generation and the change of orientation (if any) M generations later. There are 16 types of symmetry that a pattern can have in a single generation. Each of these is given a one or two character name, as follows:
For a period P/1 object, specifying the symmetry of generation 0 tells us all there is to know about the oscillator's symmetry. For a period P/2 or P/4 object, we also need to know how gen M is related to gen 0. For the P/2 case, gen M can be either a mirror image of gen 0, a 180 degree rotation of it, or a 90 degree rotation of it if the pattern has 180 degree rotational symmetry. For the P/4 case gen M must be a 90 degree rotation of gen 0. In any case, if we merge all gens which are multiples of M, the resulting pattern will have more symmetry than the original oscillator. We describe the complete symmetry class of the oscillator by appending the one or two character description of the union's symmetry to that of gen 0's symmetry. For example, if gen 0 has 180 degree rotational symmetry about a cell center, and gen M is obtained by reflecting gen 0 across a diagonal, then the union of gens 0 and M is symmetric across both diagonals, so its symmetry class is denoted ".cxc".
- n no symmetry
-c mirror symmetry across a horizontal axis through cell centers
-e mirror symmetry across a horizontal axis through cell edges
/ mirror symmetry across one diagonal
.c 180 degree rotational symmetry about a cell center
.e 180 degree rotational symmetry about a cell edge
.k 180 degree rotational symmetry about a cell corner
+c mirror symmetry across horizontal and vertical axes meeting
at a cell center
+e mirror symmetry across horizontal and vertical axes meeting
at a cell edge
+k mirror symmetry across horizontal and vertical axes meeting
at a cell corner
xc mirror symmetry across 2 diagonals meeting at a cell center
xk mirror symmetry across 2 diagonals meeting at a cell corner
rc 90 degree rotational symmetry about a cell center
rk 90 degree rotational symmetry about a cell corner
*c 8-fold symmetry about a cell center
*k 8-fold symmetry about a cell corner
The 43 possible symmetry types are:
- period/mod = 1: nn -c-c -e-e // .c.c .e.e .k.k +c+c
+e+e +k+k xcxc xkxk rcrc rkrk *c*c *k*k
period/mod = 2: n-c n-e n/ n.c n.e n.k
-c+c -c+e -e+e -e+k
/xc /xk
.c+c .cxc .crc .e+e .k+k .kxk .krk
+c*c +k*k xc*c xk*k rc*c rk*k
period/mod = 4: nrc nrk
Code: Select all
x = 9, y = 9, rule = LifeHistory
.A$A.A$A2.A$.2A2$A5.A$.A3.A.A$2A3.A2.A$A3.2A2.A!
[[ AUTOSTART ZOOM 16 GPS 20 TRACKLOOP 7 0.0 -1/7 HISTORYSTATES 0 AGESTATES 0 GRID ]]
Code: Select all
x = 15, y = 82, rule = LifeHistory
7.D$7.D$7.D$7.D$7.D$7.D$7.D$7.D$7.D$7.D$7.D$7.D$7.D$7.D$7.D$7.D$7.D$
7.D$7.D$7.D$7.D$7.D$7.D$7.D$7.D$7.D$7.D$7.D$7.D$7.D$7.D$7.D$7.D$7.D$
7.C$6.ADA$5.A.D.A$6.ACA$7.D$4.2A.D.2A$2.A3.ADA3.A$.2A3.ADA3.2A$A5.ADA
5.A$.A.2A.ADA.2A.A$7.D$7.D$7.D$7.D$7.D$7.D$7.D$7.D$7.D$7.D$7.D$7.D$7.
D$7.D$7.D$7.D$7.D$7.D$7.D$7.D$7.D$7.D$7.D$7.D$7.D$7.D$7.D$7.D$7.D$7.D
$7.D$7.D$7.D$7.D$7.D$7.D$7.D$7.D!
[[ AUTOSTART ZOOM 16 GPS 20 TRACKLOOP 3 0.0 -1/3 HISTORYSTATES 0 AGESTATES 0 GRID ]]
Code: Select all
x = 8, y = 105, rule = LifeHistory
6$3.2D$3.2D$3.2D$3.2D$3.2D$3.2D$3.2D$3.2D$3.2D$3.2D$3.2D$3.2D$3.2D$3.
2D$3.2D$3.2D$3.2D$3.2D$3.2D$3.2D$3.2D$3.2D$3.2D$3.2D$3.2D$3.2D$3.2D$
3.2D$3.2D$3.2D$3.2D$3.2D$3.2D$3.2D$3.2D$3.2D$3.2D$3.2D$3.2C$3.2C$2.A
2DA$2.A2CA$.A.2C.A$2.A2DA$3.2D$.2A2D2A$A2.2D2.A$3.2D$.A.2D.A$2.A2DA$
3.2C$3.2D$3.2D$3.2D$3.2D$3.2D$3.2D$3.2D$3.2D$3.2D$3.2D$3.2D$3.2D$3.2D
$3.2D$3.2D$3.2D$3.2D$3.2D$3.2D$3.2D$3.2D$3.2D$3.2D$3.2D$3.2D$3.2D$3.
2D$3.2D$3.2D$3.2D$3.2D$3.2D$3.2D$3.2D$3.2D$3.2D$3.2D$3.2D$3.2D$3.2D$
3.2D$3.2D$3.2D!
[[ AUTOSTART ZOOM 16 GPS 20 TRACKLOOP 10 0.0 -1/10 HISTORYSTATES 0 AGESTATES 0 GRID ]]
Code: Select all
x = 128, y = 128, rule = LifeHistory
127.D$126.D$125.D$124.D$123.D$122.D$121.D$120.D$119.D$118.D$117.D$
116.D$115.D$114.D$113.D$112.D$111.D$110.D$109.D$108.D$107.D$106.D$
105.D$104.D$103.D$102.D$101.D$100.D$99.D$98.D$97.D$96.D$95.D$94.D$93.
D$92.D$91.D$90.D$89.D$88.D$87.D$86.D$85.D$84.D$83.D$82.D$81.D$80.D$
79.D$78.D$77.D$76.D$55.4A16.D$53.2A4.2A13.D$53.2A5.A12.D$55.2A.A.A11.
D$60.A10.D$56.A3.A9.D$56.A4.A7.D$58.3A3.A3.D$58.2A4.A2.D$64.2AD$65.DA
$64.D.3A$63.D$62.D$61.D7.A$60.D7.A.5A$59.D7.2A5.A$58.D8.2A3.A2.A$57.D
17.A$56.D12.2A.A2.A$55.D16.A2.A$54.D18.2A$53.D19.2A$52.D$51.D$50.D$
49.D$48.D$47.D$46.D$45.D$44.D$43.D$42.D$41.D$40.D$39.D$38.D$37.D$36.D
$35.D$34.D$33.D$32.D$31.D$30.D$29.D$28.D$27.D$26.D$25.D$24.D$23.D$22.
D$21.D$20.D$19.D$18.D$17.D$16.D$15.D$14.D$13.D$12.D$11.D$10.D$9.D$8.D
$7.D$6.D$5.D$4.D$3.D$2.D$.D$D!
[[ AUTOSTART ZOOM 16 GPS 5 TRACKLOOP 5 -1/5 1/5 HISTORYSTATES 0 AGESTATES 0 GRID ]]
Code: Select all
x = 4, y = 52, rule = LifeHistory
2.D$2.D$2.D$2.D$2.D$2.D$2.D$2.D$2.D$2.D$2.D$2.D$2.D$2.D$2.D$2.D$2.D$
2.D$2.D$2.D$2.D$2.D$2.D$.ACA$A.DA$2.DA$2.DA$A.C$2.D$2.D$2.D$2.D$2.D$
2.D$2.D$2.D$2.D$2.D$2.D$2.D$2.D$2.D$2.D$2.D$2.D$2.D$2.D$2.D$2.D$2.D$
2.D$2.D!
[[ AUTOSTART ZOOM 32 GPS 5 TRACKLOOP 2 0.0 -1/2 HISTORYSTATES 0 AGESTATES 0 GRID ]]
Code: Select all
x = 34, y = 107, rule = LifeHistory
16.2D$16.2D$16.2D$16.2D$16.2D$16.2D$16.2D$16.2D$16.2D$16.2D$16.2D$16.
2D$16.2D$16.2D$16.2D$16.2D$16.2D$16.2D$16.2D$16.2D$16.2D$16.2D$16.2D$
16.2D$16.2D$16.2D$16.2D$16.2D$16.2D$16.2D$16.2D$16.2D$16.2D$16.2D$16.
2D$16.2D$16.2D$16.2D$16.2D$16.2D$16.2D$16.2D$16.2D$16.2D$16.2D$16.2D$
16.2D$16.2D$16.2D$16.2D$16.2D$4.2A10.2C10.2A$4.2A10.2C10.2A$3.A2.A8.A
2DA8.A2.A$3.4A8.A2CA8.4A$2.A.2A.A6.A.2C.A6.A.2A.A$3.A2.A8.A2DA8.A2.A$
16.2D$2.2A2.2A6.2A2D2A6.2A2.2A$.A6.A4.A2.2D2.A4.A6.A$16.2D$2.A4.A6.A.
2D.A6.A4.A$3.A2.A8.A2DA8.A2.A$4.2A10.2C10.2A$16.2D$.2A4.2A4.2A.2D.2A
4.2A4.2A$A2.A2.A2.A2.A2.A2DA2.A2.A2.A2.A2.A$.2A4.2A4.2A.2D.2A4.2A4.2A
$2.A4.A6.A.2D.A6.A4.A$16.2D$14.A.2D$16.2D$16.DC2A$16.DC$16.2D$16.2D$
16.2D$16.2D$16.2D$16.2D$16.2D$16.2D$16.2D$16.2D$16.2D$16.2D$16.2D$16.
2D$16.2D$16.2D$16.2D$16.2D$16.2D$16.2D$16.2D$16.2D$16.2D$16.2D$16.2D$
16.2D$16.2D$16.2D$16.2D$16.2D$16.2D$16.2D$16.2D!
[[ AUTOSTART ZOOM 8 TRACKLOOP 20 0.0 -1/10 HISTORYSTATES 0 AGESTATES 0 GRID ]]
Code: Select all
x = 43, y = 44, rule = LifeHistory
42.D$41.2D$40.2D$39.2D$38.2D$37.2D$36.2D$35.2D$34.2D$33.2D$32.2D$31.
2D$30.2D$29.2D$28.2D$27.2D$26.2D$25.2D$24.2D$22.A2D$22.CDA$21.DCA$20.
2D$19.2D$18.2D$17.2D$16.2D$15.2D$14.2D$13.2D$12.2D$11.2D$10.2D$9.2D$
8.2D$7.2D$6.2D$5.2D$4.2D$3.2D$2.2D$.2D$2D$D!
[[ AUTOSTART ZOOM 32 GPS 5 TRACKLOOP 4 -1/4 1/4 HISTORYSTATES 0 AGESTATES 0 GRID ]]
The terminology could be "static symmetry" and "kinetic symmetry", distinguished by whether evolution through more than one generation is relevant.
I've now split the page into three: Kinetic symmetry for periodic object space/time symmetries, Static symmetry for the usual space symmetry, and Minor static symmetries for stuff like gutters.GUYTU6J wrote: ↑December 13th, 2021, 10:27 pmThe terminology could be "static symmetry" and "kinetic symmetry", distinguished by whether evolution through more than one generation is relevant.
Previous discussion on time symmetry (or temporal symmetry in some other posts) can be found here:
viewtopic.php?f=7&t=1777
That'd be n/e: even diagonal symmetry is possible with glide-reflecting spaceships.muzik wrote: ↑December 13th, 2021, 10:24 pmn/Code: Select all
x = 43, y = 44, rule = LifeHistory 42.D$41.2D$40.2D$39.2D$38.2D$37.2D$36.2D$35.2D$34.2D$33.2D$32.2D$31. 2D$30.2D$29.2D$28.2D$27.2D$26.2D$25.2D$24.2D$22.A2D$22.CDA$21.DCA$20. 2D$19.2D$18.2D$17.2D$16.2D$15.2D$14.2D$13.2D$12.2D$11.2D$10.2D$9.2D$ 8.2D$7.2D$6.2D$5.2D$4.2D$3.2D$2.2D$.2D$2D$D! [[ AUTOSTART ZOOM 32 GPS 5 TRACKLOOP 4 -1/4 1/4 HISTORYSTATES 0 AGESTATES 0 GRID ]]
This is actually a valid point. Two possible types of diagonal reflections possible for diagonal spaceships: one across a line that passes through cell centered and vertices (example below, we'll call this just n/) and one that goes through edges (we'll call this one n/e).erictom333 wrote: ↑December 20th, 2021, 11:44 pmThat'd be n/e: even diagonal symmetry is possible with glide-reflecting spaceships.
Code: Select all
x = 76, y = 76, rule = LifeHistory
D$.D$2.D$3.D$4.D$5.D$6.D$7.D$8.D$9.D$10.D$11.D$12.D$13.D$14.D$15.D$16.
D$17.D$18.D$19.D$20.D$21.D$22.D$23.D$24.D$25.D$26.D$27.D$28.D$29.D$30.
D$31.D$32.D$33.D$34.D$35.D$36.D$37.D$38.D$39.D4.2A.A7.3A$40.D3.A3.A6.
A$41.D2.A4.A7.A7.2A$42.D3.2A7.A.A4.2A.A$43.D4.A.A4.3A.A2.2A$39.3A2.D9.
A3.2A2.2A$39.A5.D4.2A.4A.2A$42.A3.D4.7A$39.A2.A4.D$40.A2.A4.D$41.A7.D
$43.A.A4.D$45.2A4.D$46.A5.D3A$45.2A6.C2.A$44.3A5.A.D.A$39.2A.2A.2A7.A
D$39.A3.A.2A9.CA$39.A.3A2.A5.A4.D.A$44.2A8.3A.D.A$43.3A13.DA$58.A.D$59.
A.D$42.3A17.D$42.3A18.D$64.D$41.2A22.D$41.A24.D$67.D$68.D$69.D$70.D$71.
D$72.D$73.D$74.D$75.D!
[[ ZOOM 12 LOOP 60 X 8 Y 8 ]]
Yes, even diagonal symmetry is not possible with non-moving objects, as the even-diagonal reflection of a pattern would not be aligned with the grid; even-diagonal reflection is only possible as a glide reflection.muzik wrote: ↑March 2nd, 2023, 7:56 amThis is actually a valid point. Two possible types of diagonal reflections possible for diagonal spaceships: one across a line that passes through cell centered and vertices (example below, we'll call this just n/) and one that goes through edges (we'll call this one n/e).erictom333 wrote: ↑December 20th, 2021, 11:44 pmThat'd be n/e: even diagonal symmetry is possible with glide-reflecting spaceships.I assume this is a spaceship-exclusive kinetic symmetry? I don't know of any oscillators that follow it (and I don't think skewed diagonal gutters would count).Code: Select all
x = 76, y = 76, rule = LifeHistory D$.D$2.D$3.D$4.D$5.D$6.D$7.D$8.D$9.D$10.D$11.D$12.D$13.D$14.D$15.D$16. D$17.D$18.D$19.D$20.D$21.D$22.D$23.D$24.D$25.D$26.D$27.D$28.D$29.D$30. D$31.D$32.D$33.D$34.D$35.D$36.D$37.D$38.D$39.D4.2A.A7.3A$40.D3.A3.A6. A$41.D2.A4.A7.A7.2A$42.D3.2A7.A.A4.2A.A$43.D4.A.A4.3A.A2.2A$39.3A2.D9. A3.2A2.2A$39.A5.D4.2A.4A.2A$42.A3.D4.7A$39.A2.A4.D$40.A2.A4.D$41.A7.D $43.A.A4.D$45.2A4.D$46.A5.D3A$45.2A6.C2.A$44.3A5.A.D.A$39.2A.2A.2A7.A D$39.A3.A.2A9.CA$39.A.3A2.A5.A4.D.A$44.2A8.3A.D.A$43.3A13.DA$58.A.D$59. A.D$42.3A17.D$42.3A18.D$64.D$41.2A22.D$41.A24.D$67.D$68.D$69.D$70.D$71. D$72.D$73.D$74.D$75.D! [[ ZOOM 12 LOOP 60 X 8 Y 8 ]]
The other thing I want to know: is it possible for two spaceships to have the same diagonal speed and period, but one has n/ symmetry and the other has n/e symmetry? From what I've seen so far, glide-reflective c/2, c/4, c/6, c/8, ... spaceships all appear to be n/e, whereas 2c/4, 2c/8, ... diagonal spaceships appear to follow n/.erictom333 wrote: ↑March 2nd, 2023, 5:45 pmYes, even diagonal symmetry is not possible with non-moving objects, as the even-diagonal reflection of a pattern would not be aligned with the grid; even-diagonal reflection is only possible as a glide reflection.
This is a good point. Actually, it turns out that there is only one glide symmetry for each diagonal speed.muzik wrote: ↑March 5th, 2023, 6:19 pmThe other thing I want to know: is it possible for two spaceships to have the same diagonal speed and period, but one has n/ symmetry and the other has n/e symmetry? From what I've seen so far, glide-reflective c/2, c/4, c/6, c/8, ... spaceships all appear to be n/e, whereas 2c/4, 2c/8, ... diagonal spaceships appear to follow n/.
Can we be sure that n/e isn't just n/ in disguise, a symmetry that only arises for some speeds and not others (unlike n-f and n-e, which can apply to a spaceship regardless of its speed, as long as the period and displacement are right)?
Code: Select all
x = 62, y = 35, rule = LifeHistory
51.A$50.CEA$50.A3$19.CA$12.D5.AE21.D12.CB$13.D5.A22.D10.BE$.A12.D10.B
17.D10.B$CEA4.9D8.CEB6.12D15.B$A13.D9.B18.D15.CEB$13.D28.D16.B$12.D
28.D9$50.A$49.CEA$49.A3$19.CA$18.AE34.CB$12.D6.A21.D11.BE$13.D28.D11.
B$.A12.D10.B17.D$CEA4.9D8.CEB6.12D15.B$A13.D9.B18.D15.CEB$13.D28.D16.
B$12.D28.D!