在7个单独的玩具上混合颜色的算法

Tia*_*Hou 11 algorithm permutation

我是一名木工,试图在这里寻求一些数学和算法帮助.

我正在尝试制作28套七巧板来送亲人,像这样:

在此输入图像描述

DanielHolth + RobotE at nl:Wp [CC BY-SA 3.0(http://creativecommons.org/licenses/by-sa/3.0/)],来自Wikimedia Commons

玩具由7块木板组成,应涂成各种颜色.为了使绘画更容易,我认为最好的方法是将它们分批涂成4组,然后混合它们.

我已经标记了第1-7段,以便更容易讨论:

在此输入图像描述

什么是最有效的混合方式,所以我没有得到相同的颜色组合?我希望礼物尽可能个性化,颜色组合是实现这一目标的好方法.

编辑:每组拼图由七个不同颜色的拼图组成.

Dil*_*vis 7

以某种方式订购你的颜色(比如说R -> G -> B -> Y -> P -> O -> W),然后同样订购你的作品(你已经在照片中做过,1-7).将它们放在一个矩阵中,每个颜色放在一个单独的行上(重复列/块,因为每个将重复4个).让B3表示蓝3一块,O7-橙7等.

     1  2  3  4  5  6  7   1  2  3  4  5  6  7   1  2  3  4  5  6  7   1  2  3  4  5  6  7  
(R)  R1 R2 R3 R4 R5 R6 R7  R1 R2 R3 R4 R5 R6 R7  R1 R2 R3 R4 R5 R6 R7  R1 R2 R3 R4 R5 R6 R7
(G)  G1 G2 G3 G4 G5 G6 G7  G1 G2 G3 G4 G5 G6 G7  G1 G2 G3 G4 G5 G6 G7  G1 G2 G3 G4 G5 G6 G7
(G)  B1 B2 B3 B4 B5 B6 B7  B1 B2 B3 B4 B5 B6 B7  B1 B2 B3 B4 B5 B6 B7  B1 B2 B3 B4 B5 B6 B7
(Y)  Y1 Y2 Y3 Y4 Y5 Y6 Y7  Y1 Y2 Y3 Y4 Y5 Y6 Y7  Y1 Y2 Y3 Y4 Y5 Y6 Y7  Y1 Y2 Y3 Y4 Y5 Y6 Y7
(P)  P1 P2 P3 P4 P5 P6 P7  P1 P2 P3 P4 P5 P6 P7  P1 P2 P3 P4 P5 P6 P7  P1 P2 P3 P4 P5 P6 P7
(O)  O1 O2 O3 O4 O5 O6 O7  O1 O2 O3 O4 O5 O6 O7  O1 O2 O3 O4 O5 O6 O7  O1 O2 O3 O4 O5 O6 O7
(W)  W1 W2 W3 W4 W5 W6 W7  W1 W2 W3 W4 W5 W6 W7  W1 W2 W3 W4 W5 W6 W7  W1 W2 W3 W4 W5 W6 W7
Run Code Online (Sandbox Code Playgroud)

现在,取出左下角的"三角形"碎片.那就是 - 从第一行的开头删除0件,从第二行开始删除1件,从第三行开始删除2件......

     1  2  3  4  5  6  7   1  2  3  4  5  6  7   1  2  3  4  5  6  7   1  2  3  4  5  6  7  
(R)  R1 R2 R3 R4 R5 R6 R7  R1 R2 R3 R4 R5 R6 R7  R1 R2 R3 R4 R5 R6 R7  R1 R2 R3 R4 R5 R6 R7
(G)     G2 G3 G4 G5 G6 G7  G1 G2 G3 G4 G5 G6 G7  G1 G2 G3 G4 G5 G6 G7  G1 G2 G3 G4 G5 G6 G7
(B)        B3 B4 B5 B6 B7  B1 B2 B3 B4 B5 B6 B7  B1 B2 B3 B4 B5 B6 B7  B1 B2 B3 B4 B5 B6 B7
(Y)           Y4 Y5 Y6 Y7  Y1 Y2 Y3 Y4 Y5 Y6 Y7  Y1 Y2 Y3 Y4 Y5 Y6 Y7  Y1 Y2 Y3 Y4 Y5 Y6 Y7
(P)              P5 P6 P7  P1 P2 P3 P4 P5 P6 P7  P1 P2 P3 P4 P5 P6 P7  P1 P2 P3 P4 P5 P6 P7
(O)                 O6 O7  O1 O2 O3 O4 O5 O6 O7  O1 O2 O3 O4 O5 O6 O7  O1 O2 O3 O4 O5 O6 O7
(W)                    W7  W1 W2 W3 W4 W5 W6 W7  W1 W2 W3 W4 W5 W6 W7  W1 W2 W3 W4 W5 W6 W7
Run Code Online (Sandbox Code Playgroud)

然后将这些额外的内容放在相应行的末尾.现在,只需从每一行中取出第一块,然后制作一个新的一组.在它重复之前你可以做7次.为清楚起见,在上面的示例中,您的第一个集合将是R1 G2 B3 Y4 P5 O6 W7第二个集合R2 G3 B4 Y5 P6 O7 W1.

之后,再次重复该过程 - 从第一行中删除0,从第二行中删除1,等等.再次,将附加项移动到其行的末尾,并从每行的第一个元素中绘制7个新集.对于最后两批7组,每组重复此过程两次.每一套都是独一无二的.