这似乎是一个非常简单的问题需要解决,但我发现的一切都太复杂了,我无法理解。
我有一个基本的弹道方程:
既然我知道v,g,x和y,我怎么才能找到θ呢在纸上读起来很容易,但我不知道如何在代码中实现这一点。
[编辑3:]我的尝试(从下面的答案输入)是:

gx = g*x
brackets = gx^2 + 2*y*v^2
sqrroot = sqrt( v^4 - g*brackets )

top1 = v^2 + sqrroot
theta1 = atan( top1 / gx )

top2 = v^2 - sqrroot
theta2 = atan( top2 / gx )

最佳答案

你忽略了一个解决方案-你有

top = v^2 + sqrroot

但你也需要重新计算
top = v^2 - sqrroot

来解释你的方程式中的±
所以:
top1 = v^2 + sqrroot
top2 = v^2 - sqrroot

theta1 = atan(top1 / gx)
theta2 = atan(top2 / gx)

(我不知道您的代码中有什么equation,但我假设您的意思是top

09-16 15:51