質問
テリトリーマップを生成する簡単な、または少なくとも適度に単純な方法はありますか(例:危険)?
私は過去に調べましたが、ボロノイ図への漠然とした言及が見つかりました。ボロノイ図の例は次のとおりです。
.
これらは期待できますが、これらをレンダリングする直接的な方法は見たことがないと思います。
有望なもう 1 つのアプローチはフラッド フィルですが、やはりこのアプローチを始めるのに最適な方法がわかりません。
アドバイスをいただければ幸いです。
解決
私がこれまでに見た中で最高のリファレンスは、 計算幾何学:アルゴリズムとアプリケーション, 、ボロノイ図、ドロネー三角形分割 (ボロノイ図に似ており、それぞれを相互に変換できる)、およびその他の同様のデータ構造をカバーしています。
必要なデータ構造についてはすべて説明されていますが、それを実装するために必要なコードは提供されていません (これは良い練習になるかもしれません)。コードに関しては、Amazon で検索すると次の本が表示されます。 C の計算幾何学, これはおそらくコードに付属していると思われます (ただし、C に行き詰まっているので、他のコードを入手して、必要な言語で実装したほうがよいでしょう)。私もこの本を読んだ経験はなく、最初の本だけです。
おすすめの本しかなくてごめんなさい!私が見た中でまともなオンライン リソースはこの 2 つだけです ウィキペディア 記事, これでは実装の詳細はわかりません。 このリンク 役に立つかもしれないけど。
他のヒント
プリミティブ (三角形、四角形) の地図を使用し、国の開始点 (「首都」) を配布し、ランダムに隣接するプリミティブを国に追加して国をランダムに拡大してみてはいかがでしょうか。
CGAL は、計算幾何学で使用されるデータ構造とアルゴリズムを備えた C++ ライブラリです。
実際、私は会社のビデオゲームでまさにこの種のものを扱っています。私が見つけた最も役立つ情報は、次の 2 つのリンクにあります。
ポール・バークUWA の のページ。ドローネに関する 1989 年の論文と一連の実装リンクが含まれています。
あ 擬似コードとビジュアルの素晴らしい説明 codeGuru.com で Delaunay を行うことについて。
これらのレンダリングに関しては、私が見つけた実装のほとんどは、望むものを得るためにマッサージが必要ですが、これをゲーム マップに使用すると、多数のポイントとそれらの間のラインが必要になるため、非常に困難になる可能性があります。これを画面に描画するだけの簡単な作業です。