Wolfram Research製品ご購入サービスとリソース会社概要その他のWolframサイト
Mathematica >

パラメトリックプロット

「基本的なプロット」では,Mathematica を使いどうy 座標をx 座標の関数としてプロットし,曲線を生成するかを説明している.Mathematica を使いパラメトリックプロットを行うことも可能である.パラメトリックプロットでは,各点のxy 座標は,ともに第3のパラメータ,例えば,t に依存した関数x (t)y (t)として与えられる.
ParametricPlot[{fx,fy},{t,tmin,tmax}]
パラメトリックプロットを行う
ParametricPlot[{{fx,fy},{gx,gy},...},{t,tmin,tmax}]
複数のパラメトリック曲線を同一領域にプロットする

パラメトリックプロット用の関数

各プロット点のx 座標をSin[t]とし,y 座標をSin[2t]とした曲線をプロットする.
In[1]:=
Click for copyable input
Out[1]=
ParametricPlot3D[{fx,fy,fz},{t,tmin,tmax}]
3D曲線をパラメトリックプロットする
ParametricPlot3D[{fx,fy,fz},{t,tmin,tmax},{u,umin,umax}]
3D曲面をパラメトリックプロットする
ParametricPlot3D[{{fx,fy,fz},{gx,gy,gz},...},...]
複数のパラメトリック曲線を一括してプロットする

3Dパラメトリックプロット

3Dパラメトリックプロットで使うParametricPlot3D[{fx, fy, fz}, {t, tmin, tmax}]は,2次元のParametricPlot[{fx, fy}, {t, tmin, tmax}]に準じている.また,どちらの次元のプロットでも,パラメータt を変化させることでプロット点が生成され,また,それらの点が結ばれることで曲線が形成される.ParametricPlotなら,曲線は2次元だし,ParametricPlot3Dなら,3次元である.
パラメトリックプロットでらせん状の曲線を作る.tを変化させることでx, y 平面上の回転運動と,z 方向の直線運動を作り出している.
In[2]:=
Click for copyable input
Out[2]=
ParametricPlot3D[{fx, fy, fz}, {t, tmin, tmax}, {u, umin, umax}]を使うと,形成されるのは3Dの曲面で,曲線ではない.曲面は四辺形の面要素で構成され,四辺形の各頂点は,等間隔の格子上でtu が取る値において決定されるfi の各値に対応した座標を持つ.
プロットされる四辺形のx, y 座標は,単にt, uで置き換えたものである.したがって,Plot3Dで生成されるものと同種の曲面プロットが得られる.
In[3]:=
Click for copyable input
Out[3]=
これは,前のものとほとんど同じだが,1つ違いがある.y の式を2次曲線としたのでプロットがy 方向に歪んでしまった.
In[4]:=
Click for copyable input
Out[4]=
上でプロットしたらせん状曲線をもとに,らせん状の曲面を作ってみる.曲線の各点で四辺形を描いていくことで曲面を形成する.
In[5]:=
Click for copyable input
Out[5]=
ParametricPlot3Dをうまく使えば,複雑に入り組んだ構造の曲面を作ることができる.このような曲面の形成の仕方は,t, u 平面を「歪めたり」,「丸めたり」して行うものととらえると分かりやすいかもしれない.
円筒形の曲面を作る.パラメータtを変化させることで,x, y 平面に円を描き,z 方向に円を移動させる.
In[6]:=
Click for copyable input
Out[6]=
ドーナツ状の曲面(トーラス)を作る.uを変化させることで円を描き,tを変化させることで円をz 軸中心に回転させる.
In[7]:=
Click for copyable input
Out[7]=
最後に,球を作ってみる.
In[8]:=
Click for copyable input
Out[8]=
ParametricPlot3Dで曲面プロットをするときは,特に,パラメータとして適切な変数を選択することが大切である.また,パラメータを変化させていったときプロット面が部分的にでも複数回に渡って描画されないように注意しなければいけない.同じ点を何回もプロットするとメッシュが部分的に途切れてしまうことがあるし,また,プロットを完了するのに余計な時間がかかってしまう.