2013年2月19日火曜日

C# でおっぱい解析向けライブラリを書いてみる!! 第2回

娘 (呆れ顔)
平林先生(@hirax) が おっぱい解析向けライブラリを書いてみる!? 第2回 を公開されましたので、不肖ながら私めもC#を用いて追従したいと思います。

【前回までのあらすじ】

「おっぱい解析」をしようとした時、ゼロからコードを書かなくてはならないというのは、非常に不便極まりない話です。「車輪の再発明をするな」というアドバイスを、なぜか、おっぱい解析の世界ではないがしろにされているようにも思われます。…そこで、地球上のおっぱい解析研究者のために、おっぱい解析向けライブラリを書いてみることにしました。
という感じでMatmatica用のライブラリ作成に着手されたので、より広く一般に活用されるよう C# でおっぱい解析向けライブラリを書いてみる!! 第1回 にてC# 移植版を作成しました。


【以下、本題】

今回新たにおっぱい解析向けライブラリに加えられた関数は、以下の2つ。
  • 関数 cupDiameterFromUnderbustAndCup
    • アンダーバスト(cm)とカップサイズ(A,B,C…)からバスト(ブラジャー)のワイヤー直径を求める
  • 関数 cupVolumeFromCupDiameter
    • バスト(ブラジャー)のワイヤー直径からバストの体積(一個あたり)を求める
詳しくは平林先生の元記事にお任せし、上記関数を前回作成したOppaiAnalysisクラスに追加したものを以下に示します。

あ。さすがに、追加するだけでは芸がないかと思いましたので、後々の機能追加を考慮し、なるべくオリジナルのソースコードと同じになるように、Mathmaticaの組み込み関数であるToCharacterCode と FromCharacterCode の2つを実装しました。

このToCharacterCodeと FromCharacterCodeとを使って、前回作成したcup2cm とcm2cupを書き直しています。

あと、同様の理由から関数名(メソッド名)は、オリジナルと同一にしています。

で、動作確認した結果(上記Program.csを実行した結果)をExcelでグラフにしたものが、こちら。

カップ数とバストの体積との関係

オリジナルと同一の結果が得られてい(る気がし)ますので、問題なく移植できたのではないかと思います。例外処理が全くされていない、など実装面に問題がある点については何方か修正を加えて頂けますと嬉しく思います。

ついでに、アンダーバスト75cmの場合におけるカップ数とブラジャーのワイヤー直径との関係もグラフにしてみました。

カップ数とブラジャーのワイヤー直径との関係

【で、何に役に立つのこれ?】


平林先生自身、このライブラリについて
 役に立つような、まったく何の役にも立たないような、そんなおっぱい解析向けライブラリを今日は書いてみました。
とつぶやかれており、自分自身、移植しながら『一体何の役に立つんだろう、これ…』という気持ちでいっぱいだったのですが、実装し終え動作を確認する段階まできて、ふと用途を思いつきました。

私事ですが、現在、嫁が、妊娠・出産を経てバストが大きくなったためにブラジャーのカップ数が分からなくなっています。出産直後ということもあり、ブラジャーのカップ数を測りなおしに出歩くこともままならず、未だに正確なカップ数は不明なまま。嫁のカップ数が分からないなんて、人生始まって以来のゆゆしき問題です(たぶん)。

そんな厄介な状況下においても、

  1. アンダーバストと、(だいたいの)バストの直径を嫁から聞けば、
  2. ライブラリを用いて、上記「カップ数とブラジャーのワイヤー直径(≒バストの直径)との関係」を算出し、
  3. 当該関係を用いて、正確なカップ数を言い当てることが可能となります。

アンダーバストと、バストの直径であれば、物理的に自宅にいながら測定可能なため、極めて実用性が高いライブラリの使い道といえるのではないでしょうか。

…我ながら何を書いてるんですかね、この記事は。