続: パーフェクトシャッフルは何回で元に戻るか

半年前に作ったパーフェクトシャッフルは何回で元に戻るか

を円形にしたい。


できた。


30枚のカードに「半分に分けて互い違いに組み合わせる」というシャッフルを5回すると元の並びに戻る、という図。

abcdefって6枚のカードがあったら、まず半分に分けて abc, def それから交互に組み合わせて daebfc にする、というシャッフルね。

シャッフルのたびに、1枚目は2枚目になり、2枚目は4枚目になり、4枚目は8枚目になり、8枚目は16枚目になり、16枚目は半分に分けたときに後半の1枚目なので次のシャッフルで1枚目に戻ってくる。5回。

3枚目は6枚目になり、6枚目は12枚目になり、12枚目は24枚目になり、24枚目は後半の9枚目だから17枚目になり、17枚目は後半の2枚目だから3枚目に戻ってくる。やはり5回。

他のカードに関しても同様に成り立つんだけども説明は省略。


Q&A

@atusi 綺麗過ぎる、これ2D?
@nishio 2D。C++で実装して2次元の配列にかきかきして、直接PNGで出力

@taichino 30枚と、周期が5というのを何らかの数式にマッピングしたという話ですか?うーん。でも色が何を示しているのかわからないす。
@nishio 30枚のカードに虹色に色を塗って、最初は虹色に並んでいる(X軸方向)のを1回シャッフルすると互い違いになって(反時計回りに1/5周の部分)それを5回繰り返すと元に戻る、って感じです。
@taichino なるほど、数式ありきではなくて、事象入りで、それを自然に美しく表現できる幾何模様を生成されたという認識でいいんですか。
@nishio はい、数式は曲線にするためにcosを使っている程度ですね。「シャッフルを繰り返すと戻る」って現象を表現しようとしてこうなりました