Maxima で綴る数学の旅

紙と鉛筆の代わりに、数式処理システムMaxima / Macsyma を使って、数学を楽しみましょう

コマ大数学の立体図問題の続き! : 竹内薫の「はじめての数式処理ソフト」より

f:id:jurupapa:20130831232833p:plainf:id:jurupapa:20130831232742p:plain

コマ大数学の立体問題について271828さんからコメントをいただきました。ありがとうございます。その中で「しかしミルフィーユではなくソリッドで表現したいですね。」というお言葉がありました。

薄い膜を重ねて(これをミルフィーユというのですね)の描画は竹内薫さんの本がもともとそうなっており、それをMaximaに移植して実行したからです。

とはいえ、ソリッドで書くにはどうしたよいか、、、コメントを頂いてから少し考えておりました。この曲面を上から見て正方形の対角線で切って出来る4つの面は、それぞれ円柱の一部ですが、切り口が斜めです。この制約をどう表現するか、、、。

発想を変えるとこの4つの面の一つ一つは、球面の1/4を押し出したものです。であれば球面座標で自然に表せる、、、と考えてみました。

(%i1) load(draw)$

(%i2) draw3d(

  spherical(sqrt(cos(z)^2+sin(z)^2/cos(a)^2),a,-%pi/4,%pi/4,z,0,%pi),

  spherical(sqrt(cos(z)^2+sin(z)^2/sin(a)^2),a,%pi/4,%pi*3/4,z,0,%pi),

  spherical(sqrt(cos(z)^2+sin(z)^2/cos(a)^2),a,%pi*3/4,%pi*5/4,z,0,%pi),

  spherical(sqrt(cos(z)^2+sin(z)^2/sin(a)^2),a,%pi*5/4,%pi*7/4,z,0,%pi),

  proportional_axes=xyz,

  surface_hide=true

  )$

このコマンドで描画した結果で視点を変えたものを2つ載せました。上から見ると正方形、横から見ると円、という感じは出ていると思います。