gnuplotで媒介変数表示(parametric)を使ってグラフを描く方法 (円や球、螺旋模様などに)
関数のグラフを描く場合、普通はxの値に対応したyの値をプロットしていきます。
これとは異なる方法で、媒介変数表示(Wikipedia)という表し方があります。円のような曲線をグラフに描く場合の数式の表し方として便利とかなんとか。
この値はそれぞれtrange、urange、vrangeを設定することで変更できます。
(参考 : gnuplotで関数プロットの形がおかしい場合 : samplesの値の設定について)
円を描く関数をちょっと手を加えて三次元に表すようにしています。
もう少し手を加えてみましょう。
その他、gnuplot関連のブログ記事
これとは異なる方法で、媒介変数表示(Wikipedia)という表し方があります。円のような曲線をグラフに描く場合の数式の表し方として便利とかなんとか。
媒介変数表示とは
少し説明してみると、ある変数tがあるとして、このtに対応して- x = cos(t)
- y = sin(t)
gnuplotで媒介変数表示をする方法 (set parametric)
この媒介変数表示をgnuplotで使うには「set parametric」と設定します。これで二次元プロットでは「t」、三次元プロットでは「u, v」の変数を使って媒介変数表示が出来るようになります。三次元の方は2つ変数が使えるのですが、ちょっとイメージし難いですね…。三次元空間に球などを表現する場合に便利なようです。変数のデフォルト値)
またデフォルトではt, u, vの変数の値は[-5:5]となっているようです。この値はそれぞれtrange、urange、vrangeを設定することで変更できます。
samplesの設定
あと円を描いてもややカクカクしたグラフになってしまう場合はsamplesの設定を見直すといいかと思います。(参考 : gnuplotで関数プロットの形がおかしい場合 : samplesの値の設定について)
実際の媒介変数表示のグラフの例
最後にちょっとしたグラフの例を載せておきます。円を描く関数をちょっと手を加えて三次元に表すようにしています。
gnuplot> set parametric
gnuplot> splot sin(u),cos(u),u w p
もう少し手を加えてみましょう。
gnuplot> splot sin(v)/10,cos(v)/10,v w p, sin(v)/5,cos(v)/5,v w p pointtype 2, sin(v)/3,cos(v)/3,v w p, sin(v)/2, cos(v)/2,v w p, sin(v)/1.5, cos(v)/1.5,v w p
その他、gnuplot関連のブログ記事
コメント
コメントを投稿