赤血球のようなものを計算で描いてみる2016年10月24日 17:19

アプリのアイコンを考える内、赤血球のようなイメージなら計算で描けるのでは、と思いつく。白血球や血小板は不定形のようなので難しい。

まず、Mathematicaのホームページに3D Graphicsのデモがあるので、探してみると、ルジャンドルの多項式を用いたサンプルがそれっぽい。

ルジャンドルの多項式で描いてみる

手持ちのMathematicaのバージョンが心配だったが、以前からある関数のようで一安心。パラメータを変えていろいろ描いてみると、お饅頭というか、あんパンのようにはなる。もう一息。

それではと、トーラスの本にそれらしい図形があった気がして、Google先生に尋ねてみる。出てきたのは、カッシーニの卵形線。トーラスを上から切っていくと、穴の手前のところで、それらしい断面の図形が現れる。

カッシーニの卵形線を描いてみる

極座標形式になおして、2次元で断面を描いてみる(ParametricPlot)。パラメータ(h)でくぼみ具合が決まる。

これを、Z軸を中心に回してやればと、マニュアルのサンプル(ParametricPlot3D)を手本に、よく考えずに3Dにしてみるが、回っていない。

カッシーニの卵形線を回してみる

気を取り直して、断面の描画と、回転を整理。
・2次元の時のY軸は、Z軸に
・2次元の時のX軸は、3次元では円を描くのでXとY軸に同じ値を
・Z軸を中心の回転は、回転のパラメータ(u)を使って、XとY軸に追加

できたのはこんな感じ。右手前から光を当てて、くぼみがわかりやすいように。これで、色を塗れば、それらしく見えないこともないか。