マスマティカを使うと、色々な数学的図形を描くことができる。たとえば、「mathematica 3D graphics」で検索すると様々な3D画像が出てくる。ここでは、基礎的な3D画像の書き方を学ぶ。
課題1
表面プロット。Plot3D[関数, {xの範囲}, {yの範囲}, PlotRange ->{zの範囲}]を使う。
a) Sin[x*y]を{x, 0, 3}, {y, 0, 3}の範囲で、表面プロットしてみる。
b) 三次元プロットの図は、マウス長押し状態でぐりぐり動かすことができるので、やってみよう。
c) Exp[-x^2]*Exp[-y^2]を{x, -2, 2}, {y, -2, 2}, PlotRange -> {0, 1}の範囲で、表面プロットしてみる。
d1) 10*Sin[x + Sin[y]]を {x, -10, 10}, {y, -10, 10}の範囲で、表面プロットしてみる。
d2) Mesh -> FalseとMesh -> Allで、メッシュを付けたり、けしたりしてみる。
d3) PlotRange->{初期値、最終値}を使い、z軸の範囲を変えてみる。たとえば、PlotRange -> {-4, 4}
課題2
多面体を描こう。
a)PolyhedronData["…hedron" ]を使って、Tetrahedron、Hexahedron、Octahedron、Dodecahedron、Icosahedronなどを描こう。
b) PentagonalHexecontahedronを描いてみよう。
c) Show[ ]の中にPolyhedronData["Dodecahedron"]、PolyhedronData["Icosahedron"]、PolyhedronData["Octahedron"]等を入れて、PlotRange ->{zの範囲}]を指定してみる。たとえば、PlotRange -> {-0.8, 0.4}にしてみる。
課題3
3次元プロット。ParametricPlot3D[{fx(t, u), fy(t, u), fz(t, u)}, {t, 初期値, 最終値}, {u, 初期値, 最終値}]を使う。
a) 以下の関数を使い、円柱を描こう。tの範囲は0から2*Pi、uの範囲は0から4とする。
x=Sin[t]
y=Cos[t]
z=u
b) 以下の関数を使い、円錐を描こう。tの範囲は0から2*Pi、uの範囲は0から4とする。
x=u*Sin[t]
y=u*Cos[t]
z=2*u
c) 以下の関数を使い、螺旋を描こう。tの範囲は0から15、uの範囲は-1から1とする。ただし、解像度をあげるため、PlotPoints ->
40とする。
x=u*Sin[t]
y=u*Cos[t]
z=t/3
課題4
a) 以下の関数を使い、球を描こう。tの範囲は0から2*Pi、uの範囲は0から2*Piとする。
x=Cos[t]*Cos[u]
y=Sin[t]*Cos[u]
z=Sin[u]
b) 以下の関数を使い、潰れた楕円球を描こう。tの範囲は0から2*Pi、uの範囲は0から2*Piとする。
x=2*Cos[t]*Cos[u]
y=2*Sin[t]*Cos[u]
z=Sin[u]
c) 以下の関数を使い、縦長の楕円球を描こう。tの範囲は0から2*Pi、uの範囲は0から2*Piとする。
x=Cos[t]*Cos[u]/2
y=Sin[t]*Cos[u]/2
z=Sin[u]
d) 以下の関数を使い、トーラスを描こう。tの範囲は0から2*Pi、uの範囲は0から2*Piとする。
x=Cos[t]*(3 + Cos[u])
y=Sin[t]*(3 + Cos[u])
z=Sin[u]
課題5
a) 以下の関数を使い、堤太鼓のような、砂時計のような図形を描いてみよう。tの範囲は-Pi/2からPi/2、uの範囲は0から2*Piとする。
x=Sin[t]
y=Sin[2*t]*Sin[u]
z=Sin[2*t]*Cos[u]
b) 以下の関数を使い、ぐるぐる巻きの円柱を描いてみよう。tの範囲は0から2*Pi、uの範囲は0から10*Piとする。
x=(5 + 1.2*Cos[t])*Cos[u]
y=(5 + 1.2*Cos[t])*Sin[u]
z=1.2*Sin[t] + 0.5*u
このままだと解像度が悪いので、PlotPoints -> {20, 40}と点の数を増やす。
c) 以下の2つの関数を使い、トーラスと円柱をを描き、重ねてみよう。このとき、ParametricPlot3D[{{トーラスの関数}, {円柱の関数}},
{t, 初期値, 最終値}, {u, 初期値, 最終値}]とする。tの範囲は0から2*Pi、uの範囲は-PiからPiとする。
トーラス:
x=Cos[t]*(3 + Cos[u])
y=Sin[t]*(3 + Cos[u])
z=Sin[u]
円柱:
x=Sin[t]
y=2*u
z=Cos[t]
課題はマスマティカのファイル(拡張子が.nb)を添付して送ってください。
結果のみではなく、コマンドそのものも送ること。
完成したら、ファイルをメールに添付して提出すること。
送り先:ynagasaあっとfc.ritsumei.ac.jp