/***********分解三维空间抛物线************* 计算方法:已知空间两点,起始点(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) */
我这里已知只有空间中的发射点和定中目标点,中间飞行经过的点是自己定的。
计算方式是,将三维的点转化到二维计算,再通过向量反算出三维的坐标即可。