はじめに
これは POV-Rayによる数学お絵かき入門 Advent Calendar 2017 の1日目の記事です.
今日から25日間に亘ってPOV-Rayの基本的な使い方について書いていきます.
POV-Rayとは
POV-Rayは無料で使えるレイトレーシングソフトです.
早い話が, POV-Rayを使えば例えば次のような画像が作成可能です.
筆者の他の作品は例えば https://giphy.com/channel/hyrodium を参照して下さい.
かの有名なJos LeysさんらによるDimensions(http://www.dimensions-math.org/Dim_JP.htm), Chaos(http://www.chaos-math.org/ja) にもPOV-Rayが使われています.
Jos LeysさんのYouTube Channel(https://www.youtube.com/user/josleys) も必見です.
方針
POV-Rayのドキュメントは公式/非公式に関わらず, ある程度充実しているように思います.
しかし実際の所, これらは網羅的に書かれた公式ドキュメントと単発的に書かれた非公式ドキュメントが大部分であり, 実際のコードの解説はあまり見掛けません.
そこで本連載ではそれらの間を取って
- 網羅的には書かず, 幾つかの項目を取り上げて解説
- 5日毎に作例の提示
- 独自のパッケージなどの紹介
を基本的な方針とします.
第一回では環境構築からHello Worldまでを書きます.
環境構築
ここでは筆者の用意できる環境(Ubuntu16.04, Windows10)について記述します.
他の環境でも同様に環境構築が可能な筈です.
POV-Ray本体
Ubuntu
次でインストールします.
sudo apt install povray
自分でコンパイルしてインストールする場合は次を参照して下さい:
https://github.com/POV-Ray/povray/blob/master/unix/README.md
あるいは次の記事が参考になるかもしれません:
https://qiita.com/oshimaryo/items/ab5b3253c1591e8eafbf
Windows
ここからダウンロードしてインストールします.
http://www.povray.org/download/
Windows版ではPOV-Rayにエディタが付属していますが, 付属エディタはお世辞にも使い易いとは言い難いです.
別のエディタを導入するのが良いでしょう. (後述)
付属エディタを使わない場合はpathを通す必要があります.
標準ではインストール先がC:\Program Files\POV-Ray\v3.7\bin
になっているので, これをpathに通します.
エディタ(Atom)
エディタは各自の好みで構いませんが, ここではAtomを使う事にします.
https://atom.io/
POV-Rayを使うに当って必要なパッケージは以下です.
- atom-language-povray
POV-Rayのシンタックスハイライトをするためのパッケージ.
https://atom.io/packages/atom-language-povray - script
Atom上からPOV-Rayのレンダリングを回すためのパッケージ.
https://atom.io/packages/script
注意点など
- scriptパッケージの代わりにtools-povrayを使う事も可能のようです. (筆者は使っていません): https://atom.io/packages/tools-povray
画像ビューア
LaTeX on Windowsで生成したpdfのビューアーにSumatra pdfが便利だったように, POV-Rayを使う際にも標準とは別の画像ビューアをインストールする方が便利です.
画像ビューアの要件は次です.
- ビューアで開いた際にファイルをロックしない
- 画像の更新を監視して自動で再読み込みする
Ubuntu
Ubuntuの標準の画像ビューアは上要件を満たさないため, 別のアプリケーションをインストールする方が良いです.
お勧めはgThumbです.
次でインストールできます:
sudo apt install gthumb
Windows
OS標準のもので可能かはまだ試していません.
(分かる方居ればコメントに書いてもらえると有り難いです)
以上で環境構築は完了です.
Hello World
実行
次のように書かれたファイルHelloWorld.pov
を用意します.
background{rgb<1,1,1>}
sphere{<0,0,1>,0.2}
あとはCtrl+Shift+B
で実行すれば, 以下のような画像が同ディレクトリ内にHelloWorld.png
として出力されている筈です.
解説
background{rgb 1}
は背景の色を白色に指定します.
sphere{<0,0,1>,0.2}
は座標$(0,0,1)$を中心とする半径$0.2$の球面を配置する命令です.
POV-Rayにはカメラの位置を指定するための命令が存在しますが, ここではその命令を省略しています.
そのため, デフォルトとして座標$(0,0,0)$に置かれたカメラが$(0,0,1)$方向を向いて配置されています.
カメラの設定については第3回でより詳しく解説する予定です.
参考文献
幾つか参考になりそうな文献を挙げます.
- POV-Ray 公式ドキュメント
http://www.povray.org/documentation/3.7.0/ - POV-Wiki
POV-Rayが公式に運営しているwiki.
http://wiki.povray.org/content/Main_Page - POV-Ray 3.5 利用参考マニュアル
バージョン3.5の公式マニュアルの日本語訳.
http://www.arch.oita-u.ac.jp/a-kse/povjp/povjp/ - POV-Ray for Geometry
本連載の内容と比較的近いと思われるテキスト.
http://math.uni.lodz.pl/~maczar/cagir/5.php - POV-Ray実習マニュアル
大黒学さんによるテキスト. 筆者はちゃんと読んでませんが, 130ページに亘って詳しく記述されています.
http://tutorial.jp/graph