如何在Java中存储向量?什么是数据类型?

daG*_*vis 0 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)

在这种情况下我应该使用哪种数据类型?

对于一个向量,可能有两个整数(浮点数/双精度数)?也许数组为一个向量,其中值是整数(浮点数/双精度数)?

Jon*_*eet 8

听起来你想要三个值(可能是双倍):

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
}
Run Code Online (Sandbox Code Playgroud)

请注意,我已经将其变为不可变 - 这并不总是性能的最佳选择(可能与您的情况相关),但有助于提高可读性.