==================================== 曲線 1 ==================================== Mathematicaを用いた練習を行います。 まず、Mathematica を使えるようにしてください。 プログラムの中の数字などを適当に変更してプログラムがうまく動くか試してみてください。 以下の説明の中で*****ではさまれた部分は Mathematica に入力する文字列です。 コピーするか、自分で入力して、 Shift+Enter(Return) キーで実行します。 上から順に,すべて実行するようにしてください。 上で定義した関数を後で利用すること があります。 ----------------------------------- 関数のグラフを描くにはPlotを用います。 ****** Plot[Sin[x], {x, 0, 2 Pi}]; ****** 曲線を描くには、ParametricPlot も用います。 これは、y=f(x)の形になるもの以外も描く必要があるためです。 また、色をつけるためにパッケージ Graphics`Colors` を 使います。 平面曲線を描くための準備として、まず次ぎを入力してください。 ***** << Graphics`Colors` J[{p1_, p2_}] := {-p2, p1} (* 平面曲線の曲率 *) kappa2[alpha_][t_] := D[alpha[tt], {tt, 2}].J[D[alpha[tt], tt]]/ Simplify[D[alpha[tt], tt].D[alpha[tt], tt]]^(3/2) /. tt -> t alpha[t_] := {x[t], y[t]} ***** では、円、楕円、放物線の例から始めましょう。 例1(円) ***** circle[a_][t_] := {a Cos[t], a Sin[t]} ParametricPlot[circle[2][t], {t, 0, 2Pi}, AspectRatio -> Automatic] ***** ***** Plot[kappa2[circle[2]][t] // Evaluate, {t, 0, 2 Pi}, AspectRatio -> Automatic, PlotRange -> {{0, 2*Pi}, {-1, 1}}] ***** 例2(楕円) ***** ellipse[a_, b_][t_] := {a* Cos[t], b* Sin[t]} ParametricPlot[ellipse[1.5, 1][t], {t, 0, 2*Pi}, AspectRatio -> Automatic, PlotStyle -> {Thickness[0.01], Red}] ***** ***** Plot[kappa2[ellipse[2, 1]][t], {t, 0, 2 Pi}, AspectRatio -> Automatic, PlotRange -> {{0, 2*Pi}, {-1, 3}}, PlotStyle -> {Thickness[.007], Brown}] ***** 注意. PlotStyle -> {Thickness[0.01], Red} は曲線の太さと色を変えるためのものです。 円の場合は黒でしたが、楕円は赤い線に変わっています。 例3(放物線) ***** parabola[a_][t_] := {t, a*t^2} ParametricPlot[parabola[2][t], {t, -1, 1}, AspectRatio -> Automatic, PlotStyle -> {Thickness[0.01], Blue}] ***** ***** Plot[kappa2[parabola[2]][t] // Evaluate, {t, -1, 1}, AspectRatio -> Automatic, PlotStyle -> { Thickness[.01], Green}] ***** 例4(8の字) ***** eight[t_] := {Sin[t], Sin[t]*Cos[t]} ParametricPlot[eight[t], {t, 0, 2Pi}, AspectRatio -> Automatic, PlotStyle -> { Thickness[.005], Red}] ***** ***** Plot[kappa2[eight][t] // Evaluate, {t, 0, 2 Pi}, AspectRatio -> Automatic, PlotStyle -> { Thickness[.01], Blue}] ***** 例5(対数螺旋) ***** logspiral[a_, b_][t_] := a { E^(b t) Cos[t], E^(b t) Sin[t] } ParametricPlot[Evaluate[logspiral[1, 0.09][t]], {t, -4*Pi, 7*Pi}, AspectRatio -> Automatic, PlotStyle -> {Thickness[0.006], Red}, PlotPoints -> 100] ***** ***** Plot[kappa2[logspiral[1, 0.08]][t], {t, -4Pi, 7Pi}, PlotRange -> All, PlotStyle -> { Thickness[.007], Blue}] ***** 例6 ***** diamond[n_, a_, b_][t_] := {a Sqrt[Cos[t]^2]^(n - 1)Cos[t], b Sqrt[Sin[t]^2]^(n - 1)Sin[t]} ***** ***** Do[ParametricPlot[diamond[1/n, 1, 1][t] // Evaluate, {t, 0.1, 2Pi + 0.1}, PlotStyle -> {{AbsoluteThickness[1.4], RGBColor[0, 0, 1]}}, AspectRatio -> Automatic, Axes -> False], {n, 5, 1, -1/5}] Do[ParametricPlot[diamond[n, 1, 1][t] // Evaluate, {t, 0.1, 2Pi + 0.1}, PlotStyle -> {{AbsoluteThickness[1.4], RGBColor[0, 0, 1]}}, AspectRatio -> Automatic, Axes -> False], {n, 1, 5, 1/5}] ***** いくつかの有名な平面曲線を考えましょう 例7(cycloid サイクロイド) ***** cycloid[a_, b_][t_] := { a t - b Sin[t], a - b Cos[t]} ParametricPlot[Evaluate[cycloid[1, 1][t]], {t, -5Pi/2, 5 Pi/2}, PlotStyle -> {{AbsoluteThickness[1.4], RGBColor[0, 0, 1]}}, AspectRatio -> Automatic, Axes -> True] ***** ***** Plot[kappa2[cycloid[1, 1]][t] // Evaluate, {t, 0, 2 Pi}, AspectRatio -> 1, PlotStyle -> { Thickness[.01], Blue}] ***** ***** ParametricPlot[Evaluate[cycloid[1, 3][t]], {t, -5Pi/2, 5 Pi/2}, PlotStyle -> {{AbsoluteThickness[1.4], RGBColor[0, 0, 1]}}, AspectRatio -> Automatic, Axes -> True] ***** ***** Plot[kappa2[cycloid[1, 3]][t] // Evaluate, {t, -5Pi/2, 5 Pi/2}, PlotRange -> All, PlotStyle -> { Thickness[.005], Red}] ***** ***** ParametricPlot[Evaluate[cycloid[2, 1][t]], {t, -6Pi/2, 6 Pi/2}, PlotRange -> All, AspectRatio -> Automatic, PlotStyle -> {{AbsoluteThickness[1.4], RGBColor[0, 0, 1]}}, Axes -> True] ***** ***** Plot[kappa2[cycloid[2, 1]][t] // Evaluate, {t, -6Pi/2, 6 Pi/2}, PlotRange -> All, AspectRatio -> 1, PlotStyle -> { Thickness[.005], Red}] ***** 例8(これらの曲線の意味) ***** wheel[a_, b_][t_] := {{RGBColor[0.8, 0.8, 1], Disk[{t, a}, b]}, {RGBColor[1, 0, 0], Disk[{t, a}, a]}, {AbsolutePointSize[4], Point[{t, a}]}, {AbsoluteThickness[1.5], Circle[{t, a}, a], Circle[{t, a}, b] , Line[{{t, a}, cycloid[a, b][t]}]}, {AbsoluteThickness[1], Line[{{-3 Pi, 0}, {3 Pi, 0}}]}} wheell[t_] := {{RGBColor[1, 0, 0], Disk[{2t, 2}, 2]}, {RGBColor[0.8, 0.8, 1], Disk[{2t, 2}, 1]}, {AbsolutePointSize[4], Point[{2t, 2}]}, {AbsoluteThickness[1.5], Circle[{2t, 2}, 1], Circle[{2t, 2}, 2] , Line[{{2t, 2}, cycloid[2, 1][t]}]}, {AbsoluteThickness[1], Line[{{-3 Pi/2, 0}, {3 Pi/2, 0}}]}} ***** ***** proplot[a_, b_][k_] := ParametricPlot[Evaluate[cycloid[a, b][t]], {t, -3Pi, k + 0.001}, PlotStyle -> {{AbsoluteThickness[1.5]}}, AspectRatio -> Automatic, PlotRange -> {{-4Pi, 4Pi}, {-2.5, 4.5}}, Axes -> True, Prolog -> wheel[a, b][k] ] curplot[a_, b_][k_] := ParametricPlot[Evaluate[cycloid[a, b][t]], {t, -Pi, k + 0.001}, PlotStyle -> {{AbsoluteThickness[1.5]}}, AspectRatio -> Automatic, PlotRange -> {{-2Pi - 2.5, 6Pi + 2.5}, {-2, 4.5}}, Axes -> True, Prolog -> wheell[k] ] ***** ***** Do[proplot[1, 1][k], {k, -3 Pi, 3 Pi, Pi/16}] ***** ***** Do[proplot[1, 3][k], {k, -3 Pi, 3 Pi, Pi/32}] ***** ***** Do[curplot[2, 1][k], {k, - Pi, 3 Pi, Pi/32}] ***** 例9(lemniscates of Bernoulli レムニスケート)  ***** lemniscate[a_][t_] := a {Cos[t]/(1 + Sin[t]^2), Sin[t]*Cos[t]/(1 + Sin[t]^2)} ParametricPlot[lemniscate[1][t], {t, 0, 2Pi}, AspectRatio -> Automatic, PlotStyle -> { Thickness[.006], RGBColor[0.0, 0.0, 1.0]}] ***** ***** Plot[kappa2[lemniscate[1]][t] // Evaluate, {t, 0, 2 Pi}, AspectRatio -> Automatic, PlotStyle -> { Thickness[.006], Red}] ***** 例4(8の字)と比較してみましょう。