プロフィール

kazutabakun

Author:kazutabakun
好奇心旺盛でいろいろなことに興味を持つタイプ。

最新記事
Amazon
時計
最新コメント
最新トラックバック
カテゴリ
月別アーカイブ
FC2ブログランキング
気に入ったら下記をクリックしてください。

FC2Blog Ranking

検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

グラフ描画ソフトで三次元グラフを書いてみよう。3D Graph Plot Work

2010年10月のこのブログで統計ソフト"R"やエクセルを使って三次元グラフを描いた記事を載せましたが、その後いろいろ他にいいソフトがないか探していました。色々見つかったので、ここで紹介したいと思います。

まず筆頭に思い浮かんだのは老舗のWalfram Researchから販売されている Mathematica という数理解析ソフトです。グラフの描画は沢山ある機能ほんの一つですが、結構綺麗な描画をしますね。ポストスクリプト対応のファイルも作れますし、科学論文記述のLaTeX言語にも対応しています。URL:Wolfram Research: Mathematica

ただこのソフトは数学、科学分野にとどまらず経済やその他の数理解析分野にも使われる高性能なソフトなので、何分お値段がめっぽう高く、たんに趣味で数式をグラフにしてというような用途には全くもったいない限りです。
しかし、うまい具合にグラフ描画の雰囲気を味合う事の出来るWalframのサイトがあり、そこで少しばかりMathematicaの描画を経験することができます。URL: Mathematica3DPlot

早速前回と同じ数式のグラフをこのサイト上で書いてみましょう。下図がその結果です。
Mathematica x^2-y^2

同じくGnuplotをいうUNIXベースのソフト(こちらはFree)では、下記のようなグラフが出来上がります。GnuplotはMaximaという上記のMathematicaに劣らないソフトの環境下でグラフを書く役割を担っています。このMaximaもフリーなのがうれしいですね。ただしコマンドを対話形式の画面に入力しなければなりません。
Gnuplot x^2-y^2

入力したコードは、
スクリーンショット 2012-11-26 1.39.04
もう一つ、実はMaxのOSXにすでに標準装備されているGrapherというソフトがあります。これはとくに難しいプログラムを組むこともなく式をそのままグラフに入力するだけで描くという優れものでした。その結果は、下図のようになりました。OSXのMacを購入すればすぐ使えます。
Grapher x^2-y^2

さて感触として一番使い勝手がよさそうだったGrapherを使用してトーラス型のグラフを二種類描きました。
一つ目は鎖状につながったトーラス。二つ目は同じ同心円上に太さの違うトーラスを重ねたグラフです。
Chained Tri (Blog)
上記のグラフはGrapherに下記の式を入力して描いた物です。

縦方向のトーラスの式:



横方向のトーラスの式、



Aはトーラスの原点からのx軸上の距離をあらわします。この数字を適当に調節するとx軸方向にトーラスが移動しますので鎖状の形状になった絵をうまく描くことができます。"t"と"u"は媒介係数で通常は の範囲であらわされます。
Co-axied Tri (Blog)

上記の図もトーラスの式を使っていますが、太さと"t"と"u"の角度を変化させて中の構造を見せるように工夫しています。このグラフを描くのに5セットの式を使いました。
このグラフに使った式は:


このグラフの作成に使用した方程式の各種パラメータを下表に示します。
Co-axis Parameter

Grapherではアニメーションもつくれます。下の動画参照。



何れにしても重要なのはグラフをあらわす式を見つけることで、そうでなければこれらのソフトを使うことができません。

またGrapherには面白い機能もあります。関数を微分したり、積分したりすることができてその結果をグラフにあらわすことができます。簡単な関数の例を示します。
Grapher 微分積分
積分はロンバーグ法で計算しているそうです。変数xが0以上の範囲においてはうまく積分計算が出来ているようですが、xの負の部分は規定をしていませんので曲線の形状が少しおかしくなっています。
ちなみにこれら三角関数の微分、積分を解析的に解くと:

1)導関数(微分):定義から

三角関数の加法定理から、次の式を使います。

上記の定義式の分子を変形していきます。

これを微分の定義式に代入して、下記のような導関数を求めました。

つまり
ここで を使いました。

2)積分の解法:少しはしょりますが、

このようになります。

昨年このブログでこのような数値計算をEXCELでトライしました。URLEXCELで積分の計算もしてみましょうか

中学生の頃、オシロスコープに正弦波を入力してリサージュ図形などを作って遊んでいましたがGrapherでも簡単に描けます。
使用した式はです。ちなみにこれ位だとEXCELの散布図を使っても同じグラフが描けます(下図右側)。

Grapher リサージュExcelレサージュ2



まだまだ勉強の余地はありそうです。今継続して書こうとしている相対論の記述などをこれらのアプリケーションを使って更にうまく表現できるかもしれません。相対論と量子力学の融合をはかったペンローズのツイスターなども描いてみたいですね。





スポンサーサイト

Comment

非公開コメント