LoginSignup
5
6

More than 5 years have passed since last update.

地形アルゴリズムの結果をPOVRAYで出力する

Last updated at Posted at 2015-04-01

Diamond-Square Algorithmとは

今回使うのはHunter Loftis氏によるリアルな地形生成アルゴリズム
http://www.playfuljs.com/realistic-terrain-in-130-lines/
130行で地形生成ができると少し前に話題になった。
アルゴリズム自体の解説は上記リンク参照

仕組み

今回のDiamond-Square Algorithmはx-yの平面上にアルゴリズムで生成したheightを使って1*1*heightの四角柱を並べる事で地形を生成する仕組みになっている。
なのでアルゴリズムで生成したあとは並べてライトを置けばそれっぽくなる

生成の手順

POVRAYの旧石器時代のような言語にアルゴリズムを書くのは現実的じゃないので、javascript部分をそのまま利用してそこからpovファイルを生成する。
生成にはMacのScriptEditorを利用する。
アルゴリズム→POVファイル文字列→書き出し→実行
までをjsで行うので、POVRAYをCLIから実行出来るようにしておく必要があった。

コード

githubに置いておきました。
https://github.com/noppefoxwolf/diamond-square-algorithm-to-povray

generated.png

おまけ

オリジナルのように影やISOは実装していないので見栄えが悪い(ライト置いただけ)
ぶっちゃけUnityでやればいい

5
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6