Julia(Plotly)でグリグリ動かせる3Dグラフを作る方法

どうも、木村(@kimu3_slime)です。

今回は、Julia(Plotly)でグリグリ動かせるインタラクティブな3Dグラフを作る方法を紹介します。

 



準備

PlotsとPlotlyJSを使うので、持っていなければインストールしておきましょう。

 

グラフを描く準備として、以下のコードを実行します。

これによって、PlotsとPlotlyJSが動くようになります。

僕の環境だと「The WebIO Jupyter extension was not detected. See the WebIO Jupyter integration documentation for more information. 」というメッセージが出ますが、以降の実行には影響がありませんでした。

 

2変数関数の3Dグラフ

例として、いくつかの2変数関数の3Dグラフを描いてみましょう。

\[ \begin{aligned}f(x,y)=x^2+y^2\end{aligned} \]

「range」は描写する範囲の指定です。\(x,y\)ともに-5から5まで、300分割して値を取ることにします。

「surface(x, y, f)」によって、3D曲面のグラフが描けます。他の文字列はオプションです。

スクロールによって拡大縮小、ドラッグで回転ができます。

 

「wireframe」によって、網掛けのグラフが作れます。

「contour」によって、等高線が描けます。

 

他の例も同様にして描くことができます。

\[ \begin{aligned}f(x,y)=x^2-y^2\end{aligned} \]

 

\[ \begin{aligned}f(x,y)=xy\end{aligned} \]

 

最後に、

\[ \begin{aligned}f(x,y)=x^2+y^2\end{aligned} \]

に\((1,1)\)における接平面

\[ \begin{aligned}g(x,y)=2(x-1)+2(y-1)+2\end{aligned} \]

を合わせたグラフを描いてみましょう。

「surface!」を使うことで、グラフを重ねて描くことができます。

回転させると、ちょうど接しているのがよくわかります。

 

以上、Julia(Plotly)でグリグリ動かせる3Dグラフを作る方法を紹介してきました。

インタラクティブな3Dグラフを作るために、これまで僕はgnuplotを利用していました。

今回の方法ならば、Juliaでも同じくらいの簡単さで3Dグラフが作って触れます。2変数関数の理解には、3Dグラフを自分で触ってみるのが最初の一歩としてとても良いです。ぜひこの方法を試してみてはいかがでしょうか。

木村すらいむ(@kimu3_slime)でした。ではでは。

 

1から始める Juliaプログラミング
進藤 裕之(著), 佐藤 建太(著)
コロナ社 (2020-03-26T00:00:01Z)
5つ星のうち4.5
¥7,353 (コレクター商品)

 

こちらもおすすめ

2変数関数と偏微分:グラフ、接平面を描いてみよう