Julia(Plots)でパラメータ付けられた曲面を描く方法

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

今回は、Julia(Plots)でパラメータ付けられた曲面を描く方法を紹介します。

前提知識:曲面のパラメータ表示、曲面積、球座標(3次元極座標)とは?

 

準備

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

準備として、以下のコードを実行しておきます。

 

パラメータ付けられた曲面を描く方法

半径1の球面のパラメータ表示は

\[ \begin{aligned}x=\sin \theta \cos\phi ,y= \sin \theta \sin \phi,z=  \cos \theta\end{aligned} \]

、\(0\leq \theta \leq \pi , 0 \leq \phi < 2\pi\)です。これを描いてみましょう。

パラメータ\(\theta ,\phi\)を、\(n\)分割した点において値を計算します。\(x,y,z\)は、各\(\theta, \phi\)における値を集めた配列です。それらを「surface」によって描く、という流れになっています。

 

球面のパラメータ表示を、特定の方向へ拡大縮小すれば、楕円体となります。

 

円筒を描くには、\(x= \phi\)、\(y= \cos \theta, \, z= \sin \theta\)のようにすれば良いです。

 

トーラス(ドーナツ型の図形)は、

\[ \begin{aligned}x=(R+r\cos u)\cos v\end{aligned} \]

\[ \begin{aligned}y=(R+r\cos u)\sin v\end{aligned} \]

\[ \begin{aligned}z=r \sin u\end{aligned} \]

\[ \begin{aligned}0 \leq u,v < 2\pi\end{aligned} \]

と表せます。\(r\)が管の太さ、\(R\)がトーラス全体の中心から管の中心への距離です。

 

以上、Julia(SymPy)でパラメータ付けられた曲面を描く方法を紹介してきました。

曲面を手描きするのは難しいので、コンピュータで描けると嬉しいですね。

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

 

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

 

こちらもおすすめ

Julia(SymPy)でパラメータ付けられた曲線(平面、空間)を描く方法

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