円,正多角形の描き方.
円の媒介変数表示は,
x=cos(t)
y=sin(t)
で与えられ,tを0から2πまで変化させれば円が描けます.縦横比は,
綺麗な円になるように,固定しています.tの範囲は,
plotコマンドのオプションで与えています.
gnuplot> set parametric
dummy variable is t for curves, u/v for surfaces
gnuplot> set size square
gnuplot> set xrange [-1:1]
gnuplot> set yrange [-1:1]
gnuplot> plot [0:2*pi] cos(t),sin(t)
|
上の図では,変数tは連続的に変化しているように見えますが,実際
にはtはある頻度で変化し,その変化の程度は set samples
で決まります.defaultは100ですが, set samples 8 とす
れば,gnuplotは0から2πの範囲で8つのtを発生してグラフを表示
し,結果として円は正七角形になります.つまり,正N角形を描きたければ,
set samples N+1とすれば良いことになります.
2次元関数の媒介変数表示は極座標で表示された
関数を表示するのに適しています.2次元極座標では変数として半径
rと偏角thetaが用いられますが,このthetaにパラ
メータtを使います.半径rは角度の関数とし,r(t)
とtを用いると,任意の(x,y)座標は,次式の関係から計算できます.
x=r(t)*cos(t)
y=r(t)*sin(t)
円はr(t)=const.の特殊な例です.円の半径をtに比例するように変
化させれば,渦巻になりますね.
gnuplot> set xrange [-10*pi:10*pi]
gnuplot> set yrange [-10*pi:10*pi]
gnuplot> plot [0:10*pi] t*cos(t),t*sin(t)
|
以下の例はr(t)=const*(1+cos(t))として描かれるCardioidです.
gnuplot> set parametric
dummy variable is t for curves, u/v for surfaces
gnuplot> r(t) = 1+cos(t)
gnuplot> plot [0:2*pi] r(t)*cos(t),r(t)*sin(t)
|