応用化学基礎演習2 2015/11/28
Mathematicaで3DCG

Mathematicaには色々な3次元プロットの機能がついている。
その細かい機能設定についてはヘルプを参照。

課題1 表面プロット

  1. 10sin(x + siny)を、-10<x<10, -10<y<10の範囲で、表面プロットしてみる。Plot3D[関数, {xの範囲}, {yの範囲}]を使う。
  2. z軸の範囲(PlotRange->{範囲})を、-5<z<5にしてみる。
    解像度が足りない場合は、「PlotPoints->点数」で解像度を上げることもできる。
  3. 等高線プロットContourPlot[f, {x, min, max}, {y, min, max}]してみる。

練習2
無限に深い2次元の井戸型ポテンシャル中の粒子のエネルギーと波動関数は、つぎのように表される。

ここで L1L2は井戸の幅である。
井戸の外の世界は存在しないので、井戸の中だけ表示すればいい。
等高線プロットにはContourPlot[f, {x, min, max}, {y, min, max}]を使う。
アスペクト比は、AspectRatio→L2/L1と定義する。

  1. 変数がたくさんあって面倒なので、独自関数を定義する。
    hako[n1_, n2_, L1_, L2_] = ContourPlot[f, {x, min, max}, {y, min, max}, AspectRatio→L2/L1]
    のような形式になる。独自関数に使う変数を定義する場合は、「_」(アンダーバー)をつけることを忘れずに
  2. L1 =2, L2 = 1、n1 = 3, n2 = 2 として、この波動関数を等高線プロットで表してみよう。
    hako[3, 2, 2, 1]と、変数の値を独自関数に代入。
  3. L1L2 がどのようなときに「縮退」が起きるか考え、互いに縮退している状態の波動関数を、等高線プロットで描け。

課題3
3次元プロット。ParametricPlot3D[{fx(u, v), fy(u, v), fz(u, v)}, {uの範囲, vの範囲}]を使う。

  1. 円柱を描く。
  2. 円錐を描く。
  3. 螺旋を描く。
  4. 球を描く。
  5. 楕円球を描く。
  6. トーラスを描く。
  7. 円柱とトーラスを合わせて描く。

課題4
多面体を描こう。

  1. PolyhedronData[ ]を使って テトラヘドロン、ヘキサヘドロン、オクタヘドロン、ドデカヘドロン、イコサヘドロンなどを描こう。
  2. 二つ以上の多面体を1つの図に描いてみよう。Show[関数1, 関数2, …]を使う。

課題提出方法: