!"Data-AttConcat.txt" JMS 2025.01.07 AoutAAprev(1:24,1:24) = "Attitude Concatenations" 90ºchanges:1-thru-7 !Aout = AoutAAprev(A,Aprev) i.e.:A is a pre-multiply. 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24 =Aprev 2, 8, 1,12,11,13,16, 3,19,22,20,21,24, 7, 6,23, 4, 5,10,18,17, 9,14,15 3, 1, 8,17,18,15,14, 2,22,19, 5, 4, 6,23,24, 7,21,20, 9,11,12,10,16,13 4,13,14, 9, 1,17,12,20, 5,21, 6,24,22,19, 3, 2,23, 7,15,10, 8,16,11,18 5,16,15, 1, 9,11,18,21, 4,20,23, 7, 2, 3,19,22, 6,24,14, 8,10,13,17,12 6,11,17,13,15,10, 1,23,24, 7,19, 2,20, 4,21, 5,22, 3,12,14,16,18, 9, 8 7,12,18,14,16, 1,10,24,23, 6, 2,19, 4,20, 5,21, 3,22,11,13,15,17, 8, 9 8, 3, 2,21,20,24,23, 1,10, 9,18,17,15,16,13,14,12,11,22, 5, 4,19, 7, 6 9,22,19, 5, 4,23,24,10, 1, 8,17,18,16,15,14,13,11,12, 3,21,20, 2, 6, 7 10,19,22,20,21, 7, 6, 9, 8, 1,12,11,14,13,16,15,18,17, 2, 4, 5, 3,24,23 11,23, 6, 2,19,20, 5,17,12,18,14,16, 8, 1,10, 9,13,15, 7, 3,22,24, 4,21 12,24, 7,19, 2, 4,21,18,11,17,13,15, 9,10, 1, 8,14,16, 6,22, 3,23,20, 5 13,20, 4,24, 6,22, 2,14,15,16,10, 8,18,12,17,11, 9, 1,21, 7,23, 5,19, 3 14, 4,20,23, 7, 3,19,13,16,15, 1, 9,17,11,18,12, 8,10, 5, 6,24,21, 2,22 15, 5,21, 6,24,19, 3,16,13,14, 9, 1,11,17,12,18,10, 8, 4,23, 7,20,22, 2 16,21, 5, 7,23, 2,22,15,14,13, 8,10,12,18,11,17, 1, 9,20,24, 6, 4, 3,19 17, 6,23,22, 3,21, 4,11,18,12,15,13,10, 9, 8, 1,16,14,24,19, 2, 7, 5,20 18, 7,24, 3,22, 5,20,12,17,11,16,14, 1, 8, 9,10,15,13,23, 2,19, 6,21, 4 19, 9,10,11,12,14,15,22, 2, 3, 4, 5,23, 6, 7,24,20,21, 1,17,18, 8,13,16 20,14,13, 8,10,18,11, 4,21, 5, 7,23, 3, 2,22,19,24, 6,16, 1, 9,15,12,17 21,15,16,10, 8,12,17, 5,20, 4,24, 6,19,22, 2, 3, 7,23,13, 9, 1,14,18,11 22,10, 9,18,17,16,13,19, 3, 2,21,20, 7,24,23, 6, 5, 4, 8,12,11, 1,15,14 23,17,11,16,14, 8, 9, 6, 7,24, 3,22,21, 5,20, 4, 2,19,18,15,13,12, 1,10 24,18,12,15,13, 9, 8, 7, 6,23,22, 3, 5,21, 4,20,19, 2,17,16,14,11,10, 1 ^:A These are the corresponding symboloic Attitudes: a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x =Aprev b, h, a, l, k, m, p, c, s, v, t, u, x, g, f, w, d, e, j, r, q, i, n, o c, a, h, q, r, o, n, b, v, s, e, d, f, w, x, g, u, t, i, k, l, j, p, m d, m, n, i, a, q, l, t, e, u, f, x, v, s, c, b, w, g, o, j, h, p, k, r e, p, o, a, i, k, r, u, d, t, w, g, b, c, s, v, f, x, n, h, j, m, q, l f, k, q, m, o, j, a, w, x, g, s, b, t, d, u, e, v, c, l, n, p, r, i, h g, l, r, n, p, a, j, x, w, f, b, s, d, t, e, u, c, v, k, m, o, q, h, i h, c, b, u, t, x, w, a, j, i, r, q, o, p, m, n, l, k, v, e, d, s, g, f i, v, s, e, d, w, x, j, a, h, q, r, p, o, n, m, k, l, c, u, t, b, f, g j, s, v, t, u, g, f, i, h, a, l, k, n, m, p, o, r, q, b, d, e, c, x, w k, w, f, b, s, t, e, q, l, r, n, p, h, a, j, i, m, o, g, c, v, x, d, u l, x, g, s, b, d, u, r, k, q, m, o, i, j, a, h, n, p, f, v, c, w, t, e m, t, d, x, f, v, b, n, o, p, j, h, r, l, q, k, i, a, u, g, w, e, s, c n, d, t, w, g, c, s, m, p, o, a, i, q, k, r, l, h, j, e, f, x, u, b, v o, e, u, f, x, s, c, p, m, n, i, a, k, q, l, r, j, h, d, w, g, t, v, b p, u, e, g, w, b, v, o, n, m, h, j, l, r, k, q, a, i, t, x, f, d, c, s q, f, w, v, c, u, d, k, r, l, o, m, j, i, h, a, p, n, x, s, b, g, e, t r, g, x, c, v, e, t, l, q, k, p, n, a, h, i, j, o, m, w, b, s, f, u, d s, i, j, k, l, n, o, v, b, c, d, e, w, f, g, x, t, u, a, q, r, h, m, p t, n, m, h, j, r, k, d, u, e, g, w, c, b, v, s, x, f, p, a, i, o, l, q u, o, p, j, h, l, q, e, t, d, x, f, s, v, b, c, g, w, m, i, a, n, r, k v, j, i, r, q, p, m, s, c, b, u, t, g, x, w, f, e, d, h, l, k, a, o, n w, q, k, p, n, h, i, f, g, x, c, v, u, e, t, d, b, s, r, o, m, l, a, j x, r, l, o, m, i, h, g, f, w, v, c, e, u, d, t, s, b, q, p, n, k, j, a ^:A # Letter Roll Pitch Yaw Example : if Aprev = 5 e 0 +90 0 & A = 3 c +90 0 0 then Aout = 18 r +90 0 +90 ^:symbolic values ^:numeric values all the Attitudes: # Letter Roll Pitch Yaw 1 a 0 0 0 2 b -90 0 0 3 c +90 0 0 4 d 0 -90 0 5 e 0 +90 0 6 f 0 0 -90 7 g 0 0 +90 8 h 180 0 0 9 i * 0 +180 0 10 j 0 0 180 11 k -90 0 -90 12 l -90 0 +90 13 m 0 -90 -90 14 n 0 -90 +90 15 o 0 +90 -90 16 p 0 +90 +90 17 q +90 0 -90 18 r +90 0 +90 19 s -90 0 180 20 t 0 -90 180 21 u 0 +90 180 22 v +90 0 180 23 w 180 0 -90 24 x 180 0 +90 Minimum moves to solved: 2025.01.07.1245, in rows of [1:24] a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x = A 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24 =nA 0, e, e, e, e, e, e, e, e, e, e, e, e, e, e, e, e, e, e, e, e, e, e, e | 0 Corner cells: 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3 | 1 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3 | 2 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3 | 3 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3 | 4 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3 | 5 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3 | 6 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3 | 7 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3 | 8 Edge cells: 0,*3,*3, 1, 1, 1, 1,*4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3 | 9 0, 1, 1,*3,*3, 1, 1, 2,*4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3 |10 0, 1, 1,*3,*3, 1, 1, 2,*4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3 |11 0,*3,*3, 1, 1, 1, 1,*4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3 |12 0, 1, 1, 1, 1,*3,*3, 2, 2,*4, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3 |13 0, 1, 1, 1, 1,*3,*3, 2, 2,*4, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3 |14 0, 1, 1, 1, 1,*3,*3, 2, 2,*4, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3 |15 0, 1, 1, 1, 1,*3,*3, 2, 2,*4, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3 |16 0,*3,*3, 1, 1, 1, 1,*4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3 |17 0, 1, 1,*3,*3, 1, 1, 2,*4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3 |18 0, 1, 1,*3,*3, 1, 1, 2,*4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3 |19 0,*3,*3, 1, 1, 1, 1,*4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3 |20 Center cells (no translations; useful for visualization): 0, e, e, e, e, 1, 1, e, e, 2, e, e, e, e, e, e, e, e, e, e, e, e, e, e |21 0, e, e, 1, 1, e, e, e, 2, e, e, e, e, e, e, e, e, e, e, e, e, e, e, e |22 0, 1, 1, e, e, e, e, 2, e, e, e, e, e, e, e, e, e, e, e, e, e, e, e, e |23 0, 1, 1, e, e, e, e, 2, e, e, e, e, e, e, e, e, e, e, e, e, e, e, e, e |24 0, e, e, 1, 1, e, e, e, 2, e, e, e, e, e, e, e, e, e, e, e, e, e, e, e |25 0, e, e, e, e, 1, 1, e, e, 2, e, e, e, e, e, e, e, e, e, e, e, e, e, e |26 ^:V Table above is printed in hex. '14'dec='e'hex are invalid nLf states Example: Voter/cell #9 achieves Attitude h in 4 or more 90 degree moves. h is a 180 degree roll, but cell #9 can't roll at its solved location. Cell#9 can reach attitude h by yawing 180 & then pitching 180, hence in 4 moves. /////////////////////////////////////////////////////////////////////// Superceded above: !"Data-AttConcat.txt" JMS 2023.08.21 A23outA23A23(0:23,0:23) = "Attitude Concatenations" 90ºchanges:1-thru-6 !nAnew = A23outA23A23(nAchange,nAprev) i.e.:a homogeneous pre-multiply 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14,15,16,17,18,19,20,21,22,23 1, 7, 0,11,10,12,15, 2,18,21,19,20,23, 6, 5,22, 3, 4, 9,17,16, 8,13,14 2, 0, 7,16,17,14,13, 1,21,18, 4, 3, 5,22,23, 6,20,19, 8,10,11, 9,15,12 3,12,13, 8, 0,16,11,19, 4,20, 5,23,21,18, 2, 1,22, 6,14, 9, 7,15,10,17 4,15,14, 0, 8,10,17,20, 3,19,22, 6, 1, 2,18,21, 5,23,13, 7, 9,12,16,11 5,10,16,12,14, 9, 0,22,23, 6,18, 1,19, 3,20, 4,21, 2,11,13,15,17, 8, 7 6,11,17,13,15, 0, 9,23,22, 5, 1,18, 3,19, 4,20, 2,21,10,12,14,16, 7, 8 7, 2, 1,20,19,23,22, 0, 9, 8,17,16,14,15,12,13,11,10,21, 4, 3,18, 6, 5 8,21,18, 4, 3,22,23, 9, 0, 7,16,17,15,14,13,12,10,11, 2,20,19, 1, 5, 6 9,18,21,19,20, 6, 5, 8, 7, 0,11,10,13,12,15,14,17,16, 1, 3, 4, 2,23,22 10,22, 5, 1,18,19, 4,16,11,17,13,15, 7, 0, 9, 8,12,14, 6, 2,21,23, 3,20 11,23, 6,18, 1, 3,20,17,10,16,12,14, 8, 9, 0, 7,13,15, 5,21, 2,22,19, 4 12,19, 3,23, 5,21, 1,13,14,15, 9, 7,17,11,16,10, 8, 0,20, 6,22, 4,18, 2 13, 3,19,22, 6, 2,18,12,15,14, 0, 8,16,10,17,11, 7, 9, 4, 5,23,20, 1,21 14, 4,20, 5,23,18, 2,15,12,13, 8, 0,10,16,11,17, 9, 7, 3,22, 6,19,21, 1 15,20, 4, 6,22, 1,21,14,13,12, 7, 9,11,17,10,16, 0, 8,19,23, 5, 3, 2,18 16, 5,22,21, 2,20, 3,10,17,11,14,12, 9, 8, 7, 0,15,13,23,18, 1, 6, 4,19 17, 6,23, 2,21, 4,19,11,16,10,15,13, 0, 7, 8, 9,14,12,22, 1,18, 5,20, 3 18, 8, 9,10,11,13,14,21, 1, 2, 3, 4,22, 5, 6,23,19,20, 0,16,17, 7,12,15 19,13,12, 7, 9,17,10, 3,20, 4, 6,22, 2, 1,21,18,23, 5,15, 0, 8,14,11,16 20,14,15, 9, 7,11,16, 4,19, 3,23, 5,18,21, 1, 2, 6,22,12, 8, 0,13,17,10 21, 9, 8,17,16,15,12,18, 2, 1,20,19, 6,23,22, 5, 4, 3, 7,11,10, 0,14,13 22,16,10,15,13, 7, 8, 5, 6,23, 2,21,20, 4,19, 3, 1,18,17,14,12,11, 0, 9 23,17,11,14,12, 8, 7, 6, 5,22,21, 2, 4,20, 3,19,18, 1,16,15,13,10, 9, 0 One step is a 90 degree rotation in either direction around any axis. A# 0 : no step = null op A# 1 thru A# 6: one step A# 8 thru A#17: two steps A#18 thru A#23: three steps Concatenation Table of Attitude Multiplies: A23outA23A23(nA1,0:23) @L401 [ 0][ 1-step ][ 2-step ][ 3-step ] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23<:nA2 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 0 0| 0| 1 2 3 4 5 6| 7 8 9 10 11 12 13 14 15 16 17|18 19 20 21 22 23| |--|-- -- -- -- -- --|-- -- -- -- -- -- -- -- -- -- --|-- -- -- -- -- --| 1 1| 1| 7 0 11 10 12 15| 2 18 21 19 20 23 6 5 22 3 4| 9 17 16 8 13 14| 2| 2| 0 7 16 17 14 13| 1 21 18 4 3 5 22 23 6 20 19| 8 10 11 9 15 12| 3| 3|12 13 8 0 16 11|19 4 20 5 23 21 18 2 1 22 6|14 9 7 15 10 17| 4| 4|15 14 0 8 10 17|20 3 19 22 6 1 2 18 21 5 23|13 7 9 12 16 11| 5| 5|10 16 12 14 9 0|22 23 6 18 1 19 3 20 4 21 2|11 13 15 17 8 7| 6| 6|11 17 13 15 0 9|23 22 5 1 18 3 19 4 20 2 21|10 12 14 16 7 8| |--|-- -- -- -- -- --|-- -- -- -- -- -- -- -- -- -- --|-- -- -- -- -- --| ^:these are the six 90 degree rotations of face "moves" | |--|-- -- -- -- -- --|-- -- -- -- -- -- -- -- -- -- --|-- -- -- -- -- --| 2 7| 7| 2 1 20 19 23 22| 0 9 8 17 16 14 15 12 13 11 10|21 4 3 18 6 5| 8| 8|21 18 4 3 22 23| 9 0 7 16 17 15 14 13 12 10 11| 2 20 19 1 5 6| 9| 9|18 21 19 20 6 5| 8 7 0 11 10 13 12 15 14 17 16| 1 3 4 2 23 22| 10|10|22 5 1 18 19 4|16 11 17 13 15 7 0 9 8 12 14| 6 2 21 23 3 20| 11|11|23 6 18 1 3 20|17 10 16 12 14 8 9 0 7 13 15| 5 21 2 22 19 4| 12|12|19 3 23 5 21 1|13 14 15 9 7 17 11 16 10 8 0|20 6 22 4 18 2| 13|13| 3 19 22 6 2 18|12 15 14 0 8 16 10 17 11 7 9| 4 5 23 20 1 21| 14|14| 4 20 5 23 18 2|15 12 13 8 0 10 16 11 17 9 7| 3 22 6 19 21 1| 15|15|20 4 6 22 1 21|14 13 12 7 9 11 17 10 16 0 8|19 23 5 3 2 18| 16|16| 5 22 21 2 20 3|10 17 11 14 12 9 8 7 0 15 13|23 18 1 6 4 19| 17|17| 6 23 2 21 4 19|11 16 10 15 13 0 7 8 9 14 12|22 1 18 5 20 3| |--|-- -- -- -- -- --|-- -- -- -- -- -- -- -- -- -- --|-- -- -- -- -- --| 3 18|18| 8 9 10 11 13 14|21 1 2 3 4 22 5 6 23 19 20| 0 16 17 7 12 15| 19|19|13 12 7 9 17 10| 3 20 4 6 22 2 1 21 18 23 5|15 0 8 14 11 16| 20|20|14 15 9 7 11 16| 4 19 3 23 5 18 21 1 2 6 22|12 8 0 13 17 10| 21|21| 9 8 17 16 15 12|18 2 1 20 19 6 23 22 5 4 3| 7 11 10 0 14 13| 22|22|16 10 15 13 7 8| 5 6 23 2 21 20 4 19 3 1 18|17 14 12 11 0 9| 23|23|17 11 14 12 8 7| 6 5 22 21 2 4 20 3 19 18 1|16 15 13 10 9 0| -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- ^:nA1 = index of the attitude change (a pre-multiply) nA1 steps: ^ For corner cells [# 1:# 8] : Resulting minimum number of output steps in the table partitions above: 0 1 2 3 <:nA2 steps |-- -- -- -- -- -- -- -- -- -- -- -- 0 | 0 | 1 | 2 | 3 | |-- -- --|-- -- --|-- -- --|-- -- --| 1 | 1 | 0,2 | 1,3 | 2 | |-- -- --|-- -- --|-- -- --|-- -- --| 2 | 2 | 1,3 | 0,2 | 1,3 | |-- -- --|-- -- --|-- -- --|-- -- --| 3 | 3 | 2 | 1,3 | 0,2 | -- -- -- -- -- -- -- -- -- -- -- -- ^:nA1 steps For edge cells [# 9:#20] : ...Ref. the MinMoves() table which follows... Resulting minimum number of output steps in the table partitions above: 0 1 2 3 <:nA2 steps |-- -- -- -- -- -- -- -- -- -- -- -- 0 | 0 | 1,*3 | 2,*4 | 3 | |-- -- --|-- -- --|-- -- --|-- -- --| 1 | 1,*3 | 0,2,*4 | 1,*3 | 2,*4 | |-- -- --|-- -- --|-- -- --|-- -- --| 2 | 2,*4 | 1,*3 | 0,2,*4 | 1,3 | |-- -- --|-- -- --|-- -- --|-- -- --| 3 | 3 | 2,*4 | 1,3 | 0,2,*4 | -- -- -- -- -- -- -- -- -- -- -- -- ^:nA1 steps Lo#: original (solved) cell locations An#: net (unsolved) cell attitudes For each Lo# cell, given net attitude An#: {Lo#,An#} => Ln# ...the net location of that specific net attitude change For scoring purposes Set: SC(0:647)%mDis = MinMoves(0:647)