赤青メガネで見ると、中央が盛り上がっている。
3Dモデルグループボックスは、画面のドットを図形に変えて表示するので、ドット数にして3万 点位が動かす限界である。ただ、白地の線画はデータ数が少なくなるので使い易い。例えば図3のよ うな絵をコピーして、フラットやリングで描画すると図4や図5のようになる。
図3 コピー元画像
3Dバナーメーカー/科学・教育
36
図4 フラット描画 図5 リング描画
これらは、3Dビューアのアクション機能で、ひらひら飛んだり、くるくる回ったりする。
描画方法は、フラット、リング、ハーフリング、ボール、ハーフボール、メビウスがある。最後に、
図6と図7にメビウスとボールのサンプル(いずれも元絵は小さい)を示しておく。
図6 メビウス 図7 ボール 楽しんでもらいたい。
37
9.惑星シミュレーション
ここでは常微分方程式の数値解法の例として、惑星シミュレーションを取り上げる。メニュー[数 学-常微分方程式]のところで扱った一般的な常微分方程式では、式の形が決まっていないため、記 述された方程式を文字列として処理し計算する必要があり、計算の高速化は望めなかったが、モデル が定まっている場合は、予めプログラム中に数式が組み込めるので、実行速度は格段に速くなる。惑 星のシミュレーションについては物理学者からアマチュアのプログラマまで、多くの人が様々な目的 や精度で実行しているが、我々のプログラムの目的は、基礎教育の授業で、物理の知識の殆どない学 生に、1コマ分の夢のある話題を提供することである。
我々が扱う問題は、𝑛 個の星を考えて、以下で与えられる。
𝑑2𝒓𝑖
𝑑𝑡2 = − ∑ 𝐺𝑚𝑗 𝒓𝑖− 𝒓𝑗
|𝒓𝑖− 𝒓𝑗|3
𝑗≠𝑖
(𝑖 = 1, ⋯ , 𝑛)
ここに、𝑚𝑖 は 𝑖 番目の星の質量である。
我々は利用者のイメージを考えて、太陽と地球の平均距離(1天文単位)を1、地球の速さを1と する単位系を採用する。そのため太陽の質量を𝑀とすると、𝑣2⁄ = 𝐺𝑀 𝑟𝑟 ⁄ 2 より、𝐺𝑀 = 1 となり、
方程式は以下のように書き換えられる。
𝑑2𝒓𝑖
𝑑𝑡2 = − ∑𝑚𝑗 𝑀
𝒓𝑖− 𝒓𝑗
|𝒓𝑖− 𝒓𝑗|3
𝑗≠𝑖
質量は比として表れるので、自由度が残るが、分かり易いように、地球質量を1とする。この単位系 では地球の1年は2πで表される。しかし、利用者には分かりにくいので、シミュレーション内では これを改めて1年と計算し直している。
この式にルンゲ-クッタ(Runge-Kutta)法1) を適用して数値解を求めるが、そのために以下のよ うな連立1階常微分方程式に変形する。
𝑑𝒓𝑖 𝑑𝑡 = 𝒗𝑖 𝑑𝒗𝑖
𝑑𝑡 = − ∑𝑚𝑗 𝑀
𝒓𝑖− 𝒓𝑗
|𝒓𝑖− 𝒓𝑗|3
𝑗≠𝑖
この方程式の変数 (𝒓𝑖, 𝒗𝑖) に 𝑡 = 0 での初期条件を付けて、計算を実行する。
メニュー[分析-教育・科学-物理シミュレーション-惑星シミュレーション]を選択すると、図 1のような実行メニューが表示される。
惑星シミュレーション/科学・教育