直径5なら中心は中央の1セル、直径6なら中央4セルが囲む交点です。どちらも中心に対して対称にできますが、「真ん中に1個置けるか」は異なります。
セルの中心座標で決まる
このツールでは、幅 d の格子に並ぶセルを 0 から d−1 の座標で数えます。中心座標は (d−1)÷2 です。
- 奇数の例:
d=5なら中心は2。座標2のセル中心と一致します。 - 偶数の例:
d=6なら中心は2.5。隣り合う座標2と3の間に来ます。
このツールの円は、中心座標 (cx, cy) と軸半径 (rx, ry) を使い、((x−cx)/rx)² + ((y−cy)/ry)² ≤ 1 を満たすセルを選びます。奇数・偶数で中心座標そのものが変わるので、同じ判定式でも残るセルの並びが異なります。
格子の座標を中心の反対側へ移すときは d−1−x(縦方向は d−1−y)になります。直径5では中心セルが自分自身に重なり、直径6では中央付近の4セルが対になって中心を囲みます。
直径5と直径6のセル図を比べる
..#.. .###. ##### .###. ..#..
中央の1セルが中心に一致。塗りつぶしは13セルです。
...... .####. .####. .####. .####. ......
中心は中央4セルの間。塗りつぶしは16セルです。
どちらの図も、上下左右を入れ替えてもセルの配置が対応します。5と6では中心が違うため、同じ「中心セル」を期待して設計すると見え方がずれます。中央に1セル置く形を求めるなら奇数、中央の4セルを囲む形なら偶数が目安です。
ツールで確かめる手順
- 設計台で形状を「円」にします。
- 直径に5を入れ、中央のセルと個数を確認します。
- 直径を6に変え、中心の位置と配置の変化を比べます。
- 必要ならSVGを書き出し、格子とセルを拡大して確認します。
この計算モジュールの自動テストは、複数の奇数・偶数直径で中心対称性を確認し、真円を90度ずつ回転したセル集合が変わらないことも確認します。ここでいう対称性は格子計算上の性質で、実際のゲームや物理的な施工結果を試験したものではありません。
この例を使うときの注意
図は本サイトの現在の計算方式によるサンプルです。別の円生成器では半径や境界セルの丸め方が異なるため、同じ直径でもセル数が変わることがあります。設計台の入力は1〜101の整数です。
偶数サイズの中心は格子の交点にあり、1つのブロックを中心として指定することはできません。中心に印を置く必要がある設計では、奇数・偶数を決める前に、中央に1セル必要か、中央の4セルを基準にするかを選んでください。