10話から12話まで見ました。
また一挙に3話分見てしまったな。
目が離せない展開ですね。
なんか、飄々としてると思っていた主人公たちが、実はかなりヘビーなバックグラウンドを持っていたという。
しきりに出てきていた95という番号はもしかして1995年のことなんでしょうか。
まぁ、色々とやってると色々と発見があるわけで。
この前までわざわざperlで楕円の座標を計算して、それをファイルに吐いてからgnuplotに食わせていたんですよ。
use strict;# おまじない
my $pi=acos(-1.0); # 円周率
my $theta=30.0*$pi/180.0; # 30度回転
my $majorax=10.0; # 長半径10
my $minorax=7.0; # 短半径7
my $r11=cos($theta); # 回転行列
my $r12=sin($theta);
my $r21=-sin($theta);
my $r22=cos($theta);
my $delta=2*$pi/80;
my $tempfile="temp.txt"; # 出力ファイル名
open my $TMP, "<","$tempfile" or die "open error"; #ファイルオープン
for(my $i=0;$i<81;$i++){
my $angle=$i*$delta;
my $x=$majorax*cos($angle); # 回転なしの楕円座標x
my $y=$minorax*sin($angle); # 回転なしの楕円座標y
my $xdash=$r11*$x+$r12*$y; # 座標の回転
my $ydash=$r21*$x+$r22*$y;
my @coord=($xdash,$ydash);
print $TMP join(",",@coord) . "¥n"; # カンマ区切りで出力
}
close $TMP; #ファイルクローズ
これでtemp.txtに座標が入るから、あとは次のgnuplotのスクリプトを食わせる処理を追加すればいい。
set termnal png
set out "elips.png"
set datafile separator ","
plot "temp.txt" using using 1:2
ええっと、ちゃんとスクリプトが動作するかどうか確認してないです。大体、こんなようなところのものな処理で。
すみません。動かない人は適当にググればいくらでも出てきますので、そちらを参照のこと ^^;;
で、言いたかったのはそういうことじゃなくて、なんか直接楕円を描くようなコマンドがgnuplotにあるようで。
がーん。
ParametricPlot 関数で媒介変数表示の曲線を描けるし、PolarPlot関数で極座標表示の曲線が引けるようです。
というか、plotコマンドでwith elipsesとしてさらにパラメーターを適当に与えれば楕円が描けてしまうようです。(少なくともver4.6のマニュアルにはそう書いてあった。)
色々と知らないとかなり遠まわりしてしまうものなのですね。