2011-11-06[n年前へ]
■Mathematica版「おっぱい(曲面)方程式」で「あなた好みのおっぱい」を作る!?
「Wolfram CDF PlayerをMathematicaとして使う方法」をRubyでもっと簡単にしてみたので、次は数式処理のみならず汎用処理が可能なプログラム言語であるMathematicaで、何かの処理をさせてみたくなります。まず手始めに、何かをしてみようとなると「オッパイ的なHelloWorld」を作ってみたくなります。
タイムリーなことに「おっぱい(曲面)方程式を作り出した」という世紀の大発見がありました。そこで、まずはハロー・オッパイということで、Mathematica版「おっぱい(曲面)方程式」を書き、「Wolfram CDF PlayerをMathematicaとして使う方法」をRubyでもっと簡単にしてみたのやり方を使い、Universal Mathematica Manipulator 3でおっぱい(曲面)方程式を描いてみました。描いた結果が右上画像です。
さて、最初のプログラム(HelloWorld)を書いたなら、次はちょっとカスタマイズして「プログラミングの楽しさを知る」というのが、学びの王道です。そこで、少しだけMathematicaの機能を使ってカスタマイズしてみた結果が下のようすです。「おっぱい肌色方程式」を曲面を塗りつぶす色に対して適用させることで、もっと写実的!?にビジュアリゼーション(可視化)してみました。
「オレもやりたい」と思ったならば、やることはとても簡単です。「Wolfram CDF PlayerをMathematicaとして使う方法」をRubyでもっと簡単にしてみたのやり方(もしくは「Wolfram CDF PlayerをMathematicaとして使う方法」のやり方)でWolfram CDF PlayerをMathematicaとして使うことができるようにして、後は下記のコードを貼り付け・演算ボタンを押すだけ、です。もちろん、「Mathematicaを持っている」という人であれば「下記のコードをコピペするだけ」で終わりです。それだけの作業で、グリグリとおっぱいを後ろから前から眺めることができます。
Plot3D[ 1/8 (6 Exp[-((2/3 Abs[x] - 1)^2 + (2/3 y)^2) - 1/3 (2/3 y + 1/2)^3] + 2/3 Exp[-2.818^11 ((Abs[2/3 x] - 1)^2 + (2/3 y)^2)^2] + 2/3 y - (2/3 x)^4), {x, -3, 3}, {y, -3, 3}, PlotRange -> {-2, 1}, BoxRatios -> {6, 6, 4}, PlotPoints -> {100, 100}, ColorFunctionScaling -> False, ColorFunction -> Function[{x, y, z}, If[Sqrt[(Abs[x] - 3/2)^2 + y^2] < 0.45, Blend[{Pink,LightPink},0.5],LightPink]], Mesh -> None ]"If[Sqrt[ (Abs[x] - 3/2)^2 + y^2 ] < 0.45, Blend[ {Pink, LightPink}, 0.5], LightPink]],"辺りの記述には、各自それぞれ意見があることでしょう。たとえば"0.45"という部分、あるいはBlend[ {Pink, LightPink}, 0.5]の比率(色)に関する部分…そうしたパラメータ(関数)をほんの少し変えただけで、驚くほど印象が変わるものです。たとえば、"0.45"を"0.35"に、"0.5"を"0.7"に変えてみたのが、右の「おっぱい曲線方程式」です。これだけでも、ずいぶんとニュアンスが変わって見えるものです。0.3でも0.4でもなく、0.45(とか0.35)にするといった小数点以下さらに数桁にこだわるのが「匠(たくみ)のワザ」なのです。…こうしたカスタマイズを繰り返すことで「あなた好みのおっぱい(曲面)方程式」を作り出してみるのも興味深いのではないでしょうか。
というわけで、ハロー・グッバイならぬ、ハロー・おっぱい…じゃなかった(「Wolfram CDF PlayerをMathematicaとして使う方法」を利用した)Mathematica版ハロー・ワールドを今日は学んでみました。 それにしても、おっぱいの世界は実に奥が深いものですねぇ。
この続編が、下記の「エクセルで「バスト(曲面)方程式」を描いてみよう!?」です。
Mathematica(もしくはCDF Player活用)は敷居が高いだろうから、エクセル版も作ってみました。というわけで、エクセルで「バスト(曲面)方程式」を描いてみよう!? (シート付)です。
エクセルで「バスト(曲面)方程式」を描いてみよう!?
*各種環境へのポーティング(移植)例: