第2章 グラフィック編

2.1 グラフィック関数の紹介

Graphics[]とGraphics3D[]

円（2次元）

Show[
      Graphics[{RGBColor[0, 0, 1], 
          Circle[{0, 0}, 1]}]]
Show[Graphics[Circle[{0, 0}, 1]], 
      AspectRatio -> Automatic]
Show[
      Graphics[{Circle[{-1, -1}, 1], 
          Circle[{1, 1}, 1]}], {AspectRatio -> Automatic, 
        PlotRange -> {{-5, 5}, {-5, 5}}}]

円のアニメーション（2次元）

Do[Show[
        Graphics[
{Circle[{Sin[k], Cos[k]}, 1], 
            Circle[{Sin[-k + Pi], Cos[-k + Pi]}, 
              0.5]}], {AspectRatio -> Automatic, 
          PlotRange -> {{-5, 5}, {-5, 5}}}], {k, 0, 2  Pi - Pi/12, 
        Pi/12}]

立方体（3次元）

Show[
      Graphics3D[{Cuboid[{0, 0, 0}], Cuboid[{0, 1, 1}], 
          Cuboid[{1, 1, 1}]}]]

Plot[]とPlot3D[]

直線と2次関数（2次元）

Plot[{x, x^2}, {x, -1.5, 1.5}, AspectRatio -> Automatic]

接線のアニメーション（2次元）

f[x_] := x^2
Do[Plot[{f[x], f'[k] (x - k) + f[k]}, {x, -2, 
          2}, {AspectRatio -> Automatic, 
          PlotRange -> {{-2, 2}, {-1, 4}}}], {k, -2, 2, 
        0.1}]

平面（3次元）

Plot3D[x + y, {x, -2, 2}, {y, -2, 2}]

ParametricPlot[]とParametricPlot3D[]

円と正弦波（2次元）

ParametricPlot[{{Cos[t], Sin[t]}, {t, Sin[t]}}, {t, 0, 
        2  π}, 
AspectRatio -> 
        Automatic]

正弦波のアニメーション（2次元）

Do[ParametricPlot[{t, Sin[t + k]}, {t, 0, 2  π}, 
        AspectRatio -> Automatic], 
{k, 0, 
        2  Pi - Pi/12, Pi/12}]

螺線（3次元）

ParametricPlot3D[{Cos[t], Sin[t], t/10}, {t, 0, 
        10  Pi}, 
AspectRatio -> Automatic]

螺線のアニメーション（3次元）

Do[ParametricPlot3D[{Cos[t], Sin[t], t/k}, {t, 0, 
          10  Pi}, {AspectRatio -> Automatic, 
          PlotRange -> {{-1, 1}, {-1, 1}, {0, 
                4}}}], 
{k, 10, 
        20}]
Do[ParametricPlot3D[{Cos[t], Sin[t], t/k}, {t, 0, 
          10  Pi}, {AspectRatio -> Automatic, 
          PlotRange -> {{-1, 1}, {-1, 1}, {0, 
                4}}}], 
{k, 19, 9, -1}]

2.2 関数のグラフィック

2次元のグラフィック

合成された関数のグラフ１

Plot[x + Sin[x], {x, -20, 20}, AspectRatio -> Automatic]

合成された関数のグラフ２

Plot[x Sin[x], {x, -20, 20}, AspectRatio -> Automatic]

合成された関数のグラフ３

Plot[Exp[x] Sin[x], {x, -5, 3}, 
      AspectRatio -> Automatic]

3次元のグラフィック

合成された関数の曲面１

Plot3D[Sin[x] Sin[y], {x, -5, 5}, {y, -5, 5}, 
      AspectRatio -> Automatic]

合成された関数の曲面２

Plot3D[Sin[x] y, {x, -10, 10}, {y, -10, 10}, 
      AspectRatio -> Automatic]

合成された関数の曲面３

Plot3D[Exp[x y], {x, -10, 10}, {y, -10, 10}, 
      AspectRatio -> Automatic]

2.3 媒介変数表示の関数のグラフィック

2次元のグラフィック

リサジュー曲線

ParametricPlot[{Sin[2 t], Cos[3 t]}, {t, 0, 2  Pi}, 
      AspectRatio -> Automatic]
ParametricPlot[{Sin[10 t], Cos[11 t]}, {t, 0, 2  Pi}, 
      AspectRatio -> Automatic]

サイクロイド曲線とトコロイド曲線

ParametricPlot[{t - Sin[t], 1 - Cos[t]}, {t, 0, 
        6  Pi}, 
{AspectRatio -> Automatic, 
        PlotRange -> {{-0.5, 14}, {-0.5, 
              2.5}}}]
ParametricPlot[{t - 1.5  Sin[t], 1 - 1.5  Cos[t]}, {t, 0, 
        6  Pi}, 
{AspectRatio -> Automatic, 
        PlotRange -> {{-0.5, 14}, {-0.5, 
              2.5}}}]
ParametricPlot[{t - 0.8  Sin[t], 1 - 0.8  Cos[t]}, {t, 0, 
        6  Pi}, 
{AspectRatio -> Automatic, 
        PlotRange -> {{-0.5, 14}, {-0.5, 2.5}}}]

3次元のグラフィック

球面と楕円面

ParametricPlot3D[{Cos[s] Cos[t], Cos[s] Sin[t], Sin[s]}, {s, 0, 
        2  Pi}, {t, 0, Pi}]

ParametricPlot3D[{3  Cos[s] Cos[t], 2  Cos[s] Sin[t], Sin[s]}, {s, 0, 
        2  Pi}, {t, 0, Pi}]

トーラスとトーラスの変形

ParametricPlot3D[{(5 + 2  Cos[s]) Cos[t], (5 + 2  Cos[s]) 
          Sin[t], 2  Sin[s]}, 
{s, 0, 2  Pi}, {t, 0, 
        2  Pi}]

ParametricPlot3D[{(5 + Cos[s]) Cos[t], (5 + Cos[s]) Sin[t], 
        Sin[s] + 0.5  t}, 
{s, 0, 2  Pi}, {t, 0, 
        4  Pi}]

ParametricPlot3D[{(3 + Cos[s]) Cos[t], (3 + Cos[s]) Sin[t], 
        Sin[s] + 0.5  Sin[5  t]}, 
{s, 0, 2  Pi}, {t, 0, 
        2  Pi}]

変形トーラスのアニメーション

Do[ParametricPlot3D[{(5 + Cos[s]) Cos[t], (5 + Cos[s]) Sin[t], 
          Sin[s] + 0.5  t}, {s, 0, 2  Pi}, {t, 0, k}, 
        PlotRange -> {{-6, 6}, {-6, 6}, {-1, 8}}, 
        PlotPoints -> {10, 40}], {k, Pi/6, 4  Pi, Pi/6}]

Do[ParametricPlot3D[{(3 + Cos[s]) Cos[t], (3 + Cos[s]) Sin[t], 
          Sin[s] + 0.5  Sin[5  t + k]}, 
{s, 0, 2  Pi}, {t, 
          0, 2  Pi}, 
        PlotRange -> {{-6, 6}, {-6, 6}, {-2, 
              2}}], 
{k, 0, 2  Pi - Pi/6, Pi/6}]

2.4 多面体

正多面体

パッケージの読み込み

<< Graphics`Polyhedra`

四面体（Tetrrahedron）

Show[Polyhedron[Tetrahedron]]

六面体（Hexahedron）

Show[Polyhedron[Hexahedron]]

八面体（Octahedron）

Show[Polyhedron[Octahedron]]

12面体（Dodecahedron）

Show[Polyhedron[Dodecahedron]]

20面体（Icosahedron）

Show[Polyhedron[Icosahedron]]

5つの正多面体

Show[
Polyhedron[Tetrahedron, {-2, 5, 2}, 
        2], 
Polyhedron[
        Hexahedron, {-4, -5, -4}, 
        3], 
Polyhedron[Octahedron, {7, -5, -4}, 
        3], 
Polyhedron[Dodecahedron, {0, 0, -2}, 
        2.5], 
Polyhedron[Icosahedron, {5, 6, -2}, 
        3]
]

準多面体

サッカーボール

Show[Truncate[Polyhedron[Icosahedron], 1/3]]

サッカーボールのアニメーション

Do[Show[Truncate[Polyhedron[Icosahedron], k], 
        PlotRange -> {{-1.5, 1.5}, {-1.5, 1.5}, {-1.5, 
              1.5}}], {k, 0, 0.5, 0.05}]
Do[Show[Truncate[Polyhedron[Icosahedron], k], 
        PlotRange -> {{-1.5, 1.5}, {-1.5, 1.5}, {-1.5, 
              1.5}}], {k, 0.45, 0.05, -0.05}]

星状化多面体

星状化した四面体

Show[Stellate[Polyhedron[Hexahedron], 0.5], 
      PlotRange -> {{-1.5, 1.5}, {-1.5, 1.5}, {-1.5, 
            1.5}}]
Show[Stellate[Polyhedron[Hexahedron], 1], 
      PlotRange -> {{-1.5, 1.5}, {-1.5, 1.5}, {-1.5, 
            1.5}}]
Show[Stellate[Polyhedron[Hexahedron], 1.5], 
      PlotRange -> {{-1.5, 1.5}, {-1.5, 1.5}, {-1.5, 
            1.5}}]

星状化四面体のアニメーション

Do[Show[Stellate[Polyhedron[Hexahedron], k], 
        PlotRange -> {{-5, 5}, {-5, 5}, {-5, 5}}], {k, 0, 5, 
        0.5}]
Do[Show[Stellate[Polyhedron[Hexahedron], k], 
        PlotRange -> {{-5, 5}, {-5, 5}, {-5, 5}}], {k, 4.5, 
        0.5, -0.5}]

星状化12面体のアニメーション

Do[Show[Stellate[Polyhedron[Dodecahedron], k], 
        PlotRange -> {{-5, 5}, {-5, 5}, {-5, 5}}], {k, 1, 5, 
        0.5}]
Do[Show[Stellate[Polyhedron[Dodecahedron], k], 
        PlotRange -> {{-5, 5}, {-5, 5}, {-5, 5}}], {k, 4.5, 
        0.5, -0.5}]

Copyright 2004 Naoto KOUYAMA. All right reserved.