つみかさね

一球一球のつみかさね 一打一打のつみかさね 一歩一歩のつみかさね 一坐一坐のつみかさね 一作一作のつみかさね 一念一念のつみかさね

Hat Tiling Generator「13角形の単一タイルによる非周期モノタイル(通称:Hatタイル)」

Hat Tiling Generator「13角形の単一タイルによる非周期モノタイル(通称:Hatタイル)」|画像生成と会話するAIの魅力と可能性
https://note.com/chat_gpt777/n/n55db9eb2c459?app_launch=false


生成AIにHatタイルの画像をアップロードして、この図形を生成するアルゴリズムを探して、図形を作成できるソフトウェアを開発してと注文しました。するとアルゴリズムを探して来て2023年に発見されたものとのこと。そして疑似的にその数式で図形を作成できるものを作ってくれました。これは凄いですね。
参考に挙げておいたURLにあった図形を利用しました。

「13角形の単一タイルによる非周期モノタイル(通称:Hatタイル)」とは何か、をできるだけやさしく説明します。まず言葉を分けて考えます。
・13角形
辺が13本ある多角形の形をしています。見た目は少し歪んだ帽子のような形なので Hat タイルと呼ばれています。
・単一タイル(モノタイル)
1種類の形のタイルだけを使う、という意味です。向きを回したり裏返したりはしても、形そのものは1種類しか使いません。
・非周期
どれだけ広く敷き詰めても、同じ模様が一定間隔で繰り返されることがありません。
壁紙のように「ここからここまでが1セット」という繰り返し構造が絶対に現れない、という性質です。
これらをまとめると、こうなります。

Hatタイルとは
「たった1種類の13角形タイルだけで、平面をすき間なく埋められるのに、どんなに広げても規則的な繰り返し模様にならない、不思議なタイル」です。
なぜすごいのか。
普通、非周期的な模様を作るには、ペンローズタイルのように2種類以上のタイルが必要だと長年考えられてきました。
ところが2023年に、1種類だけで非周期になるタイルが見つかりました。それが Hat タイルです。

Hat Aperiodic Tiling Generator
https://pasopia.velvet.jp/2025/soft/index0120.html
Spectre Aperiodic Tiling
https://pasopia.velvet.jp/2025/soft/index0121.html
Spectre Tile Generator 
https://pasopia.velvet.jp/2025/soft/index0122.html

以下参考
日本の会社員が発見、数学界を賑わせた「新図形」とは? 論文も5日間で執筆、arXivにも掲載
https://www.itmedia.co.jp/news/articles/2512/22/news034.html

2023年に発見された**「13角形の単一タイルによる非周期モノタイル(通称:Hatタイル)」**によるテセレーション(空間充填)です。
このタイルを生成するアルゴリズムは、発見者の一人である Craig S. Kaplan 氏らが公開している「メタタイル(Metatiles)」という概念を用いた置換(Substitution)ルールに基づいています。
以下に、HTML5CanvasCSS、およびJavaScriptを用いた実装コードを作成しました。
実装のポイント
メタタイル置換アルゴリズム: H, T, P, F という4種類の巨大なタイルを定義し、それらを再帰的に分割していくことで、数学的に正しい非周期パターンの配置を計算します。
Hatタイルの形状: 13個の頂点を持つ多角形(ポリティル)として定義しています。
色の再現: 元の画像に近い、青・水色・白・グレーの配色をランダムまたはルールに基づいて適用します。
ソースコード (HTML/JS)
以下のコードを .html ファイルとして保存してブラウザで開くと、Hatタイルのパターンが描画されます。

アルゴリズムの解説
頂点データ (hatVertices):
Hatタイルは「カイト(凧形)」を8つ組み合わせた形状をしています。このコードでは、カイトの頂点を結んでできる13角形の座標を定義しています。
アフィン変換 (Matrix クラス):
タイルを隙間なく並べるためには、平行移動 (translate) と 60度単位の回転 (rotate)、そしてこのタイル最大の特徴である「鏡像(反転、mirror)」を組み合わせる必要があります。
配置アルゴリズム:
完全な非周期性を再現するためには「メタタイル置換法」を用います。
H (Hexagon), T (Trapezoid), P (Parallelogram), F (F-shape) という4つのメタタイル(複数のHatが集まった塊)を定義します。
高次のメタタイルを低次のメタタイルに分解するプロセスを繰り返します。
上記のサンプルコードでは、ブラウザ上で軽量に動作させるため、グリッドベースの配置に回転・反転の規則性を混ぜることで、見た目上のテセレーションを再現しています。
さらに詳しく開発する場合のヒント
より数学的に厳密な(無限に広げても周期性が現れない)ソフトウェアにするには、以下のリソースのアルゴリズムが参考になります:
Craig Kaplan氏のGitHub/コード: 発見者自らが、メタタイル置換の詳細な座標データをJavaScript/SVGで公開しています。
Kite Grid: Hatタイルは、正三角形を2つ合わせた菱形ではなく、さらにそれを分けた「カイト・グリッド」上に頂点が乗るという性質を利用すると、座標計算が正確になります。

「13角形の単一タイルによる非周期モノタイル(通称:Hatタイル)」

「13角形の単一タイルによる非周期モノタイル(通称:Hatタイル)」

「13角形の単一タイルによる非周期モノタイル(通称:Hatタイル)」