我知道有在Java中的“矢量”类,但它似乎只是一个简单的ArrayList的交易类型,而不是实际的,数学矢量(如在大小和方向)。
有没有办法在Java中做矢量操作(特别是加)? 还是我坚持我自己不必实现它,或者使用第三方的模块?
-Jenny
我知道有在Java中的“矢量”类,但它似乎只是一个简单的ArrayList的交易类型,而不是实际的,数学矢量(如在大小和方向)。
有没有办法在Java中做矢量操作(特别是加)? 还是我坚持我自己不必实现它,或者使用第三方的模块?
-Jenny
是的,你必须写一个类或使用一个库如JScience
我不认为有一个内置的方式做向量加法,但是我发现了一系列描述如何可以这样做。
如果你正在寻找让在二维空间中的向量,不能你只是一个简单的去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年中的解决方案..
Java3D的具有各种形式的矢量的类(的Vector3D,Vector3f,Vector4d等)。 Java3D的,当然,是很危险的,这些天,虽然,因为它是被遗弃看似设置。
是的,你必须写一个库(或使用第三方库),以执行矢量运算。
我知道这是旧的,但也许有人会觉得这有用:
还有的Apache共享数学具有的Vector2D类。