我刚刚读过this教程。这是关于游戏开发的,它基本上说我需要将加速度、速度、位置存储为 vector 来制作游戏物理。希望这是有道理的!我现在需要选择数据类型...例如我需要存储诸如...之类的值
(3, 5, 2)
(6, 2, 3)
(2, 3)
另外,我需要像这样进行加法和减法......
(0, 1, 4) + (3, -2, 5) = (0 + 3, 1 - 2, 4 + 5) = (3, -1,9)
在这种情况下我应该使用什么数据类型?
对于一个 vector ,可能有两个整数( float / double )?也许一个 vector 的数组,其中值是整数( float / double )?
最佳答案
听起来你想要三个值(可能是双倍):
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
}
请注意,我已将其设为不可变 - 这并不总是性能的最佳选择(这可能与您的情况相关),但有助于提高可读性。
关于java - 如何在Java中存储 vector ?数据类型是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5844193/