你可以做向量加法在Java中,原生?(Can you do Vector addition in J

2019-09-01 15:44发布

我知道有在Java中的“矢量”类,但它似乎只是一个简单的ArrayList的交易类型,而不是实际的,数学矢量(如在大小和方向)。

有没有办法在Java中做矢量操作(特别是加)? 还是我坚持我自己不必实现它,或者使用第三方的模块?

-Jenny

Answer 1:

是的,你必须写一个类或使用一个库如JScience



Answer 2:

我不认为有一个内置的方式做向量加法,但是我发现了一系列描述如何可以这样做。



Answer 3:

如果你正在寻找让在二维空间中的向量,不能你只是一个简单的去Point2D(x,y)让你的向量的长度定义大小?

这样Point2D a = new Point2D(1,1); 具有1.4的幅度,和一个NE方向。 和Point2D b = new Point2D(2,2); 方向相同,但2.8的大小...

然后除了将只是: Point2D c = new Point2D(ax + bx, ay + by);

在3D空间中我会创造我自己的类,或完全不同的数据结构,这取决于你的实际问题。

编辑:我希望他已经发现,在过去3年中的解决方案..



Answer 4:

Java3D的具有各种形式的矢量的类(的Vector3D,Vector3f,Vector4d等)。 Java3D的,当然,是很危险的,这些天,虽然,因为它是被遗弃看似设置。



Answer 5:

是的,你必须写一个库(或使用第三方库),以执行矢量运算。



Answer 6:

我知道这是旧的,但也许有人会觉得这有用:

还有的Apache共享数学具有的Vector2D类。



文章来源: Can you do Vector addition in Java, natively?
标签: java math vector