这似乎是一个非常简单的问题需要解决,但我发现的一切都太复杂了,我无法理解。
我有一个基本的弹道方程:
既然我知道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
)