3次元のグラフを作成するには3つの方法があります。
例題4 z=sin x cos y (0≦x,y≦2π)のグラフを作成せよ。
Plot3D[Sin[x] Sin[y],{x,0,2Pi},{y,0,2Pi}]
Plot3D[Sin[x] Sin[y],{x,0,2Pi},{y,0,2Pi},Mesh->False]
x軸y軸z軸の比を一定にする BoxRatios->{1,1,1}
Plot3D[Sin[x] Sin[y],{x,0,2Pi},{y,0,2Pi},BoxRatios->{1,1,1}]
立体図形を細かくして表現する PlotPoint->30 デフォルト値15
例題5 z=sin X cos Y (0≦x,y≦2π)のグラフを立体図形を細かくして作成せよ
Plot3D[Sin[x] Cos[y],{x,0,2Pi},{y,0,2Pi},PlotPoints->30]
Parameterを含んだ立体の作成 ParametricPlot3D[{x(t),y(t),z(t)},{t,始めの値,終わりの値}]
例題6 x=cos t cos u, y=sin t cos u, z=sin u (0≦t≦2π, -π/2≦t≦π/2)のグラフを作成せよ。
ParametricPlot3D[{Cos[t] Cos[u],Sin[t] Cos[u],Sin[u]}, {t,0,Pi},{u,-Pi/2,Pi/2},Boxed->False]
回転体の作図 <<Graphics'SurfaceOfRevolution'のパッケ−ジを最初にロ−ドする。
Mathematicaの最も得意とするグラフィック機能を利用したタイムリ−な問題があったので紹介します。
北海道大学98年度
2.関数のグラフをCとする。
次の問に答えよ。ただし,対数は自然対数とし,eはその底とする。
(1) C上の点AにおけるCの接線が原点O(0,0)を通るものとする。このとき,点Aのx座標を求めよ
(2) Cとx軸で囲まれた図形を、x軸のまわりに1回転して得られる立体の体積を求めよ。
解答
始めにどんなグラフになるのか作成すると
Plot[Sqrt[1-Log[x]^2],{x,1/E,E}, GridLines->Automatic,AspectRatio->1, AxesLabel->{X,Y},PlotRange->{{0,3},{0,3}}]
を微分してx=tにおける接線の方程式を求めると、
…@
この求めた接線を 0.5<t<1の範囲でいろいろ作図してみよう。
Plot[Evaluate[Table[-Log[t]/{t Sqrt[1-Log[t]^2]} {x-t}+Sqrt[1-Log[t]^2], {t,0.5,1,0.05}]],{x,0,E},GridLines->Automatic, AspectRatio->1,AxesLabel->{X,Y}, PlotRange->{{0,3},{0,3}}] Show[%,%%]
今度は、Mathematicaの微分計算機能を利用して接線を表現してみよう。
Mathematicaを利用して導関数を求める1つ方法は、f[x]を定義しておき、f'[x]と入力して導関数を得る方法を用いる。
とおいて導関数を求めると
f[x_]:=Sqrt[1-Log[x]^2]; f'[x] Log[x] -(-------------------) x Sqrt[ 1 - Log[x] 2 ]
f[x_]:=Sqrt[1-Log[x]^2]; p=E^((1-Sqrt[5])/2); g[x_]:=f'[p] (x-p)+f[p]; Plot[{f[x],g[x]},{x,1/E,E}, GridLines->Automatic,AspectRatio->1, AxesLabel->{X,Y},PlotRange->{{0,3},{0,3}}]
(2)は回転体の問題である。Mathematica の3Dグラフィックス機能を利用する。
x軸を中心として回転した曲面の作成であるので、パッケ−ジGraphicsの中のSurfaceOfRevolutionというパッケ−ジをロ−ドする。
<<Graphics`SurfaceOfRevolution` SurfaceOfRevolution[Sqrt[1-Log[x]^2],{x,1/E,E}, {t,Pi,2 Pi},RevolutionAxis->{1,0,0}, ViewPoint->{-1.334,-2.381,2.000}]
Integrate[Pi (1-Log[x]^2),{x,1/E,E}] 4 Pi ---- E
京都大学1998年度後期
3.自然数nに対して、とする。
(1)I2の値を求めよ。
(2)xy平面上で原点からP(x,y)への距離をr、x軸の正の方向と半直線OPのなす弧度法による角をθとする。方程式r=sin2θ(0≦θ≦π/2)で表される曲線を、直線y=xの周りに回転して得られる曲面が囲む立体の体積をVとするとき、V=3πI3+2πI2と表せることを示せ。
解答
(1)は置換積分を使って
t=cosθとおくdt=-sinθdθ
と積分範囲が変わって
と計算できる。
Mathematicaの定積分計算機能Integrate[f[x],{x,a,b}]を利用してみると、
Integrate[Cos[2 x]^2 Sin[x]^3,{x,0,Pi/4}] 38 26 Sqrt[2] --- - ------------- 105 105
Needs["Graphics`Graphics`"] PolarPlot[Sin[2 t],{t,0,2 Pi}, GridLines->Automatic,AspectRatio->Automatic]
今度は、パラメ−タ−tを用いてグラフを作成してみる。
パラメ−タ−tの範囲は、0≦t≦π/2とする。
ParametricPlot[{2 Sin[t] Cos[t]^2,2 Sin[t]^2 Cos[t]}, {t,0,Pi/2},GridLines->Automatic,AspectRatio->Automatic]
<<Graphics`SurfaceOfRevolution` SurfaceOfRevolution[{2 Sin[t] Cos[t]^2, 2 Sin[t]^2 Cos[t]}, {t,0,Pi/4},{p,0,Pi},RevolutionAxis->{1,0,1}]
全体を45度回転して、曲線は
これはx=cos2θ socθ,y=cos2θ sinθとなり