今回はxy直交座標系と異なる極座標、円筒座標、球座標系でプロットする方法について紹介する。
1. 極座標系
前回までにパラメトリックプロットを紹介したが、今回は極座標系で具体的にはr=f(θ)と表せるような関数をプロットする。
極座標系を使用するには以下のようにset polarとすると変数t (θに相当)が設定される。
set polar >dummy variable is t for curves
例えばカージオイド曲線
をプロットするには
plot 1+cos(t)
少し書式(レンジ・アスペクト比)を整える必要はあるが、極座標プロットはできている。
2. 円筒座標系/球座標系
3次元での円筒座標系を扱うこともできる。まずset mapping cylidricalとすることで3次元空間を円筒座標系として取り扱う。さらに角度パラメータφを扱うためset parametricとしてパラメトリックモードにする。円筒を描画するには
をプロットする。
set mapping cylidrical set parametric set isosamples 40 splot cos(u),sin(u),v
以下のように円筒座標系でプロットすることができる。φはu, zはvに対応している。

円筒座標系と同じ要領で球座標系でプロットする。set mapping sphericalとすることで3次元空間を球座標系にして、set parametricとしてパラメトリックモードにする。
球座標系で球を描画するには
set mapping spherical set parametric set isosamples 40 splot cos(u)*cos(v),cos(u)*sin(v),sin(u)
以下のように円筒座標系でプロットすることができる。θはu,φはvに対応している。

xyzのスケールが等しくないため、球がつぶれてみえてしまう。そこでset view equal xyzでxyzのアスペクト比を等しくし、さらにxy面と球の下端が揃うようにset ticslevel 0とする。
set view equal xyz set ticslevel 0
以下のように球を正しく描画することができる。

3. まとめ
今回はgnupotを用いて極座標、円筒座標、球座標系でプロットする方法を紹介した。
