終界珍珠軌跡公式
目標
定義
差動位移嘅定義
差動位移向量 Δ S t 係某投擲物係下一遊戲刻嘅移動距離。
而Δ S t 嘅分量如下
Δ x t : 沿著 X 軸方向嘅分量
Δ y t : 沿著 Y 軸方向嘅分量
Δ z t : 沿著 Z 軸方向嘅分量
初速度嘅定義
初速度 向量 u (通常由TNT爆炸俾嘅)係
而 u 嘅分量如下
u x = Δ x 0 : 沿著 X 軸方向嘅分量
u y = Δ y 0 : 沿著 Y 軸方向嘅分量
u z = Δ z 0 : 沿著 Z 軸方向嘅分量
留意番 u (有時候寫做 u )只是用係講 初速度,即 Δ S 0 = u
終界珍珠嘅物理機制
初速度寫做 u ,而佢嘅絕對值係 ∣ u ∣ = Δ x 0 2 + Δ y 0 2 + Δ z 0 2 。
下面會用下劃線_寫法表示下標,例如 ΔS_0 就係 Δ S 0 。
終界珍珠嘅差動位移
終界珍珠嘅差動位移由以下三條公式定義,呢個係全世界都已經知。
(來源: Xcom6000 )
Δ X t + 1 Δ Y t + 1 Δ Z t + 1 = 0.99Δ X t = 0.99Δ Y t − 0.03 = 0.99Δ Z t
而 終界珍珠嘅阻力 係 0.99 ,-0.03係 「地心吸力 」。
如果要跳過載入終界珍珠拋射軌跡經過嘅所有區塊,終界珍珠嘅速度 ∣ Δ S t ∣ 最少要大過 320米每秒,或 16 格每遊戲刻。
步驟
拋射軌跡
拋射軌跡係終界珍珠受 TNT衝擊而飛緊個時,其高度對水平距離所形成嘅曲線。
呢個係加埋所有差動位移 S ( t ) 嘅總和。
S ( t ) S x ( t ) S y ( t ) S z ( t ) = τ = 0 ∑ t Δ S τ = τ = 0 ∑ t Δ x τ = τ = 0 ∑ t Δ y τ = τ = 0 ∑ t Δ z τ
X-Z 軸方向
推導 X-Z 方向嘅過程係比較簡單,因為呢個只係 0.99 嘅次方。
符號
u x : 沿著 X 軸方向嘅初速度分量
u z : 沿著 Z 軸方向嘅初速度分量
推導過程
以下用 X 軸方向 為例,同 Z 軸方向嘅求導方法一樣。以下 Δ x 指 X 軸方向嘅差動位移。
Δ x 0 Δ x 1 Δ x 2 Δ x 3 Δ x k = u x = 0.99 u x = 0.99 ( Δ x 1 ) = 0.99 ( Δ x 2 ) = 0.9 9 k u x
咁佢個總和就係拋射軌跡嘅 X 軸方向分量,對於時間 t 嘅 function S x ( t ) 。
S x ( t ) = k = 0 ∑ t Δ x k = u x k = 0 ∑ t 0.9 9 k = u x ( 1 − 0.99 1 − 0.9 9 t ) = 100 u x ( 1 − 0.9 9 t ) 幾何數列嘅總和
假設飛行高度一樣(Δ y t = 0),若 t 趨向無限(t → ∞ ),飛行距離就會係:
t → ∞ lim S x ( t ) = t → ∞ lim k = 0 ∑ t Δ x k = t → ∞ lim u x k = 0 ∑ t 0.9 9 k = u x 1 − 0.99 1 = 100 u x
Z 軸方向嘅計法一樣。
Y 軸方向
符號
u y :沿著 Y 軸方向嘅初速度分量
地心吸力 = -0.03
步驟
第 n 遊戲刻嘅差動位移公式
計算 Y 軸方向嘅差動位移公式要同時諗埋 終界珍珠嘅阻力 和 地心吸力 。因此需要更多步驟來處理。
Δ y 0 Δ y 1 Δ y 2 Δ y 3 ⋮ = u y = 0.99 u y − 0.03 = 0.99 ( Δ y 1 ) − 0.03 = 0.99 ( Δ y 2 ) − 0.03
化簡上面,
x 1 x 2 x 3 證明 P ( n ) : x n P ( 1 ) : x 1 = a x + b P ( k ) a P ( k ) + b = a x + b = a x 1 + b = a ( a x + b ) + b = a 2 x + ab + b = a x 2 + b = a ( a 2 x + ab + b ) + b = a 3 x + a 2 b + ab + b = a n x + b ( 1 − a 1 − a n ) = a 1 x + b ( 1 − a 1 − a ) = a x + b ∴ P ( 1 ) 成立。 = a k x + b ( 1 − a 1 − a k ) = a ( a k x + b ( 1 − a 1 − a k )) + b = a k + 1 x + b ( 1 − a a − a k + 1 + 1 − a ) = a k + 1 x + b ( 1 − a 1 − a k + 1 ) = P ( k + 1 ) ∴ P ( k ) → P ( k + 1 ) 成立。 ∴ x n ≡ a n x + b ( 1 − a 1 − a n ) 對符號 a , b , x t 用 「數學歸納法」 證明 P ( k ) → P ( k + 1 )
代入 a = 0.99 , b = − 0.03 .
Δ y t Δ y t Δ y t = 0.9 9 t u y − 0.03 ( 1 − 0.99 1 − 0.9 9 t ) = 0.9 9 t u y − 3 ( 1 − 0.9 9 t ) = 0.9 9 t ( u y + 3 ) − 3
Y 軸方向嘅軌跡公式
S y ( t ) = τ = 0 ∑ t Δ y τ = τ = 0 ∑ t 0.9 9 τ ( u y + 3 ) − 3 = ( u y + 3 ) ( 1 − 0.99 1 − 0.9 9 t ) − 3 t = 100 ( u y + 3 ) ( 1 − 0.9 9 t ) − 3 t
繪畫軌跡曲線
我們已經計左對每一分量嘅軌跡公式。L x z ( t ) 係在X-Z平面移動嘅總距離。
S x ( t ) = x ( t ) S y ( t ) = y ( t ) S z ( t ) = z ( t ) L x z ( t ) = 100 u x ( 1 − 0.9 9 t ) = 100 ( u y + 3 ) ( 1 − 0.9 9 t ) − 3 t = 100 u z ( 1 − 0.9 9 t ) = S x 2 ( t ) + S z 2 ( t ) = x 2 ( t ) + z 2 ( t ) = 100 ( 1 − 0.9 9 t ) u x 2 + u z 2
X-Y 面
我們要計左 x ( t ) 嘅Inverse先可以畫 y ( x ) 。
x ( t ) 100 u x x ( t ) 0.9 9 t t ( x ) = 100 u x ( 1 − 0.9 9 t ) = 1 − 0.9 9 t = 1 − 100 u x x ( t ) = log 0.99 ( 1 − 100 u x x ) x ( t ) Inverse
將 t ( x ) 代入 t 嚟計 y ( t ) ,
y ( t ) y ( t ( x )) = 100 ( u y + 3 ) ( 1 − 0.9 9 t ) − 3 t = 100 ( u y + 3 ) ( 1 − 0.9 9 t ( x ) ) − 3 t ( x )
代入 t ( x ) = log 0.99 ( 1 − 100 u x x ) ,
y ( t ( x )) y ( x ) = 100 ( u y + 3 ) ( 1 − 0.9 9 t ( x ) ) − 3 t ( x ) = 100 ( u y + 3 ) ( 1 − 0.9 9 l o g ( 99 ) − 2 l o g ( 1 − 100 u x x ) ) − 3 log ( 99 ) − 2 log ( 1 − 100 u x x )
L x z -Y 面
推導方法同搵 X-Y 面嘅方法差唔多,唯一唔同嘅係為留意 L x z ( t ) 而唔係 x ( t ) 。
L x z ( t ) 100 u x 2 + u z 2 L x z ( t ) 0.9 9 t t ( L x z ) = 100 ( 1 − 0.9 9 t ) u x 2 + u z 2 = 1 − 0.9 9 t = 1 − 100 u x 2 + u z 2 L x z ( t ) = log 0.99 ( 1 − 100 u x 2 + u z 2 L x z ) L x z ( t ) 嘅 Inverse
將 t = t ( L x z ) 代入 y ( t ) 。
y ( t ) y ( t ( L x z )) = 100 ( u y + 3 ) ( 1 − 0.9 9 t ) − 3 t = 100 ( u y + 3 ) ( 1 − 0.9 9 t ( L x z ) ) − 3 t ( L x z )
最終答案就係
y ( t ( L x z )) y ( L x z ) = 100 ( u y + 3 ) ( 1 − 0.9 9 t ( L x z ) ) − 3 t ( L x z ) = 100 ( u y + 3 ) ( 1 − 0.9 9 l o g 0.99 ( 1 − 100 u x 2 + u z 2 L x z ) ) − 3 log 0.99 ( 1 − 100 u x 2 + u z 2 L x z ) = 100 ( u y + 3 ) ( 100 u x 2 + u z 2 L x z ) − 3 log 0.99 ( 1 − 100 u x 2 + u z 2 L x z )
結果 (Desmos)
通用軌跡公式
留意
Δ x 1 Δ y 1 Δ z 1 = α u x = α u y + g = α u z
上面計咗當 α = 0.99 , g = − 0.03 嘅情況,以下計埋通用嘅公式。
差動位移
差動位移嘅計算方法同搵 X-Y 面嘅方法差唔多,t 代表時間。
Δ x t Δ y t Δ z t = α t u x = α t u y + g 1 − α 1 − α t = α t u z
拋射軌跡公式嘅分量
同之前差唔多,拋射軌跡公式係由時間 0 到時間 t 嘅差動位移總和。
X/Z/L x z 軸方向
用返上面用過嘅符號, S x ( t ) = x ( t ) , S z ( t ) = z ( t ) , L x z ( t ) = x 2 ( t ) + z 2 ( t )
x ( t ) z ( t ) L x z ( t ) = τ = 0 ∑ t α τ u x = u x τ = 0 ∑ t α τ = u x 1 − α 1 − α t = τ = 0 ∑ t α τ u z = u z τ = 0 ∑ t α τ = u z 1 − α 1 − α t = x 2 ( t ) + z 2 ( t ) = ( u x 1 − α 1 − α t ) 2 + ( u z 1 − α 1 − α t ) 2 = 1 − α 1 − α t u x 2 + u z 2
Y 軸方向
搵 Y 軸方向要小心同謹慎啲。因為我唔小心計錯左幾次。
S y ( t ) y ( t ) = y ( t ) = τ = 0 ∑ t ( α τ u y + g ( 1 − α 1 − α τ )) = u y τ = 0 ∑ t α τ + 1 − α g τ = 0 ∑ t ( 1 − α τ ) = u y 1 − α 1 − α t + 1 − α g τ = 0 ∑ t 1 − 1 − α g τ = 0 ∑ t α τ = u y 1 − α 1 − α t + 1 − α g t − 1 − α g 1 − a 1 − α t = u y 1 − α 1 − α t + 1 − α g t − g ( 1 − α ) 2 ( 1 − α t ) = ( u y − 1 − α g ) ( 1 − α 1 − α t ) + 1 − α g t
係 L x z -Y 面畫通用嘅拋射軌跡公式
搵 L x z ( t ) = S x 2 ( t ) + S z 2 ( t ) 嘅 Inverse
L x z ( t ) L x z ( t ) u x 2 + u z 2 1 − α α t t ( L x z ) = 1 − α 1 − α t u x 2 + u z 2 = 1 − α t = 1 − L x z ( t ) u x 2 + u z 2 1 − α = log α ( 1 − L x z u x 2 + u z 2 1 − α ) L x z ( t ) 嘅 Inverse
代入 t = t ( L x z )
y ( t ) y ( t ( L x z )) = ( u y − 1 − α g ) ( 1 − α 1 − α t ) + 1 − α g t = ( u y − 1 − α g ) ( 1 − α 1 − α t ( L x z ) ) + 1 − α g t ( L x z )
最後一步…
y ( t ( L x z )) = ( u y − 1 − α g ) ( 1 − α 1 − α t ( L x z ) ) + 1 − α g t ( L x z ) = ( u y − 1 − α g ) ( 1 − α 1 − α l o g α ( 1 − L x z u x 2 + u z 2 1 − α )) ) + 1 − α g log α ( 1 − L x z u x 2 + u z 2 1 − α ) = ( u y − 1 − α g ) ( 1 − α L x z u x 2 + u z 2 1 − α ) + 1 − α g log α ( 1 − L x z u x 2 + u z 2 1 − α ) = ( u y − 1 − α g ) ( u x 2 + u z 2 L x z ) + 1 − α g log α ( 1 − L x z u x 2 + u z 2 1 − α ) = ( u y − 1 − α g ) ( u x 2 + u z 2 L x z ) + 1 − α g log α ( 1 − u x 2 + u z 2 L x z ( 1 − α ) )
編者
馬上加入 HKRAE!
2020-09-13
返回主頁
終界珍珠軌跡公式
目標
已知初速度向量,應用數學模型,以推導其拋射軌跡公式
定義
差動位移的定義
差動位移向量 Δ S t 決定 其拋射物下一遊戲刻之移動距離。
而Δ S t 的分量如下
Δ x t : 沿著 X 軸方向的分量
Δ y t : 沿著 X 軸方向的分量
Δ z t : 沿著 X 軸方向的分量
初速度的定義
初速度 向量 u (通常由TNT爆炸給予)為下
而 u 的分量如下
u x = Δ x 0 : 沿著 X 軸方向的分量
u y = Δ y 0 : 沿著 Y 軸方向的分量
u z = Δ z 0 : 沿著 Z 軸方向的分量
留意 u (有時候寫作 u )只是用來描述 初速度,即 Δ S 0 = u
終界珍珠的物理機制
初速度標作 u ,而其絕對值為 ∣ u ∣ = Δ x 0 2 + Δ y 0 2 + Δ z 0 2 。以下的下劃線_寫法指作下標,例如 ΔS_0 指 Δ S 0 。
終界珍珠的差動位移
終界珍珠的差動位移由以下三個公式定義,這是已知事實。
(來源: Xcom6000 )
Δ X t + 1 Δ Y t + 1 Δ Z t + 1 = 0.99Δ X t = 0.99Δ Y t − 0.03 = 0.99Δ Z t
而 終界珍珠的阻力 是 0.99 ,-0.03是 「地心引力 」。
如果要跳過加載終界珍珠拋射軌跡經過的所有區塊,終界珍珠的速度 ∣ Δ S t ∣ 最少要大於 320米每秒,或 16 格每遊戲刻。
推導
拋射軌跡
拋射軌跡是 終界珍珠受 TNT衝擊而飛行時,其高度對水平距離所形成的曲線。
這是所有差動位移的總和 S ( t ) 。
S ( t ) S x ( t ) S y ( t ) S z ( t ) = τ = 0 ∑ t Δ S τ = τ = 0 ∑ t Δ x τ = τ = 0 ∑ t Δ y τ = τ = 0 ∑ t Δ z τ
X-Z 軸方向
推導 X-Z 方向的過程是比較簡單的,因為這只是 0.99 的次方。
符號
u x : 沿著 X 軸方向的初速度分量
u z : 沿著 Z 軸方向的初速度分量
推導過程
以下引 X 軸方向 為例,和 Z 軸方向的求導方法相同。以下 Δ x 指 X 軸方向的差動位移。
Δ x 0 Δ x 1 Δ x 2 Δ x 3 Δ x k = u x = 0.99 u x = 0.99 ( Δ x 1 ) = 0.99 ( Δ x 2 ) = 0.9 9 k u x
那麽,其總和就是拋射軌跡的 X 軸方向分量,對於時間 t 的函數 S x ( t ) 。
S x ( t ) = k = 0 ∑ t Δ x k = u x k = 0 ∑ t 0.9 9 k = u x ( 1 − 0.99 1 − 0.9 9 t ) = 100 u x ( 1 − 0.9 9 t ) 幾何數列的總和
假設飛行高度不變(Δ y t = 0),若 t 趨向無限(t → ∞ ),飛行距離則為:
t → ∞ lim S x ( t ) = t → ∞ lim k = 0 ∑ t Δ x k = t → ∞ lim u x k = 0 ∑ t 0.9 9 k = u x 1 − 0.99 1 = 100 u x
Z 軸方向的求導方法相同。
Y 軸方向
符號
u y :沿著 Y 軸方向的初速度分量
地心引力 = -0.03
推導過程
第 n 遊戲刻的差動位移公式
計算 Y 軸方向的差動位移公式需同時考慮 終界珍珠的阻力 和 地心引力 。因此需要更多步驟來處理。
Δ y 0 Δ y 1 Δ y 2 Δ y 3 ⋮ = u y = 0.99 u y − 0.03 = 0.99 ( Δ y 1 ) − 0.03 = 0.99 ( Δ y 2 ) − 0.03
化簡以上,
x 1 x 2 x 3 證明 P ( n ) : x n P ( 1 ) : x 1 = a x + b P ( k ) a P ( k ) + b = a x + b = a x 1 + b = a ( a x + b ) + b = a 2 x + ab + b = a x 2 + b = a ( a 2 x + ab + b ) + b = a 3 x + a 2 b + ab + b = a n x + b ( 1 − a 1 − a n ) = a 1 x + b ( 1 − a 1 − a ) = a x + b ∴ P ( 1 ) 成立。 = a k x + b ( 1 − a 1 − a k ) = a ( a k x + b ( 1 − a 1 − a k )) + b = a k + 1 x + b ( 1 − a a − a k + 1 + 1 − a ) = a k + 1 x + b ( 1 − a 1 − a k + 1 ) = P ( k + 1 ) ∴ P ( k ) → P ( k + 1 ) 成立。 ∴ x n ≡ a n x + b ( 1 − a 1 − a n ) 對於符號 a , b , x t 參考 「數學歸納法」 證明 P ( k ) → P ( k + 1 )
代入 a = 0.99 , b = − 0.03 .
Δ y t Δ y t Δ y t = 0.9 9 t u y − 0.03 ( 1 − 0.99 1 − 0.9 9 t ) = 0.9 9 t u y − 3 ( 1 − 0.9 9 t ) = 0.9 9 t ( u y + 3 ) − 3
Y 軸方向的軌跡公式
S y ( t ) = τ = 0 ∑ t Δ y τ = τ = 0 ∑ t 0.9 9 τ ( u y + 3 ) − 3 = ( u y + 3 ) ( 1 − 0.99 1 − 0.9 9 t ) − 3 t = 100 ( u y + 3 ) ( 1 − 0.9 9 t ) − 3 t
繪畫軌跡曲線
我們已經推導了對每一分量的軌跡公式。L x z ( t ) 是在X-Z平面移動的總距離。
S x ( t ) = x ( t ) S y ( t ) = y ( t ) S z ( t ) = z ( t ) L x z ( t ) = 100 u x ( 1 − 0.9 9 t ) = 100 ( u y + 3 ) ( 1 − 0.9 9 t ) − 3 t = 100 u z ( 1 − 0.9 9 t ) = S x 2 ( t ) + S z 2 ( t ) = x 2 ( t ) + z 2 ( t ) = 100 ( 1 − 0.9 9 t ) u x 2 + u z 2
X-Y 面
我們須先推導 x ( t ) 的逆函數來繪畫 y ( x ) 。
x ( t ) 100 u x x ( t ) 0.9 9 t t ( x ) = 100 u x ( 1 − 0.9 9 t ) = 1 − 0.9 9 t = 1 − 100 u x x ( t ) = log 0.99 ( 1 − 100 u x x ) x ( t ) 逆函數
將 t ( x ) 代入 t 來計算 y ( t ) ,
y ( t ) y ( t ( x )) = 100 ( u y + 3 ) ( 1 − 0.9 9 t ) − 3 t = 100 ( u y + 3 ) ( 1 − 0.9 9 t ( x ) ) − 3 t ( x )
代入 t ( x ) = log 0.99 ( 1 − 100 u x x ) ,
y ( t ( x )) y ( x ) = 100 ( u y + 3 ) ( 1 − 0.9 9 t ( x ) ) − 3 t ( x ) = 100 ( u y + 3 ) ( 1 − 0.9 9 l o g ( 99 ) − 2 l o g ( 1 − 100 u x x ) ) − 3 log ( 99 ) − 2 log ( 1 − 100 u x x )
L x z -Y 面
推導方法和求得 X-Y 面的方法相似,唯一相異為考慮 L x z ( t ) 而非 x ( t ) 。
L x z ( t ) 100 u x 2 + u z 2 L x z ( t ) 0.9 9 t t ( L x z ) = 100 ( 1 − 0.9 9 t ) u x 2 + u z 2 = 1 − 0.9 9 t = 1 − 100 u x 2 + u z 2 L x z ( t ) = log 0.99 ( 1 − 100 u x 2 + u z 2 L x z ) L x z ( t ) 的逆函數
把 t = t ( L x z ) 代入 y ( t ) 。
y ( t ) y ( t ( L x z )) = 100 ( u y + 3 ) ( 1 − 0.9 9 t ) − 3 t = 100 ( u y + 3 ) ( 1 − 0.9 9 t ( L x z ) ) − 3 t ( L x z )
最終答案為
y ( t ( L x z )) y ( L x z ) = 100 ( u y + 3 ) ( 1 − 0.9 9 t ( L x z ) ) − 3 t ( L x z ) = 100 ( u y + 3 ) ( 1 − 0.9 9 l o g 0.99 ( 1 − 100 u x 2 + u z 2 L x z ) ) − 3 log 0.99 ( 1 − 100 u x 2 + u z 2 L x z ) = 100 ( u y + 3 ) ( 100 u x 2 + u z 2 L x z ) − 3 log 0.99 ( 1 − 100 u x 2 + u z 2 L x z )
結果 (Desmos)
通用軌跡公式
留意以下
Δ x 1 Δ y 1 Δ z 1 = α u x = α u y + g = α u z
上一章節推導了以 α = 0.99 , g = − 0.03 的特解,以下將推算其通解。
差動位移
差動位移的計算方法和之前的非常相似,t 代表時間。
Δ x t Δ y t Δ z t = α t u x = α t u y + g 1 − α 1 − α t = α t u z
拋射軌跡公式的分量
和之前相似,拋射軌跡公式是由時間 0 到時間 t 的差動位移總和。
X/Z/L x z 軸方向
沿用之前使用過的符號, S x ( t ) = x ( t ) , S z ( t ) = z ( t ) , L x z ( t ) = x 2 ( t ) + z 2 ( t )
x ( t ) z ( t ) L x z ( t ) = τ = 0 ∑ t α τ u x = u x τ = 0 ∑ t α τ = u x 1 − α 1 − α t = τ = 0 ∑ t α τ u z = u z τ = 0 ∑ t α τ = u z 1 − α 1 − α t = x 2 ( t ) + z 2 ( t ) = ( u x 1 − α 1 − α t ) 2 + ( u z 1 − α 1 − α t ) 2 = 1 − α 1 − α t u x 2 + u z 2
Y 軸方向
推導 Y 軸方向需要一點點苦功和謹慎。因為我大意錯了幾次。
S y ( t ) y ( t ) = y ( t ) = τ = 0 ∑ t ( α τ u y + g ( 1 − α 1 − α τ )) = u y τ = 0 ∑ t α τ + 1 − α g τ = 0 ∑ t ( 1 − α τ ) = u y 1 − α 1 − α t + 1 − α g τ = 0 ∑ t 1 − 1 − α g τ = 0 ∑ t α τ = u y 1 − α 1 − α t + 1 − α g t − 1 − α g 1 − a 1 − α t = u y 1 − α 1 − α t + 1 − α g t − g ( 1 − α ) 2 ( 1 − α t ) = ( u y − 1 − α g ) ( 1 − α 1 − α t ) + 1 − α g t
於 L x z -Y 面繪製通用拋射軌跡公式
推算 L x z ( t ) = S x 2 ( t ) + S z 2 ( t ) 的逆函數
L x z ( t ) L x z ( t ) u x 2 + u z 2 1 − α α t t ( L x z ) = 1 − α 1 − α t u x 2 + u z 2 = 1 − α t = 1 − L x z ( t ) u x 2 + u z 2 1 − α = log α ( 1 − L x z u x 2 + u z 2 1 − α ) L x z ( t ) 的逆函數
代入 t = t ( L x z )
y ( t ) y ( t ( L x z )) = ( u y − 1 − α g ) ( 1 − α 1 − α t ) + 1 − α g t = ( u y − 1 − α g ) ( 1 − α 1 − α t ( L x z ) ) + 1 − α g t ( L x z )
最後一步…
y ( t ( L x z )) = ( u y − 1 − α g ) ( 1 − α 1 − α t ( L x z ) ) + 1 − α g t ( L x z ) = ( u y − 1 − α g ) ( 1 − α 1 − α l o g α ( 1 − L x z u x 2 + u z 2 1 − α )) ) + 1 − α g log α ( 1 − L x z u x 2 + u z 2 1 − α ) = ( u y − 1 − α g ) ( 1 − α L x z u x 2 + u z 2 1 − α ) + 1 − α g log α ( 1 − L x z u x 2 + u z 2 1 − α ) = ( u y − 1 − α g ) ( u x 2 + u z 2 L x z ) + 1 − α g log α ( 1 − L x z u x 2 + u z 2 1 − α ) = ( u y − 1 − α g ) ( u x 2 + u z 2 L x z ) + 1 − α g log α ( 1 − u x 2 + u z 2 L x z ( 1 − α ) )
編者
馬上加入 HKRAE!
2020-09-13
返回主頁
Ender Pearl Trajectory
Objective
To investigate the trajectory of an ender pearl given its initial velocity vector.
To apply mathematical model to formulate the trajectory.
To predict the fly track accurately using math models and tools.
Definitions
Definition of displacement differnetials
The displacement differential vector Δ S t determines how far the projectile needs to be travelled in the next game tick.
Where componenets of Δ S t are the following
Δ x t : Along the X direction
Δ y t : Along the Y direction
Δ z t : Along the Z direction
Definition of initial velocity
The initial velocity vector u (often supplied by TNT explosions) are given by
The components of u are symbolized as below
u x = Δ x 0 : Initial velocity along X direction
u y = Δ y 0 : Initial velocity along Y direction
u z = Δ z 0 : Initial velocity along Z direction
Note that symbol u (sometimes written as u ) is only used to describe initial velocity at t=0 .
Note that Δ S 0 = u
Ender Pearl physics
The initial velocity is given by u , where ∣ u ∣ = Δ x 0 2 + Δ y 0 2 + Δ z 0 2 . The notation of ΔS_0 represents a subscript, i.e. Δ S 0
Ender Pearl Displacement Differential
The displacement differential are given by the following three formulas. These are known facts.
(Source: Xcom6000 )
Δ X t + 1 Δ Y t + 1 Δ Z t + 1 = 0.99Δ X t = 0.99Δ Y t − 0.03 = 0.99Δ Z t
Where 0.99 is the pearl drag , -0.03 would be the gravity .
To skip chunk loading for all chunks in flight (Only center chunks), ∣ Δ S t ∣ > 320 m/s, or 16 blocks/tick (i.e. the side length of 1 chunk).
Derivation
Trajectory
Trajectory is the flight curve that an ender pearl has travelled.
This would be the sum of displacement differential S ( t ) In other words
S ( t ) S x ( t ) S y ( t ) S z ( t ) = τ = 0 ∑ t Δ S τ = τ = 0 ∑ t Δ x τ = τ = 0 ∑ t Δ y τ = τ = 0 ∑ t Δ z τ
X-Z direction
Deriving on X-Z would be rather simple as it is just a matter of the powers of 0.99
Variables
u x
u z
Derivation
Take X direction for example, same for Z direction. In here, the Δ x means the displacement differential on X direction.
Δ x 0 Δ x 1 Δ x 2 Δ x 3 Δ x k = u x = 0.99 u x = 0.99 ( Δ x 1 ) = 0.99 ( Δ x 2 ) = 0.9 9 k u x
Then its sum, i.e. the X component of the trajectory with respect to time S x ( t ) would be
S x ( t ) = k = 0 ∑ t Δ x k = u x k = 0 ∑ t 0.9 9 k = u x ( 1 − 0.99 1 − 0.9 9 t ) = 100 u x ( 1 − 0.9 9 t ) Sum of GS
There will be a flight distance limit, if t → ∞ . (Assume constant height, Δ y t = 0)
t → ∞ lim S x ( t ) = t → ∞ lim k = 0 ∑ t Δ x k = t → ∞ lim u x k = 0 ∑ t 0.9 9 k = u x 1 − 0.99 1 = 100 u x
Same goes for Z direction.
Y-direction
Variables
u y
Gravity = -0.03
Derivation
The Y direction have both pearl drag and gravity . It takes some more steps to tackle it.
Δ y 0 Δ y 1 Δ y 2 Δ y 3 ⋮ = u y = 0.99 u y − 0.03 = 0.99 ( Δ y 1 ) − 0.03 = 0.99 ( Δ y 2 ) − 0.03
Simplifying the expression
x 1 x 2 x 3 Proposition P ( n ) : x n P ( 1 ) : x 1 = a x + b P ( k ) a P ( k ) + b = a x + b = a x 1 + b = a ( a x + b ) + b = a 2 x + ab + b = a x 2 + b = a ( a 2 x + ab + b ) + b = a 3 x + a 2 b + ab + b = a n x + b ( 1 − a 1 − a n ) = a 1 x + b ( 1 − a 1 − a ) = a x + b ∴ P ( 1 ) is true. = a k x + b ( 1 − a 1 − a k ) = a ( a k x + b ( 1 − a 1 − a k )) + b = a k + 1 x + b ( 1 − a a − a k + 1 + 1 − a ) = a k + 1 x + b ( 1 − a 1 − a k + 1 ) = P ( k + 1 ) ∴ P ( k ) → P ( k + 1 ) is true. ∴ x n ≡ a n x + b ( 1 − a 1 − a n ) Consider variables a , b , x t See Mathematical induction Prove P ( k ) → P ( k + 1 )
Subsititude a = 0.99 , b = − 0.03 .
Δ y t Δ y t Δ y t = 0.9 9 t u y − 0.03 ( 1 − 0.99 1 − 0.9 9 t ) = 0.9 9 t u y − 3 ( 1 − 0.9 9 t ) = 0.9 9 t ( u y + 3 ) − 3
S y ( t ) = τ = 0 ∑ t Δ y τ = τ = 0 ∑ t 0.9 9 τ ( u y + 3 ) − 3 = ( u y + 3 ) ( 1 − 0.99 1 − 0.9 9 t ) − 3 t = 100 ( u y + 3 ) ( 1 − 0.9 9 t ) − 3 t
Plotting the trajectory curve
We have obtained these trajectory formulas for individual components. L x z ( t ) is the total distance travelled on the X-Z plane.
S x ( t ) = x ( t ) S y ( t ) = y ( t ) S z ( t ) = z ( t ) L x z ( t ) = 100 u x ( 1 − 0.9 9 t ) = 100 ( u y + 3 ) ( 1 − 0.9 9 t ) − 3 t = 100 u z ( 1 − 0.9 9 t ) = S x 2 ( t ) + S z 2 ( t ) = x 2 ( t ) + z 2 ( t ) = 100 ( 1 − 0.9 9 t ) u x 2 + u z 2
X-Y plane
We want to plot y ( x ) . To plot this, we first find inverse of x ( t ) to resolve t = x − 1 ( x ) .
x ( t ) 100 u x x ( t ) 0.9 9 t t ( x ) = 100 u x ( 1 − 0.9 9 t ) = 1 − 0.9 9 t = 1 − 100 u x x ( t ) = log 0.99 ( 1 − 100 u x x ) Inverse of x ( t )
Now to plot it we can simply subsititude t = t ( x ) to get y ( t )
y ( t ) y ( t ( x )) = 100 ( u y + 3 ) ( 1 − 0.9 9 t ) − 3 t = 100 ( u y + 3 ) ( 1 − 0.9 9 t ( x ) ) − 3 t ( x )
To link up all, where t ( x ) = log 0.99 ( 1 − 100 u x x )
y ( t ( x )) y ( x ) = 100 ( u y + 3 ) ( 1 − 0.9 9 t ( x ) ) − 3 t ( x ) = 100 ( u y + 3 ) ( 1 − 0.9 9 l o g ( 99 ) − 2 l o g ( 1 − 100 u x x ) ) − 3 log ( 99 ) − 2 log ( 1 − 100 u x x )
L x z -Y plane
The method of deriving is very similar to the way we derived X-Y plane. The only difference would be considering L x z ( t ) instead of x ( t ) .
L x z ( t ) 100 u x 2 + u z 2 L x z ( t ) 0.9 9 t t ( L x z ) = 100 ( 1 − 0.9 9 t ) u x 2 + u z 2 = 1 − 0.9 9 t = 1 − 100 u x 2 + u z 2 L x z ( t ) = log 0.99 ( 1 − 100 u x 2 + u z 2 L x z ) Inverse of L x z ( t )
Subsititude it to y ( t ) where t = t ( L x z ) .
y ( t ) y ( t ( L x z )) = 100 ( u y + 3 ) ( 1 − 0.9 9 t ) − 3 t = 100 ( u y + 3 ) ( 1 − 0.9 9 t ( L x z ) ) − 3 t ( L x z )
One step further, but often unnecessary,
y ( t ( L x z )) y ( L x z ) = 100 ( u y + 3 ) ( 1 − 0.9 9 t ( L x z ) ) − 3 t ( L x z ) = 100 ( u y + 3 ) ( 1 − 0.9 9 l o g 0.99 ( 1 − 100 u x 2 + u z 2 L x z ) ) − 3 log 0.99 ( 1 − 100 u x 2 + u z 2 L x z ) = 100 ( u y + 3 ) ( 100 u x 2 + u z 2 L x z ) − 3 log 0.99 ( 1 − 100 u x 2 + u z 2 L x z )
Result (Desmos)
Generalized projectile trajectory
Consider the following
Δ x 1 Δ y 1 Δ z 1 = α u x = α u y + g = α u z
In the previous section, we have derived the particular solution for α = 0.99 , g = − 0.03 . In this section, we will make our attempt to obtain a general solution.
Displacement differentials
The displacement differentials are very similar as before. t represents the number of game ticks eplased.
Δ x t Δ y t Δ z t = α t u x = α t u y + g 1 − α 1 − α t = α t u z
Components of trajectory
Similar as before, the trajectory is the sum of displacement differentials from 0 to t .
X/Z/L x z direction
Following the same notation as above, S x ( t ) = x ( t ) , S z ( t ) = z ( t ) , L x z ( t ) = x 2 ( t ) + z 2 ( t )
x ( t ) z ( t ) L x z ( t ) = τ = 0 ∑ t α τ u x = u x τ = 0 ∑ t α τ = u x 1 − α 1 − α t = τ = 0 ∑ t α τ u z = u z τ = 0 ∑ t α τ = u z 1 − α 1 − α t = x 2 ( t ) + z 2 ( t ) = ( u x 1 − α 1 − α t ) 2 + ( u z 1 − α 1 − α t ) 2 = 1 − α 1 − α t u x 2 + u z 2
Y direction
Deriving Y-direction takes a little bit of hard work and extra attention. I must not say I was way too careless
S y ( t ) y ( t ) = y ( t ) = τ = 0 ∑ t ( α τ u y + g ( 1 − α 1 − α τ )) = u y τ = 0 ∑ t α τ + 1 − α g τ = 0 ∑ t ( 1 − α τ ) = u y 1 − α 1 − α t + 1 − α g τ = 0 ∑ t 1 − 1 − α g τ = 0 ∑ t α τ = u y 1 − α 1 − α t + 1 − α g t − 1 − α g 1 − a 1 − α t = u y 1 − α 1 − α t + 1 − α g t − g ( 1 − α ) 2 ( 1 − α t ) = ( u y − 1 − α g ) ( 1 − α 1 − α t ) + 1 − α g t
Plotting generalized trajectory on L x z -Y plane
Derive inverse of L x z ( t ) = S x 2 ( t ) + S z 2 ( t )
L x z ( t ) L x z ( t ) u x 2 + u z 2 1 − α α t t ( L x z ) = 1 − α 1 − α t u x 2 + u z 2 = 1 − α t = 1 − L x z ( t ) u x 2 + u z 2 1 − α = log α ( 1 − L x z u x 2 + u z 2 1 − α ) Inverse of L x z ( t )
Substitute t = t ( L x z )
y ( t ) y ( t ( L x z )) = ( u y − 1 − α g ) ( 1 − α 1 − α t ) + 1 − α g t = ( u y − 1 − α g ) ( 1 − α 1 − α t ( L x z ) ) + 1 − α g t ( L x z )
One last step…
y ( t ( L x z )) = ( u y − 1 − α g ) ( 1 − α 1 − α t ( L x z ) ) + 1 − α g t ( L x z ) = ( u y − 1 − α g ) ( 1 − α 1 − α l o g α ( 1 − L x z u x 2 + u z 2 1 − α )) ) + 1 − α g log α ( 1 − L x z u x 2 + u z 2 1 − α ) = ( u y − 1 − α g ) ( 1 − α L x z u x 2 + u z 2 1 − α ) + 1 − α g log α ( 1 − L x z u x 2 + u z 2 1 − α ) = ( u y − 1 − α g ) ( u x 2 + u z 2 L x z ) + 1 − α g log α ( 1 − L x z u x 2 + u z 2 1 − α ) = ( u y − 1 − α g ) ( u x 2 + u z 2 L x z ) + 1 − α g log α ( 1 − u x 2 + u z 2 L x z ( 1 − α ) )
Author
computerbigboom@HKRAE
HyperXraft@HKRAE
Join HKRAE!
2020-09-13
Back to home