第2章 Mathematicaでグラフィックスを
Mathematicaで2次元のグラフを作成するのには3つの方法があります。
Plot[Sin[x],{x,-2Pi,2Pi}]
例題2 x=cos t,y=sin t(0≦t≦2π)のグラフを作成せよ。
ParametricPlot[{Cos[t],Sin[t]},{t,0,2Pi}, AspectRatio->Automatic, Axes->False, PlotStyle->{Thickness[0.0002]}]
例題3 原点中心、半径2の円盤を作成せよ。
Show[Graphics[Disk[{0,0},2]], Axes->True,GridLines->Automatic, AspectRatio->Automatic, PlotRange->{{-6,6},{-4,8}},AxesLabel->{X,Y}]
北海道大学98年度
1.中心がそれぞれ、(−2、0)、(2、0)である半径1の円A、Bを考える。円CがAを含み、Bの外側にあり、しかも、A,Bの両方に接しながら動くとき、次の問に答えよ。
(1)円Cの中心の軌跡を求めよ。
(2)円Cが直線y=2に接するとき、Cの半径を求めよ。
解答
(1)Cの中心をP,半径をr,Q(-2、0)、R(2、0)とする。
AがCに内接し、BがCに外接するので、 PQ=r-1、PR=r+1より
PR-PQ=2 従ってPの軌跡は双曲線になり
x<0
これをMathematicaを利用して作図すると
Module[{A,B,cir}, A={Circle[{-2,0},1]}; B={Circle[{2,0},1]}; c[t_]:=Circle[{t,Sqrt[3 t^2-3]},1+Sqrt[4 t^2+4 t+1]]; L[t_]:={Dashing[{0.01}],Line[{{2,0}, {t,Sqrt[3 t^2-3]},{-2,0}}]}; Show[Graphics[{A,B,c[-1.5],L[-1.5]}, Axes->True,PlotRange->{{-7,7},{-7,7}}, GridLines->Automatic,AspectRatio->Automatic]]]
Plot[{Sqrt[3 x^2-3],-Sqrt[3 x^2-3]},{x,-3,-1}, GridLines->Automatic,AspectRatio->Automatic, PlotRange->{{-7,7},{-7,7}}]
これらの2つのグラフを合成してみると
Show[%,%%]
これらの条件を満たす円を1つの座標軸上に重ねて表示してみるとどうなるのか考えてみましょう。
Module[{A,B,C,L}, A={Circle[{-2,0},1]}; B={Circle[{2,0},1]}; c[t_]:=Circle[{t,Sqrt[3 t^2-3]},1+Sqrt[4 t^2+4 t+1]]; L[t_]:={Dashing[{0.01}],Line[{{2,0},{t,Sqrt[3 t^2-3]}, {-2,0}}]}; C=Table[c[t],{t,-3,-1,0.25}]; L=Table[L[t],{t,-3,-1,0.25}]; Show[Graphics[{A,B,C,L},Axes->True, PlotRange->{{-7,7},{-7,7}}, GridLines->Automatic,AspectRatio->Automatic]]]
さらにアニメ−ションを利用して動きのあるグラフィックを作成することも可能である。
(2)CがAを内部に含むので、Cがy=2に接する時、Pはy=2の下側に存在する。
P(x,y)とおくと、r=2-y、PQ=r-1より
を双曲線 へ代入しxについて解くと
x=-1、-7
従って y=0、-12 r=2、14
この解であるx=-7、y=-12の時の作図をしてみよう。
Module[{A,B,cir}, A={Circle[{-2,0},1]}; B={Circle[{2,0},1]}; c[t_]:=Circle[{t,-Sqrt[3 t^2-3]}, 1+Sqrt[4 t^2+4 t+1]]; L[t_]:={Dashing[{0.01}],Line[{{2,0}, {t,-Sqrt[3 t^2-3]}, {-2,0}}]}; Show[Graphics[{A,B,c[-7],L[-7]},Axes->True, PlotRange->{{-15,15},{-15,15}}]]