如何在Java中存储向量?数据类型是什么?
我刚读了教程。这是关于游戏开发的,它基本上说我需要存储加速度,速度,位置作为向量来制作游戏物理。希望它有意义!我现在需要选择数据类型。。。例如,我需要存储值,如 3,5,2 6,2,3 2,3 还有,我需要像这样做加法和减法 0,1,4+3,-2,5=0+3,1-2,4+5=3,-1,9 在这种情况下,我应该使用什么数据类型如何在Java中存储向量?数据类型是什么?,java,vector,Java,Vector,我刚读了教程。这是关于游戏开发的,它基本上说我需要存储加速度,速度,位置作为向量来制作游戏物理。希望它有意义!我现在需要选择数据类型。。。例如,我需要存储值,如 3,5,2 6,2,3 2,3 还有,我需要像这样做加法和减法 0,1,4+3,-2,5=0+3,1-2,4+5=3,-1,9 在这种情况下,我应该使用什么数据类型 对于一个向量,两个整数可能是浮点数/双精度数?可能是一个向量的数组,其中的值是整数浮点数/双倍数?听起来您想要三个值可能是双倍数: public class Vector3
对于一个向量,两个整数可能是浮点数/双精度数?可能是一个向量的数组,其中的值是整数浮点数/双倍数?听起来您想要三个值可能是双倍数:
public class Vector3
{
private final double x;
private final double y;
private final double z;
public Vector3(double x, double y, double z)
{
this.x = x;
this.y = y;
this.z = z;
}
public Vector3 plus(Vector3 other)
{
return new Vector3(x + other.x, y + other.y, z + other.z);
}
// etc
}
请注意,我已将此设置为不可变-这并不总是性能的最佳选择,它可能与您的情况相关,但有助于提高可读性。可能有用。或者您可以使用泛型:
public interface MathVector<T extends Number>
{
MathVector<T> add(MathVector<T> addend);
T innerProduct();
// Vectors have more than this, but it makes the point
}
但如何将值1、2、3存储为整数?我看到有三个整数,但我需要将它们存储在一个值中。@daGrevis:你没有。您有三个值—将它们存储为三个值。对包含三个值的对象保留一个引用。对于类和对象如何在Java中工作,您有多少经验?这将是非常重要的…改变矢量,但数组呢?也许我可以这样做:'double[]position={2,-6};'?我通过搜索不带引号的java类实例发现了这一点。