http://lifehack.skytips.xyz/wp/2016/09/18/%E3%81%95%E3%81%8F%E3%82%89%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%8D%E3%83%83%E3%83%88%E3%82%B9%E3%82%BF%E3%83%B3%E3%83%80%E3%83%BC%E3%83%89%E3%83%97%E3%83%A9%E3%83%B3%E3%81%A7fracgen%E3%82%92/
これの続き。
ダウンロードしたアーカイブには使い方どころかコンパイル方法についても記述されていない。
fractal-commands.txtにオプション例が示されているので、これを参考にするか、Main.cppを直接見る必要がある。
fractal-commands.txtの内容は以下の通り。
-x-1.35:0 -s1680:1050 -f*:0.15 -k-0.8:0.1579 -c0,0,0,1 -c90,0,0,75 -c237,196,143,250 -c0,0,0,500 -c255,255,255,2500 -n2500 -ojulia.pbm --julia --antialias -x0:0 -s1680:1050 -f*:0.15 -k0.9:0.01 -c198,48,219,1 -c198,48,219,2 -c198,48,219,3 -n75 -onewton.pbm --newton --antialias -x-0.2:0.0275 -s1600:1200 -f*:0.008 -k0.9:0.01 -c198,48,219,1 -n150 -onewton.pbm --newton --antialias -x-0.74154:-0.1574665 -s1680:1050 -f*:0.0000275 -k-1:0.01 -c221,233,244,1:100 -c0,25,49,25:125 -c140,198,255,50:150 -c44,98,155,75:175 -c221,233,244,100 -c255,255,255,1500 -n1500 -omandelbrot.pbm --mandelbrot --antialias
ちなみにfractal-commands.txtのオプション中にはアスタリスクが含まれているため、シェルによってはクオートなどで囲う必要がある。
./fracgen -x-0.2:0.0275 -s1600:1200 '-f*:0.008' -k0.9:0.01 -c198,48,219,1 -n150 -onewton.pbm --newton --antialias
結構結果の計算には時間がかかります。
また出力はpbmファイルなので、必要であればimagemagickのconvertでpng形式等に変換しよう
convert newton.pbm newton.png
オプション
Main.cppから読み取ったオプションについての備忘録。
アンチエイリアス
-antialias
アンチエイリアスをかける。引数なし。
fractalの種類
-julia
-mandelbrot
-newton
以上の3つのいずれか。引数なし。
アウトプットファイル名
-o
アウトプットファイル名。形式はpbm
例) -oNewton.pbm
-c
色。引数は4つ。RGBI(Red, Green, Blue, Intensity)。複数指定可能。
例) -c237,196,143,250
範囲・サイズ
-f
フラクタルサイズ。
例) -f*:0.008
-i
虚数範囲。
-r
実数範囲。
例) -0.2:0.0275
-s
画像サイズ。
例) -s1680:1050
-x
センターの位置
例) -x-0.2:0.0275
定数
-k
フラクタル固有の定数?引数は2つ。
例) -k-1:0.01
-n
反復回数。引数は1つ。
例) -n150
-t
スレッド。詳細不明。