0

最大 19 色を使用して、各色が少なくとも 3 タイルの距離を保つ必要がある 16 進数タイル マップを作成する必要があります。ただし、19 色すべてを使用する必要はありません。この距離の制約を 19 色未満で解決するアルゴリズムが存在する場合、これはまったく問題ありません。

Beckman-Quarles の定理 [1] は関連しているように見え、同じ色のタイルが互いに 2 の距離を保っている 7 色のタイル マップが示されています。

しかし、距離が 3 の 16 進タイル マップを構築するためのわかりやすい説明や実装を見つけるのに苦労しています。

[1] http://de.wikipedia.org/wiki/Satz_von_Beckman_und_Quarles

4

1 に答える 1

1

(i,j)座標のある六角形が に隣接する座標系を設定しましょう(i-1,j), (i-1,j+1), (i,j-1), (i,j+1), (i+1,j-1), (i+1,j)

(0,3)       (2,2)       (4,1)
      (1,2)       (3,1)
(0,2)       (2,1)       (4,0)
      (1,1)       (3,0)
(0,1)       (2,0)
      (1,0)
(0,0)

アスキーアートでコンパクトにヘックスグリッドが描けるようにせん断変換をかけていきます。変換された 7 hex 領域は次のようになります。

**
***
 **

やりたいことは、次の 19 色のレイアウトで平面を並べることです。

ABC
DEFG
HIJKL
 MNOP
  QRS

タイルはこのように組み合わせることができます。

   111
   1111
00011-11
00001111333
00-001113333
 000022233-33
  00022223333555
     22-223335555
      222244455-55
       22244445555
          44-44555
           4444
            444

タイルの中心を でマークしました-(5,-3)これらは、との 2 つのベクトルによって生成されるラティスを形成し(3,2)ます。16 進座標 が与えられると(i,j)、行列方程式を解くことができます (エレガントではありませんが、おそらく)。

[5 -3] [u]   [i]
[3  2] [v] = [j]

有理変数で、次に、近くの整数u, vの 4 つの整数の丸めをすべて試行しu、それぞれ、どのタイルにあるかを決定し、タイルの中心がある場所に適切な色を適用します。vu*v*(i,j)

[5 -3] [u*]
[3  2] [v*].
于 2014-11-24T16:59:55.357 に答える