問題設定
一升瓶(1.8リットル)の形状を関数でモデル化し,回転体の体積を積分で計算する。目標は「半分(900ml)飲んだときの液面位置」を求めること。
一升瓶。胴は太く,肩から首にかけて細くなる。この形を関数で表すところから始める。形状のモデル化
半径関数の定義
一升瓶の形状を,Power Logistic Function を用いてモデル化する:
f(x)=a+b⋅σ(x)p,σ(x)=1+ek(x−x0)1ここで x は瓶底からの距離(cm),f(x) は位置 x における瓶の半径(cm)である。
この関数を選んだ理由は,x が大きい時と小さい時の両方でほぼ定数関数となる性質があり,その中間をなめらかに変化する関数だからである。
パラメータ
実際の一升瓶に合わせて以下のパラメータを設定する。
| パラメータ | 意味 | 値 |
|---|
| R | 本体(胴)の半径 | 4.95 cm |
| rneck | 首の半径 | 1.05 cm |
| a | 最小半径 =rneck | 1.05 cm |
| b | 半径変化量 =R−rneck | 3.90 cm |
| x0 | 遷移中心(肩の位置) | 23.5 cm |
| k | シグモイドの傾き | 0.5 |
| p | べき乗パラメータ | 0.5 |
具体的な関数形:
f(x)=1.05+3.90(1+e0.5(x−23.5)1)0.5形状のグラフ
半径 y = f(x)。胴(x が小さい側)ではほぼ R = 4.95 で一定,肩のあたりでなめらかに下がり,首では a = 1.05 に近づく。体積の計算
回転体の体積公式
x 軸周りの回転体の体積は,
V=π∫ab[f(x)]2dx一升瓶では,底から1cm(x=1)から液面(x=30)までを積分範囲とする。つまり,
V=π∫130[1.05+3.90(1+e0.5(x−23.5)1)0.5]2dx
半径のグラフを x 軸まわりに1回転させると,瓶の形の立体になる。断面は半径 f(x) の円なので,面積は π f(x)²。これを足し集めたものが体積。置換積分による計算
t=1+e0.5(x−23.5) と置換すると,dt=0.5e0.5(x−23.5)dx=0.5(t−1)dx より dx=t−12dt。また σ(x)=t1 なので σ(x)0.5=t−0.5。被積分関数を展開すると,
[f(x)]2=(a+tb)2=a2+t2ab+tb2したがって,
V=π∫130[a+b(1+e0.5(x−23.5)1)0.5]2dx(a=1.05, b=3.90)=2π∫t0t1t−11(a2+t2ab+tb2)dt(t=1+e0.5(x−23.5))=2π[a2log(t−1)+2ablogt+1t−1+b2logtt−1]t0t1=2π[(a2+b2)log(t−1)+2ablogt+1t−1−b2logt]t0t1「分母をまとめて t とおく」という置換がここでの要。下は,同じ発想で解ける易しめの例。
置換のイメージ。分母の 1+eˣ をまとめて t とおくと,見通しよく積分できる(瓶の積分も同じ発想)。積分範囲の変換:
- x=1 のとき:t0=1+e0.5(1−23.5)=1+e−11.25≈1.000013
- x=30 のとき:t1=1+e0.5(30−23.5)=1+e3.25≈26.79
以上より,
V≈2π×286.7≈1802 cm3≈1802 ml(一升 = 1800 ml にほぼ一致する。)
半分(900ml)の位置
問題設定
半分飲んだときの液面位置 X を求める:
π∫1X[f(x)]2dx=900 ml
体積がちょうど半分になる位置 X はどこか。底の太い部分にたくさん入るので,高さの真ん中にはならない。シミュレーター一升瓶を飲んでみる(体積と液面の高さ)
スライダーで液面を上下させると,残りの量(ml・%)と液面の高さが連動します。「ちょうど半分」を押すと,液面は高さ約12.7cm——瓶の口(30cm)の真ん中(15cm)よりずっと下になることが分かります。「10等分の線」も表示できます。
数値計算と結果
この体積の式から X を直接解くのは難しいので,数値的に X を探索すると,
| X (cm) | V (ml) |
|---|
| 10 | 693 |
| 12 | 846 |
| 12.5 | 884 |
| 12.7 | 900 |
| 13 | 923 |
| 15 | 1079 |
よって X≈12.7 cm のときに半分となる。
ミニゲームちょうど5割で止めろ!
お酒がちょうど半分(900ml)になった瞬間に止めてね!
水面が上下に揺れています。スペースキー / タップでもOK。
水面が上下に揺れています。お酒がちょうど半分(900ml=50%)になった瞬間に「止める」! 止めると,ねらいの50%ライン(高さ約12.7cm)が答え合わせで表示されます。見た目の真ん中で止めると,だいぶ多め(or 少なめ)になるはず。
10等分の位置
同様の数値計算により,体積を10等分する位置を求めると,次のようになる。
| 割合 | 0% | 10% | 20% | 30% | 40% | 50% | 60% | 70% | 80% | 90% | 100% |
|---|
| X (cm) | 1.0 | 3.3 | 5.7 | 8.0 | 10.4 | 12.7 | 15.1 | 17.5 | 20.0 | 23.0 | 30.0 |
体積で10等分する線。等しい量ずつ区切っても,下(太い側)は間隔が広く,上(細い側)は狭い。「同じ量=同じ高さ」ではない。