我刚看完这个教程.它是关于游戏开发的,它基本上说我需要将加速度,速度,位置存储为矢量来制作游戏物理.希望它有意义!我现在需要选择数据类型...例如我需要存储像...这样的值
(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
{
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)
请注意,我已经将其变为不可变 - 这并不总是性能的最佳选择(可能与您的情况相关),但有助于提高可读性.