求救...这个运动轨迹怎么求啊?
已知高尔夫的初始点k,经过第一点x的时间为t,经过第二点的y时间为n,并且知道k到x的距离为s,x到y的距离为m,求高尔夫的运动轨迹.
(高尔夫的重量为45克, 直径是42毫米.)
[解决办法]
呵呵,这题不好做啊!
一切取理想情况.
水平方向是均速运动,垂直方向只考虑重力加速度g(9.8米平方每秒);
球的水平初速度为VX,垂直初速度为VY,
第一个点x的坐标为(DX1,DY1),第二个点y的坐标为(DX2,DY2)
分三种情况,
情况一,两个点都在球向上的运动过程中.
DX1 = VX * t;
DY1 = VY * t - 1/2 * g * t * t;
第一个点的距离为s得
DX1 * DX1 + DY1 * DY1 = s * s; ------(1)
//解的时候将DX1,DY1的方程代入
DX2 = VX * n;
DY2 = VY * n - 1/2 * g * n * n;
第二个点到第一个点的距离为m
(DX2 - DX1 ) * (DX2 - DX1) + (DY2 - DY1)*(DY2 - DY1) = m * m;------(2)
//解的时候将DX2,DY2的方程代入
解以上(1)和(2)方程就可以得到VX,VY;
就可以求出DX1,DY1,DX2,DY2
轨迹为抛物线y = a *x * x + b * x + c;
代入点(DX1,DY1),(DX2,DY2),(0,0)就可以求出a,b,c就可以得到轨迹了.
情况二,
点x在上升的过程事,点y在下降的过程中;
DY1 = VY * t - 1/2 * g * t * t;
DY2 = VY * (VY / g) - 1/2 * g * (n - VY / g ) * ( n - VY /g);
其它的同情况一
情况三
两个点都在下降的过程中
DY1 = VY * (VY / g) - 1/2 * g * (t - VY / g) * ( t - VY / g);
DY2 = VY * (VY / g) - 1/2 * g * (n - VY / g ) * ( n - VY /g);
其它的同情况一
至于非理想情况,要考虑到空气的阻力,而空气的阻力又和球的速度,质量,大气压等有关。
球下降后还滚动,还要和地面的摩擦力。很不好说啊!
[解决办法]
阻力+重力, 受力就这么简单。
假设一个 阻力 F,初速度 v,对阻力分解,
计算水平以及垂直方向的 加速度,
然后就可以根据已知的三点进行方程组计算了 ~~
[解决办法]
楼主是做游戏是吧.
所以并不需要在一始把整个路线求解.
可以把整个轨迹分成无数个小段来求解(中学物理中好像老这么搞吧, 那时候还没学过微积分).
若高数学得好当然也可以把整个路线公式整出来.
把每个小段独立开来看,
假设每个小段的路线均需要Δt的时间,
那么在这个Δt时间内,可以认为球是在做均加速直线运动.
它的初始速度v0已知(就是上一个Δt均加速直线运动结速时的速度v1 '),
所有与速度有关的受力均以初速度v0来计算,
所有与环境(时间)有关的受力均以这个Δt时间的起时时间来算,
这样就可以算出它在这个Δt时间内所受到的合力F,
因此加速度a也就出来了.
于是可以描出这样一个很小的线段, 而且其结速时速度也可算出来v1 = v0+a*Δt.
v1出来了就可以进行下一个Δt时间段的计算了.
如此循环, 直到球进洞或v1足够小(你让为球没动了)为止.
至于和地面碰撞, 用动量和能量来算应当不难吧.
Δt分得越小, 得出的线条越细, 结果越逼真, 但计算会加大.
但以上方法好像无法满足楼主已知三个点的求整个路径的要求.
若非得这样, 还是找高手把积分方程搞出来化简吧.