とあるビルに卵が投げつけられたそうなので
検証してみることとしました
解説動画はこちら
さて、この事件のように階下の道から卵を投げて
このような状況になるのか検証してみました。
とあるビルを再現するかのような画像が
twitterにあったのでそちらを参考にすると
卵はビルの三階、柵際10cmあたりの所に着弾
現場のビルの状況は
近場を歩いている人の身長を1.6mと仮定すると
3階の柵まで7.6m , 3階の天井が8.9m
3階の柵の高さを1m、柵の厚みを5cmで
設定してみました
ビルを可視化してみるとこんな感じですかね
ここからは卵を投げることを考えてみましょう。
卵は一般的なLサイズ(重量60g , 断面積12.5cm2)
発射場所はビルの壁際の道から投下するものとします
変数に用意しておきましょう
卵の弾道計算には関数を設定します
これは以前ライフルの弾道計算に用いたものです
[Pythonプログラミング]2km先の敵を狙撃するために弾道計算してみよう
用意ができたところで
軽く投げてみましょう。
めちゃめちゃ上の方に向かって投げますが
角度が浅いとしたの壁に
速度が早すぎると天井や上の壁にぶつかります。
成功パターンはこれでした。
これならギリ成功できます。
1投げで成功させたのは神の領域のコントロール
そんなスーパーに近くに住んでいる人が
犯人なんでしょうwwwwwwww
真実は一つです。
それでは。
検証してみることとしました
解説動画はこちら
さて、この事件のように階下の道から卵を投げて
このような状況になるのか検証してみました。
とあるビルを再現するかのような画像が
twitterにあったのでそちらを参考にすると
卵はビルの三階、柵際10cmあたりの所に着弾
現場のビルの状況は
近場を歩いている人の身長を1.6mと仮定すると
3階の柵まで7.6m , 3階の天井が8.9m
3階の柵の高さを1m、柵の厚みを5cmで
設定してみました
ビルを可視化してみるとこんな感じですかね
# 状況を再現してみる from matplotlib import pyplot as plt from math import pi, cos, sin,atan,sqrt %matplotlib inline ax = plt.gca() # 壁 plt.hlines( 0 , -2 , 2 , color="gray") plt.hlines(8.9 , 0.1 , 2 , color="gray") plt.hlines(7.6 , 0.1 , 0.15 , color="gray") plt.hlines(6.6 , 0.15 , 2 , color="gray") plt.vlines(2 , 6.6 , 8.9 , color="gray") plt.vlines(0.1 , 0 , 7.6 , color="gray") plt.vlines(0.15 , 0 , 7.6 , color="gray") plt.xlim(-2,10) plt.ylim(-1,10) plt.show()
ここからは卵を投げることを考えてみましょう。
卵は一般的なLサイズ(重量60g , 断面積12.5cm2)
発射場所はビルの壁際の道から投下するものとします
変数に用意しておきましょう
# '発射時高度 [m] : ' ht = 0 # '質量 [g] : ' mas = 60 # '断面積[cm2] : ' area = 12.5
卵の弾道計算には関数を設定します
これは以前ライフルの弾道計算に用いたものです
[Pythonプログラミング]2km先の敵を狙撃するために弾道計算してみよう
## 弾道計算関数 # 固定値 dt = 0.1# 時間刻み[s] gr = 9.80665 # 重力定数 [m/s2] 初期値 9.80665 cd = 0.3 # 空気抵抗係数(Cd) airRho = 1.22 # 空気密度 [kg/m3] 初期値 1.22 (1atm , 摂氏15, 湿度50%) w0 = 0 # 風速(地上) [m/s] w1 = 0 # 風速(毎100m) [m/s] # 微分計算用関数 def dvx( vx, vy, w, k): return -k * (vx - w) * sqrt((vx - w) * (vx - w) + vy*vy) def dvy( vx, vy, w, k, g): return -g - k * vy * sqrt((vx - w) * (vx - w) + vy*vy) # 弾道計算関数 def ballistic_calc(mas,area,deg0,vo,ht): deg = deg0 / 180 * pi # 角度 [ラジアン] _S = area / 10000 # 断面積 [m2] _K = 0.5 * _S * cd * airRho / mas *1000 # 抵抗力係数 _T , _X , _Y , _v = 0 , 0 , ht , vo _vx , _vy , _W = _v * cos( deg ) , _v * sin( deg ) , w0 + w1 * (_Y / 100) _y_max , _t_max = _Y , 0 k_x1, k_x2, k_x3, k_x4, k_y1, k_y2, k_y3, k_y4 = 0,0,0,0,0,0,0,0 vx_2 , vy_2 , x_n2 , y_n2 = 0,0,0,0 result_x , result_y = [0],[0] for i in range(1,101): k_x1 = dt * dvx( _vx, _vy, _W, _K ) k_y1 = dt * dvy( _vx, _vy, _W, _K, gr ) k_x2 = dt * dvx( _vx + k_x1 / 2, _vy + k_y1 / 2, _W, _K ) k_y2 = dt * dvy( _vx + k_x1 / 2, _vy + k_y1 / 2, _W, _K, gr ) k_x3 = dt * dvx( _vx + k_x2 / 2, _vy + k_y2 / 2, _W, _K ) k_y3 = dt * dvy( _vx + k_x2 / 2, _vy + k_y2 / 2, _W, _K, gr ) k_x4 = dt * dvx( _vx + k_x3, _vy + k_y3, _W, _K ) k_y4 = dt * dvy( _vx + k_x3, _vy + k_y3, _W, _K, gr ) vx_2 = _vx + (k_x1 + 2 * k_x2 + 2 * k_x3 + k_x4) / 6 vy_2 = _vy + (k_y1 + 2 * k_y2 + 2 * k_y3 + k_y4) / 6 x_n2 = _X + ( _vx + vx_2 ) / 2 * dt y_n2 = _Y + ( _vy + vy_2 ) / 2 * dt #print('経過秒数 : {0:.2} , 飛距離 : {1:.05}m , 到達高度 : {2:.05}m'.format(i*dt,x_n2 , y_n2) ) result_x.append(x_n2) result_y.append(y_n2) if y_n2<0: #print('break') break _T = i * dt _vx , _vy = vx_2 , vy_2 _X , _Y = x_n2 , y_n2 _v = sqrt( _vx * _vx + _vy * _vy ) deg = atan ( _vy / _vx ) _W = w0 + w1 * (_Y / 100) return result_x , result_y次に描画用の関数を設定します
def egg_throw_viewer(mas,area,deg0,vo,ht,xlmi,xlmx,ylmi,ylmx): ax = plt.gca() bx,by = ballistic_calc(mas,area,deg0,vo/3600,ht) print('経過秒数 : {0:.2} , 飛距離 : {1:.05}m , 到達最高度 : {2:.05}m'.format((len(bx) - 1)*0.1 , bx[-1] , max(by))) print('時速 : {0}km , 角度 : {1:.05}°'.format(vo / 1000 , deg0)) plt.plot(bx , by , linestyle = "dashed") plt.hlines(max(by) , 0 ,1,color="green") # 壁 plt.hlines( 0 , -2 , 2 , color="gray") plt.hlines(8.9 , 0.1 , 2 , color="gray") plt.hlines(7.6 , 0.1 , 0.15 , color="gray") plt.hlines(6.6 , 0.15 , 2 , color="gray") plt.vlines(2 , 6.6 , 8.9 , color="gray") plt.vlines(0.1 , 0 , 7.6 , color="gray") plt.vlines(0.15 , 0 , 7.6 , color="gray") plt.xlim(xlmi,xlmx) plt.ylim(ylmi,ylmx) plt.show()
用意ができたところで
軽く投げてみましょう。
# 打揚角度 [°] deg0 = 89.5 # 初速 [km] vo = 100000 egg_throw_viewer(mas,area,deg0,vo,ht,-1,1,-1,10)
めちゃめちゃ上の方に向かって投げますが
角度が浅いとしたの壁に
速度が早すぎると天井や上の壁にぶつかります。
成功パターンはこれでした。
# 打揚角度 [°] deg0 = 89.6 # 初速 [km] vo = 48400 egg_throw_viewer(mas,area,deg0,vo,ht,-1,1,-1,10)
これならギリ成功できます。
まとめ
卵は一般的なLサイズ(重量60g , 断面積12.5cm2)
壁際から時速 : 48.4km , 角度 : 89.6°で投げると
天井にもぶつからず、柵際10cmあたりの場所に
投げ込むことが出来ました。
投げ込むことが出来ました。
1投げで成功させたのは神の領域のコントロール
正に「奇跡」を呼ぶ「軌跡」
だったんでしょうねーーーーーーーーー
だったんでしょうねーーーーーーーーー
きっと1000卵ほど投げて練習したんでしょう
きっとスーパーから卵が無くなりますねそんなスーパーに近くに住んでいる人が
犯人なんでしょうwwwwwwww
真実は一つです。
それでは。