2012-09-09[n年前へ]
■おっぱい解析向けライブラリを書いてみる!? 第1回
「おっぱい解析向けライブラリ」が無いのっておかしくない?とふと気づきました。たとえば、プログラミングする時、数学関数を使いたければmathライブラリーをインクルードすればOKという言語も多いと思います。しかし、「おっぱい解析」をしようとした時、ゼロからコードを書かなくてはならないというのは、非常に不便極まりない話です。「車輪の再発明をするな」というアドバイスを、なぜか、おっぱい解析の世界ではないがしろにされているようにも思われます。…そこで、地球上のおっぱい解析研究者のために、おっぱい解析向けライブラリを書いてみることにしました。
今日は、Mathematicaで「こんな感じ?」というラフスケッチを描いてみることにします。まずは、「アンダーバストとトップバストの差(cm)からカップサイズを求める関数cpu2cmと、カップサイズからアンダーバストとトップバストの差(cm)を求める関数cm2cupです。
cup2cm["AAA"] = 5; cup2cm["AA"] = 7.5;
cup2cm[cup_] := ((ToCharacterCode[cup] - ToCharacterCode["A"])*2.5 + 10)[[1]];
cm2cup[cm_] := If[cm <= 6.25, "AAA", If[cm <= 8.75, "AA", FromCharacterCode[Round[(cm - 10.)/2.5 + 65]]]];
このライブラリを使えば、
cup2cm["C"]
=15
cm2cup[30]というように、アルファベット表記のカップサイズとアンダーバストとトップバストの差(cm)の間を自由に行き来することができます。
=I
しかし、実は「カップサイズ」も「アンダーバストとトップバストの差(cm)」もとても扱いづらく・ワナに満ちた表記なのです。なぜなら、ひとたび「おっぱい解析(特にカップサイズ)」を真面目にしようとしたならば、さまざまな矛盾に気づき・愕然とさせられます。(たとえば…という話は次回以降にしましょう)
というわけで、そんなオッパイに隠された深遠なるミステリーを解き明かすために、引き続き「おっぱい解析向けライブラリ」を書きながら、おっぱい解析の基本・応用例題を解き・楽しんでみることにしましょう。
C# でおっぱい解析向けライブラリを書いてみる!!
世界で一番大きな天然バストのサイズは 102cm(ZZZ カップ) ということがわかりました。ZZZ は、cmとカップの変換公式からすると 77.5cmでしかないのですが、この記事を読む限りは、この値以上であればZZZカップ、という理解で良さそうです。
2013-02-18[n年前へ]
■おっぱい解析向けライブラリを書いてみる!? 第2回
おっぱい解析向けライブラリを書いてみる!? 第1回の続編です。
「おっぱい解析」をしようとした時、ゼロからコードを書かなくてはならないというのは、非常に不便極まりない話です。「車輪の再発明をするな」というアドバイスが、おっぱい解析の世界ではないがしろにされているようにも思われます。…そこで、地球上のおっぱい解析研究者のために、おっぱい解析向けライブラリを書いてみることにしました。
今日書いたのは、アンダーバスト(cm)とカップサイズ(A,B,C…)からバスト(ブラジャー)のワイヤー直径を求める関数 cupDiameterFromUnderbustAndCupと、バスト(ブラジャー)のワイヤー直径からバストの体積(一個あたり)を求める関数 cupVolumeFromCupDiameterです。
cupDiameterFromUnderbustAndCup[ under_,(*cm*) cup_ (* char *) ] := Module[ {cupInt = ToCharacterCode[cup][[1]] - 64, initSize = 8.3,(*8.3 or 9.7*) diffCup = 0.98(*0.98 or 0.847*)}, initSize + diffCup*((under - 65)/5 - 1) + diffCup*(cupInt - 1) ] (* cm *)
cupVolumeFromCupDiameter[ diameter_(*cm*) ] := 2/3 Pi (diameter/2)^3 (* cm^3 *)
これらの関数を使うと、たとえば、アンダー75(cm)のCカップのブラ(ワイヤ−)直径は、こんな風に計算できます。
cupDiameterFromUnderbustAndCup[75, "C"] →11.24(cm)あるいは、
cupVolumeFromCupDiameter[ cupDiameterFromUnderbustAndCup[75, "C"] ]とすれば、アンダー75のCカップのブラ体積(cm^3)を知ることができます。ちなみに、答は371立方cmになります。つまり、(脂肪をほぼ水と同じような密度と近似すれ阿)350mlのペットボトルとほぼ同じ重さ、ということになります。
ついでに、アンダー75cmのA~Iカップの(1個あたり)体積を計算して、チャートとして描いてみると、下のグラフのようになります。横軸の1~9は、A~Iカップを表しています。
ListPlot @ (cupVolumeFromCupDiameter @ (cupDiameterFromUnderbustAndCup[75, #]) & /@ {"A", "B", "C", "D", "E", "F", "G", "H", "I"})
役に立つような、まったく何の役にも立たないような、そんなおっぱい解析向けライブラリを今日は書いてみました。ちなみに、このブラサイズからの算出関数が出す値は Title: Breast volume and bra sizeというInternational Journal of Clothing Science and Technology(2011)中の実測データとも、おおよそ合うようです。
C#版:C# でおっぱい解析向けライブラリを書いてみる!! 第2回
2013-07-22[n年前へ]
■おっぱい解析向けライブラリを書いてみる!? 第3回 「胸チラを確認する表示関数」を書いてみよう!?
「おっぱい解析」をする時に、ゼロからコードを書かなければならないのは不便極まりない!というわけで、おっぱい解析向けライブラリを書いています(第1回・第2回)。今日は、アンダーバストと(AカップとかBカップといった)カップサイズから、胸の大きさとブラの形状等を計算・表示する関数を書いてみました(コードはコメントを追加した上で、後ほど適当な箇所に置きます)。
たとえば、右上および下の図は「アンダー70cmでAカップ(トップが70cm+10cm=80cm)の人が、70Bの3/4カップ形状のブラジャーを(重力が働く環境下で)付けた」時のようすを表示してみた結果です。
ちなみに、こんなコードを書いてみると、あるいは、そのコードを書くために少し考えてみると、胸の先が(上から)見えてしまう可能性があるのは「アンダー65cmのB,Cカップ、アンダー70cmのA,Bカップ、アンダー75cmのAカップ程度に限られる…」という真実が見えてきたり!?します。
この胸元が見えるかどうかは「カップサイズに依存する」「上に羅列したサイズ以外でなら(見えてしまうことを)心配しなくて大丈夫!」という理屈については、後ほど詳しく書いてみることにします。