| 123456789101112131415161718192021222324 |
- 求弓箭发射到指定坐标所需要的角度,如果没有解,则按弓的角度发射。
- 已知初速度大小V,重力g,起始坐标(a1,a2),目标坐标(b1,b2)。
- 解:
- 1、列出关系式
- Δx = b1 - a1;
- Δy = b2 - a2;
- Vx = V * cos(angle)
- Vy = V * sin(angle)
- Vy * t + 1/2 * g * t^2 = Δy
- Vx * t = Δx
- t = Δx / Vx
- 2、推导过程
- (V * sin(angle)) * Δx / (V * cos(angle)) + 1/2 * g * Δx^2 / (V^2*cos(angle)^2) = Δy
- tan(angle) * Δx + 1/2 * g * Δx^2 / (V^2*cos(angle)^2) = Δy
- tan(angle) * Δx + 1/2 * g * (Δx^2 / V^2) * (1 + tan(angle)^2) = Δy
- 3、根据求根公式得出结论
- a = 1/2 * g * Δx^2 / V^2
- b = Δx
- c = a - Δy
- d = tan(angle) = (-b ± (b^2 - 4*a*c)^0.5) / (2*a)
- angle = atan(d)
|