とあるビルに卵が投げつけられたそうなので
検証してみることとしました
解説動画はこちら
さて、この事件のように階下の道から卵を投げて
このような状況になるのか検証してみました。
とあるビルを再現するかのような画像が
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
真実は一つです。
それでは。

コメントする