プロが教える店舗&オフィスのセキュリティ対策術

gnuplotで3次元の円の書き方がわかりません。
出来ればプログラムを教えてください!

A 回答 (3件)

こうするとだいぶ球らしく見えます。


gnuplot> set parametric
gnuplot> set size square
gnuplot> set ticslevel 0
gnuplot> splot sin(u)*cos(v) , sin(u)*sin(v) , cos(u)

式は球座標によるものです。
http://ja.wikipedia.org/wiki/%E6%A5%B5%E5%BA%A7% …
上のURLを見てもらえばわかりますが、
x = r sin(θ) cos(Φ)
y = r sin(θ) sin(Φ)
z = r cos(θ)
となっています。
r=1と仮定し、θ=u , Φ=v に置き換えたものがgnuplotに与えた式です。
    • good
    • 0

3次元の円は次のコマンドで書けます。


gnuplot> set parametric
gnuplot> splot cos(u) , sin(u) , 1
この場合、x*x+y*y=1 , z=1 の円です。

3次元の球ならば、次の通り。
gnuplot> set parametric
gnuplot> splot cos(u)*cos(v) , cos(u)*sin(v) , sin(u)
x*x+y*y+z*z=1 の球です。
    • good
    • 0
この回答へのお礼

教えてもらった通りにやったらできました!!
ありがとうございます☆

二つ目のプログラムは何か微妙に楕円に見えるのは気のせいでしょうか?

お手数ですが、「cou(u)*cos(v)」と「cox(u)*sin(v)」は
何を表しているのか教えていただけませんか???

お礼日時:2007/12/10 09:20

う~ん、この質問難しいですねえ。


確かに「gnuplot」関係だと日本語の情報を検索するのが大変です。
そこで、簡単なTipsをお教えいたします。

一番簡単なテはgnuplotを直接使わず、代わりに「Maxima」を使う、ってテです。

「gnuplotなのに何でMaximaと言う別のソフトの話を?」

と思うかもしれませんが、実はMaximaにはgnuplotが同梱されています。
従って、「Maximaで3次元の円」を描こうとすると、そのままデータは内部でgnuplotに渡されているんです。
Maximaの場合、ある描画を行おうとすると、「maxout.gnuplot」と言うテキストデータが生成され、それがgnuplotに手渡されます。試しにMaximaで何か描画コマンドを叩いてみて、Maximaが入ってるフォルダを開いてみてください。「maxout.gnuplot」と言うテキストファイルが「そこにある」と思います。そしてその中に「gnuplotでの描画を行う」コマンドが書かれていると思います。
ここにコピペしよう、と思ったんですが、原則「ドットプロット」で渡されているみたいで、全角800文字と言う制限に引っかかってしまいます(結構原始的な描画方法のようです)。
まあ、いずれにせよ、「Maximaを試して→maxout.gnuplotファイルを調べる」と言うのが現実的なテでしょう。

参考URL:http://phe.phyas.aichi-edu.ac.jp/~cyamauch/maxima/
    • good
    • 0
この回答へのお礼

いろいろと親切に教えてくださいまして、ありがとうございます。
さっそく試してみます!

お礼日時:2007/12/10 09:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!