我正在尝试实现一个方程来计算java中的射弹运动。我已经完成了所有设置,我只需要实现方程,我不知道如何去做。我将如何在java中实现以下等式:
我知道Sin,Cos和Tan可以通过使用Math.Sin等来实现。我真的不确定其余部分。我没有添加所有内容,因为它不需要。我只需要知道如何将其实现到代码中。我知道一切在数学上都是如何运作的。只是不确定java代码的实现。
R = 500 Vo = 25 theta = 30
答案 0 :(得分:2)
这取决于您对实施的要求。在不知道你想要完成什么的情况下,我建议定义一个表示二维向量的类。 (有一个班级java.util.Vector
,但它与我认为你想要做的事情完全无关。)在内部,班级将有两个float
(或double
)向量的 i 和 j 组件的字段,并且可以使用方法执行计算。
或者,如果您只想要一个向量的表示并希望将计算作为另一个类的一部分来实现,那么您可以简单地使用一个双元素数组(new double[2]
)并维护一个内部约定< b> i 和 j 组件分别位于索引0和1处。
在任何一种情况下,您都可以一次完成一个组件的计算。
编辑:根据请求,这里有一些示例代码:
public class Vector {
private double i, j; // the component values
public Vector(double v0, double theta) {
i = v0 * Math.cos(theta);
j = v0 * Math.sin(theta);
}
public double iComponent() {
return i;
}
public double jComponent() {
return j;
}
}