← 研究ノート一覧へ
積分(数学III)

一升瓶の積分

〜半分飲んだらどこまで減る?〜

このノートで考えること

一升瓶のお酒を,ちょうど半分(900ml)飲みました。残りの液面は,瓶の高さのどのあたりまで下がっているでしょうか。ちょうど真ん中? それとも——。

瓶の形を関数でモデル化して,回転体の体積を積分で求め,「半分の位置」を確かめます。

問題設定

一升瓶(1.8リットル)の形状を関数でモデル化し,回転体の体積を積分で計算する。目標は「半分(900ml)飲んだときの液面位置」を求めること。

一升瓶の形(お酒が入った状態)
一升瓶。胴は太く,肩から首にかけて細くなる。この形を関数で表すところから始める。

形状のモデル化

半径関数の定義

一升瓶の形状を,Power Logistic Function を用いてモデル化する:

f(x)=a+bσ(x)p,σ(x)=11+ek(xx0)f(x) = a + b \cdot \sigma(x)^p, \quad \sigma(x) = \frac{1}{1 + e^{k(x - x_0)}}

ここで xx は瓶底からの距離(cm),f(x)f(x) は位置 xx における瓶の半径(cm)である。

この関数を選んだ理由は,xx が大きい時と小さい時の両方でほぼ定数関数となる性質があり,その中間をなめらかに変化する関数だからである。

パラメータ

実際の一升瓶に合わせて以下のパラメータを設定する。

パラメータ意味
RR本体(胴)の半径4.95 cm
rneckr_{\text{neck}}首の半径1.05 cm
aa最小半径 =rneck= r_{\text{neck}}1.05 cm
bb半径変化量 =Rrneck= R - r_{\text{neck}}3.90 cm
x0x_0遷移中心(肩の位置)23.5 cm
kkシグモイドの傾き0.5
ppべき乗パラメータ0.5

具体的な関数形:

f(x)=1.05+3.90(11+e0.5(x23.5))0.5f(x) = 1.05 + 3.90 \left(\frac{1}{1 + e^{0.5(x - 23.5)}}\right)^{0.5}

形状のグラフ

半径関数 y=f(x) のグラフ。胴ではほぼ R で一定,肩で下がり,首でほぼ一定
半径 y = f(x)。胴(x が小さい側)ではほぼ R = 4.95 で一定,肩のあたりでなめらかに下がり,首では a = 1.05 に近づく。

体積の計算

回転体の体積公式

xx 軸周りの回転体の体積は,

V=πab[f(x)]2dxV = \pi \int_a^b [f(x)]^2 \, dx

一升瓶では,底から1cm(x=1x=1)から液面(x=30x=30)までを積分範囲とする。つまり,

V=π130[1.05+3.90(11+e0.5(x23.5))0.5]2dxV = \pi \int_1^{30} \left[1.05 + 3.90 \left(\frac{1}{1 + e^{0.5(x - 23.5)}}\right)^{0.5}\right]^2 dx
半径関数のグラフを x 軸まわりに回転してできる立体(瓶の形)
半径のグラフを x 軸まわりに1回転させると,瓶の形の立体になる。断面は半径 f(x) の円なので,面積は π f(x)²。これを足し集めたものが体積。

置換積分による計算

t=1+e0.5(x23.5)t = 1 + e^{0.5(x-23.5)} と置換すると,dt=0.5e0.5(x23.5)dx=0.5(t1)dxdt = 0.5 e^{0.5(x-23.5)} dx = 0.5(t-1) dx より dx=2t1dtdx = \dfrac{2}{t-1} dt。また σ(x)=1t\sigma(x) = \dfrac{1}{t} なので σ(x)0.5=t0.5\sigma(x)^{0.5} = t^{-0.5}。被積分関数を展開すると,

[f(x)]2=(a+bt)2=a2+2abt+b2t[f(x)]^2 = \left(a + \frac{b}{\sqrt{t}}\right)^2 = a^2 + \frac{2ab}{\sqrt{t}} + \frac{b^2}{t}

したがって,

V=π130[a+b(11+e0.5(x23.5))0.5]2dx(a=1.05, b=3.90)=2πt0t11t1(a2+2abt+b2t)dt(t=1+e0.5(x23.5))=2π[a2log(t1)+2ablogt1t+1+b2logt1t]t0t1=2π[(a2+b2)log(t1)+2ablogt1t+1b2logt]t0t1\begin{aligned} V &= \pi \int_1^{30} \left[a + b\left(\frac{1}{1+e^{0.5(x-23.5)}}\right)^{0.5}\right]^2 dx \qquad (a = 1.05,\ b = 3.90) \\[3mm] &= 2\pi \int_{t_0}^{t_1} \frac{1}{t-1}\left(a^2 + \frac{2ab}{\sqrt{t}} + \frac{b^2}{t}\right) dt \qquad (t = 1 + e^{0.5(x-23.5)}) \\[3mm] &= 2\pi \left[ a^2 \log(t-1) + 2ab \log\frac{\sqrt{t}-1}{\sqrt{t}+1} + b^2 \log\frac{t-1}{t} \right]_{t_0}^{t_1} \\[3mm] &= 2\pi \left[ (a^2+b^2) \log(t-1) + 2ab \log\frac{\sqrt{t}-1}{\sqrt{t}+1} - b^2 \log t \right]_{t_0}^{t_1} \end{aligned}

「分母をまとめて tt とおく」という置換がここでの要。下は,同じ発想で解ける易しめの例。

置換積分の例:分母の 1+e^x をまとめて t とおく
置換のイメージ。分母の 1+eˣ をまとめて t とおくと,見通しよく積分できる(瓶の積分も同じ発想)。

積分範囲の変換:

以上より,

V2π×286.71802 cm31802 mlV \approx 2\pi \times 286.7 \approx 1802 \text{ cm}^3 \approx 1802 \text{ ml}

(一升 = 1800 ml にほぼ一致する。)

半分(900ml)の位置

問題設定

半分飲んだときの液面位置 XX を求める:

π1X[f(x)]2dx=900 ml\pi \int_1^{X} [f(x)]^2 \, dx = 900 \text{ ml}
瓶を半分まで満たした立体。境目 X はどこか?
体積がちょうど半分になる位置 X はどこか。底の太い部分にたくさん入るので,高さの真ん中にはならない。
シミュレーター一升瓶を飲んでみる(体積と液面の高さ)

スライダーで液面を上下させると,残りの量(ml・%)と液面の高さが連動します。「ちょうど半分」を押すと,液面は高さ約12.7cm——瓶の口(30cm)の真ん中(15cm)よりずっと下になることが分かります。「10等分の線」も表示できます。

数値計算と結果

この体積の式から XX を直接解くのは難しいので,数値的に XX を探索すると,

XX (cm)VV (ml)
10693
12846
12.5884
12.7900
13923
151079

よって X12.7 cm\boxed{X \approx 12.7 \text{ cm}} のときに半分となる。

ミニゲームちょうど5割で止めろ!
お酒がちょうど半分(900ml)になった瞬間に止めてね!
水面が上下に揺れています。スペースキー / タップでもOK。

水面が上下に揺れています。お酒がちょうど半分(900ml=50%)になった瞬間に「止める」! 止めると,ねらいの50%ライン(高さ約12.7cm)が答え合わせで表示されます。見た目の真ん中で止めると,だいぶ多め(or 少なめ)になるはず。

10等分の位置

同様の数値計算により,体積を10等分する位置を求めると,次のようになる。

割合0%10%20%30%40%50%60%70%80%90%100%
XX (cm)1.03.35.78.010.412.715.117.520.023.030.0
瓶を体積で10等分する線。下のほうは間隔が広く,上にいくほど間隔が狭い
体積で10等分する線。等しい量ずつ区切っても,下(太い側)は間隔が広く,上(細い側)は狭い。「同じ量=同じ高さ」ではない。