〔前の画面〕
〔クリックポイント〕 〔最新の一覧〕
〔全て読んだことにする〕〔全て読んだことにして終了〕 〔終了〕
2010/2/16(火)09:58 - 竹の - nolm01.iee.niit.ac.jp - 1157 hit(s)
もう一つの別解として、実数部分の map グラフと虚数部分の map グラフから
それぞれ Hue と Value の値を取り出して重ね合わせた画像を作成する、
という手もあるでしょう。
ppm 画像フォーマット (P6 のバイナリの方) はそれほど難しくありませんか
ら、ppm 画像形式に一旦変換した上でそれぞれの画像をピクセル毎に Hue と
Value を取り出して、それを RGB に変換して書き出す、というプログラムを
書くのはそれほど難しくないと思います (残念ながら netpbm にはそういう
ツールはなさそうです)。
ppm 画像形式の仕様については man ppm (netpbm が入ってるとして) をみれ
ば分かるでしょうし、HSV と RGB の変換については例えば Wikipedia の
「HSV色空間」の項目に書いてあります。
ただし、白黒は HSV では S=0 に相当するので、常に 1 とはせずに、実数部
分の原画像が R==G==B の場所 (グラフ領域の外) では S=0 とする必要があ
ります。
この方法なら gnuplot-4.0 でも大丈夫です。
この場合、手順は例えば以下のようになります。
----- ここから ------
set term png
set out 'file-re.png'
set pm3d map
unset colorbox
set xrange [-1:1]
set yrange [-1:1]
set palette model HSV functions gray,1,1 # Hue 画像の作成
set zrange [-1:1]
set samples 100
set isosamples 100
splot x*x-y*y
set out
set out 'file-im.png'
set palette model HSV functions 1,1,gray # Value 画像の作成
set zrange [-2:2]
splot 2.0*x*y
set out
! pngtopnm file-re.png > file-re.ppm
! pngtopnm file-im.png > file-im.ppm
! ./hsvtoppm file-re.ppm -v1.0 file-im.ppm | ppmquant 256 | ppmtogif > file.gif
----- ここまで -----
hsvtoppm というのが H,S,V 用の PPM ファイルを重ね合わせるプログラム
で、ファイル名の代わりに -v[値] とするとその値をファイルの代わりに
HSV の値とするようにしてあります (出力は標準出力)。
実際、上のサンプルを作ってみました (gnuplot-4.0 を使用)。
http://takeno.iee.niit.ac.jp/~shige/unix/gnuplot/data/z2hsvtest2.gif
gnuplot のスクリプトが楽になることと、gnuplot-4.0 でも可能なのがメリ
ットですが、hsvtoppm 相当のプログラムを作る必要があります。
# そういうフリーのソフトってありますかね
〔ツリー構成〕
┣【2191】 re(7):複素数データの表示 2010/2/16(火)09:58 竹の (1923) |
〔前の画面〕
〔クリックポイント〕 〔最新の一覧〕
〔全て読んだことにする〕〔全て読んだことにして終了〕 〔終了〕
※ 『クリックポイント』とは一覧上から読み始めた地点を指し、ツリー上の記事を巡回しても、その位置に戻ることができます.