如何初始化org.apache.commons.math3.geometry.Vector?

时间:2012-05-20 14:51:17

标签: java apache math vector geometry

我正在尝试通过导入 org.apache.commons.math3.geometry.Vector 来创建矢量对象。
令我困惑的是如何制作它的实例。
我试过这种方式:
矢量v1 = new Vector(1,2,3);
但是ide说“'Vector'是抽象的,无法实例化
有谁知道这堂课?感谢。

P.S。我使用的(1,2,3)可能会产生误导。我想要的是一个动态矢量,我可以将它的维度分配给它。

3 个答案:

答案 0 :(得分:2)

试试这个:

Vector v1 = new Vector3D(1, 2, 3);

您需要一个实现Vector的类。 javadocs告诉您有三种选择:Vector1DVector2DVector3D

为什么他们创造了一个我永远不会知道的一维矢量。我通常称之为“标量”。

如果您需要更大的向量,请使用RealVector及其子类ArrayRealVector

您是否无法打开javadoc并自行研究?如果你自己做一点思考,你会取得更快的进步。

答案 1 :(得分:0)

这是界面 - Vector

您应该使用Vector3D。 如果您使用的是Eclipse,则可以单击Vector并按Ctrl+T查看层次结构。

答案 2 :(得分:0)

如果你需要一个带有点积等的真正的数学向量,有三个以上的元素,看起来你必须创建自己的类来实现Vector接口。使用apache Vector3D类作为模型,然后从那里扩展它。

如果您只是在寻找一个相对简单的元素数组,请使用此类:

http://docs.oracle.com/javase/6/docs/api/java/util/Vector.html