/***********分解三維空間拋物線************* 計算方法:已知空間兩點,起始點(x0,y0,z0)與目標點(x1,y1,z1) 轉化三維到二維 將起始點作為原點,用 目標點的向量v1(x1,y1) - 起始點的向量v0(x0,y0)得到方向向量 vectorReal 用得到的向量vectorReal的長度(模)作為新二維的x,原來三維的z作為新二維的y 規定: 三維的 起始點 為新二維的 原點(0,0) 三維的 目標點的 x值為: len(v1,v0) y值為:z1 - z0 !!再選取他們的 中間點,且高度為長度一半,作為拋物線必經點,來計算一個簡單的拋物線 中間點 x值:len(v1,v0)/2.0 y值: max(len(v1,v0)/2.0 , (z1 - z0)) 這個二維拋物線經過以上三個點 */ /***********計算二維拋物線************** 已知兩點 A(x0 y0) 與 B(x1 y1) 是x非0的點 拋物線公式: y = a*x*x + b*x + c 由於拋物線經過(0,0)點, 所以 c 為 0 公式: y = a*x*x + b*x 帶入推導: ===>>> a=(y1*x0 - x1*y0)/(x0*x1*(x1 - x0)) ===>>> b=(y0/x0 - a*x0) */
我這里已知只有空間中的發射點和定中目標點,中間飛行經過的點是自己定的。
計算方式是,將三維的點轉化到二維計算,再通過向量反算出三維的坐標即可。