Instances of this class are guaranteed to be immutable.
| Modifier and Type | Field and Description |
|---|---|
| public static final Vector2D | NaN
A vector with all coordinates set to NaN. |
| public static final Vector2D | NEGATIVE_INFINITY
A vector with all coordinates set to negative infinity. |
| public static final Vector2D | POSITIVE_INFINITY
A vector with all coordinates set to positive infinity. |
| private static final long | serialVersionUID
Serializable UID. |
| private final double | x
Abscissa. |
| private final double | y
Ordinate. |
| public static final Vector2D | ZERO
Origin (coordinates: 0, 0). |
| Access | Constructor and Description |
|---|---|
| public | |
| public | |
| public | |
| public | |
| public | Vector2D(double
first scale factor a1, Vector2D first base (unscaled) vector u1, double second scale factor a2, Vector2D second base (unscaled) vector u2, double third scale factor a3, Vector2D third base (unscaled) vector u3)Linear constructor Build a vector from three other ones and corresponding scale factors. |
| public | Vector2D(double
first scale factor a1, Vector2D first base (unscaled) vector u1, double second scale factor a2, Vector2D second base (unscaled) vector u2, double third scale factor a3, Vector2D third base (unscaled) vector u3, double fourth scale factor a4, Vector2D fourth base (unscaled) vector u4)Linear constructor Build a vector from four other ones and corresponding scale factors. |
| Modifier and Type | Method and Description |
|---|---|
| public Vector2D | add(Vector<Euclidean2D>
vector to add v)Implements org. Add a vector to the instance. |
| public Vector2D | add(double
scale factor to apply to v before adding it factor, Vector<Euclidean2D> vector to add v)Implements org. Add a scaled vector to the instance. |
| public static double | |
| public double | Returns: the cross-productfirst point of the line p1, final Vector2D second point of the line p2)Compute the cross-product of the instance and the given points. |
| public double | distance(Vector<Euclidean2D>
second vector p)Implements org. Compute the distance between the instance and another vector according to the L2 norm. |
| public double | distance(Point<Euclidean2D>
second point p)Implements org. Compute the distance between the instance and another point. |
| public static double | |
| public double | distance1(Vector<Euclidean2D>
second vector p)Implements org. Compute the distance between the instance and another vector according to the L1 norm. |
| public double | distanceInf(Vector<Euclidean2D>
second vector p)Implements org. Compute the distance between the instance and another vector according to the L∞ norm. |
| public static double | Returns: the distance between p1 and p2 according to the L∞ normfirst vector p1, Vector2D second vector p2)Compute the distance between two vectors according to the L∞ norm. |
| public double | distanceSq(Vector<Euclidean2D>
second vector p)Implements org. Compute the square of the distance between the instance and another vector. |
| public static double | Returns: the square of the distance between p1 and p2first vector p1, Vector2D second vector p2)Compute the square of the distance between two vectors. |
| public double | dotProduct(final Vector<Euclidean2D>
second vector v)Implements org. Compute the dot-product of the instance and another vector. |
| public boolean | Returns: true if two 2D vector objects are equal, false if object is null, not an instance of Vector2D, or not equal to this Vector2D instanceObject to test for equality to this other)Overrides java. Test for the equality of two 2D vectors. |
| public double | getNorm()
Implements org. Get the L2 norm for the vector. |
| public double | getNorm1()
Implements org. Get the L1 norm for the vector. |
| public double | getNormInf()
Implements org. Get the L∞ norm for the vector. |
| public double | getNormSq()
Implements org. Get the square of the norm for the vector. |
| public Space | getSpace()
Implements org. Get the space to which the point belongs. |
| public double | |
| public double | |
| public Vector2D | getZero()
Implements org. Get the null vector of the vectorial space or origin point of the affine space. |
| public int | Returns: a hash code value for this objectOverrides java. Get a hashCode for the 2D vector. |
| public boolean | isInfinite()
Implements org. Returns true if any coordinate of this vector is infinite and none are NaN; false otherwise |
| public boolean | isNaN()
Implements org. Returns true if any coordinate of this point is NaN; false otherwise |
| public Vector2D | negate()
Implements org. Get the opposite of the instance. |
| public Vector2D | normalize()
Implements org. Get a normalized vector aligned with the instance. |
| public Vector2D | scalarMultiply(double
scalar a)Implements org. Multiply the instance by a scalar. |
| public Vector2D | subtract(Vector<Euclidean2D>
vector to subtract p)Implements org. Subtract a vector from the instance. |
| public Vector2D | subtract(double
scale factor to apply to v before subtracting it factor, Vector<Euclidean2D> vector to subtract v)Implements org. Subtract a scaled vector from the instance. |
| public double[] | |
| public String | Returns: a string representation of this vectorOverrides java. Get a string representation of this vector. |
| public String | toString(final NumberFormat
the custom format for components format)Implements org. Get a string representation of this vector. |
| NaN | back to summary |
|---|---|
| public static final Vector2D NaN A vector with all coordinates set to NaN. | |
| NEGATIVE_INFINITY | back to summary |
|---|---|
| public static final Vector2D NEGATIVE_INFINITY A vector with all coordinates set to negative infinity. | |
| POSITIVE_INFINITY | back to summary |
|---|---|
| public static final Vector2D POSITIVE_INFINITY A vector with all coordinates set to positive infinity. | |
| serialVersionUID | back to summary |
|---|---|
| private static final long serialVersionUID Serializable UID. | |
| x | back to summary |
|---|---|
| private final double x Abscissa. | |
| y | back to summary |
|---|---|
| private final double y Ordinate. | |
| ZERO | back to summary |
|---|---|
| public static final Vector2D ZERO Origin (coordinates: 0, 0). | |
| Vector2D | back to summary |
|---|---|
| public Vector2D(double x, double y) Simple constructor. Build a vector from its coordinates | |
| Vector2D | back to summary |
|---|---|
| public Vector2D(double[] v) throws DimensionMismatchException Simple constructor. Build a vector from its coordinates
| |
| Vector2D | back to summary |
|---|---|
| public Vector2D(double a, Vector2D u) Multiplicative constructor Build a vector from another one and a scale factor. The vector built will be a * u
| |
| Vector2D | back to summary |
|---|---|
| public Vector2D(double a1, Vector2D u1, double a2, Vector2D u2) Linear constructor Build a vector from two other ones and corresponding scale factors. The vector built will be a1 * u1 + a2 * u2 | |
| Vector2D | back to summary |
|---|---|
| public Vector2D(double a1, Vector2D u1, double a2, Vector2D u2, double a3, Vector2D u3) Linear constructor Build a vector from three other ones and corresponding scale factors. The vector built will be a1 * u1 + a2 * u2 + a3 * u3 | |
| Vector2D | back to summary |
|---|---|
| public Vector2D(double a1, Vector2D u1, double a2, Vector2D u2, double a3, Vector2D u3, double a4, Vector2D u4) Linear constructor Build a vector from four other ones and corresponding scale factors. The vector built will be a1 * u1 + a2 * u2 + a3 * u3 + a4 * u4 | |
| add | back to summary |
|---|---|
| public Vector2D add(Vector<Euclidean2D> v) Implements org. Doc from org. Add a vector to the instance.
| |
| add | back to summary |
|---|---|
| public Vector2D add(double factor, Vector<Euclidean2D> v) Implements org. Doc from org. Add a scaled vector to the instance.
| |
| angle | back to summary |
|---|---|
| public static double angle(Vector2D v1, Vector2D v2) throws MathArithmeticException Compute the angular separation between two vectors. This method computes the angular separation between two vectors using the dot product for well separated vectors and the cross product for almost aligned vectors. This allows to have a good accuracy in all cases, even for vectors very close to each other.
| |
| crossProduct | back to summary |
|---|---|
| public double crossProduct(final Vector2D p1, final Vector2D p2) Compute the cross-product of the instance and the given points. The cross product can be used to determine the location of a point with regard to the line formed by (p1, p2) and is calculated as: \[ P = (x_2 - x_1)(y_3 - y_1) - (y_2 - y_1)(x_3 - x_1) \] with \(p3 = (x_3, y_3)\) being this instance. If the result is 0, the points are collinear, i.e. lie on a single straight line L; if it is positive, this point lies to the left, otherwise to the right of the line formed by (p1, p2).
| |
| distance | back to summary |
|---|---|
| public double distance(Vector<Euclidean2D> p) Implements org. Doc from org. Compute the distance between the instance and another vector according to the L2 norm. Calling this method is equivalent to calling:
| |
| distance | back to summary |
|---|---|
| public double distance(Point<Euclidean2D> p) Implements org. Doc from org. Compute the distance between the instance and another point.
| |
| distance | back to summary |
|---|---|
| public static double distance(Vector2D p1, Vector2D p2) Compute the distance between two vectors according to the L2 norm. Calling this method is equivalent to calling:
| |
| distance1 | back to summary |
|---|---|
| public double distance1(Vector<Euclidean2D> p) Implements org. Doc from org. Compute the distance between the instance and another vector according to the L1 norm. Calling this method is equivalent to calling:
| |
| distanceInf | back to summary |
|---|---|
| public double distanceInf(Vector<Euclidean2D> p) Implements org. Doc from org. Compute the distance between the instance and another vector according to the L∞ norm. Calling this method is equivalent to calling:
| |
| distanceInf | back to summary |
|---|---|
| public static double distanceInf(Vector2D p1, Vector2D p2) Compute the distance between two vectors according to the L∞ norm. Calling this method is equivalent to calling:
| |
| distanceSq | back to summary |
|---|---|
| public double distanceSq(Vector<Euclidean2D> p) Implements org. Doc from org. Compute the square of the distance between the instance and another vector. Calling this method is equivalent to calling:
| |
| distanceSq | back to summary |
|---|---|
| public static double distanceSq(Vector2D p1, Vector2D p2) Compute the square of the distance between two vectors. Calling this method is equivalent to calling:
| |
| dotProduct | back to summary |
|---|---|
| public double dotProduct(final Vector<Euclidean2D> v) Implements org. Doc from org. Compute the dot-product of the instance and another vector.
| |
| equals | back to summary |
|---|---|
| public boolean equals(Object other) Overrides java. Test for the equality of two 2D vectors.
If all coordinates of two 2D vectors are exactly the same, and none are
| |
| getNorm | back to summary |
|---|---|
| public double getNorm() Implements org. Doc from org. Get the L2 norm for the vector.
| |
| getNorm1 | back to summary |
|---|---|
| public double getNorm1() Implements org. Doc from org. Get the L1 norm for the vector.
| |
| getNormInf | back to summary |
|---|---|
| public double getNormInf() Implements org. Doc from org. Get the L∞ norm for the vector.
| |
| getNormSq | back to summary |
|---|---|
| public double getNormSq() Implements org. Doc from org. Get the square of the norm for the vector.
| |
| getSpace | back to summary |
|---|---|
| public Space getSpace() Implements org. Doc from org. Get the space to which the point belongs.
| |
| getX | back to summary |
|---|---|
| public double getX() Get the abscissa of the vector.
| |
| getY | back to summary |
|---|---|
| public double getY() Get the ordinate of the vector.
| |
| getZero | back to summary |
|---|---|
| public Vector2D getZero() Implements org. Doc from org. Get the null vector of the vectorial space or origin point of the affine space.
| |
| hashCode | back to summary |
|---|---|
| public int hashCode() Overrides java. Get a hashCode for the 2D vector. All NaN values have the same hash code.
| |
| isInfinite | back to summary |
|---|---|
| public boolean isInfinite() Implements org. Doc from org. Returns true if any coordinate of this vector is infinite and none are NaN; false otherwise
| |
| isNaN | back to summary |
|---|---|
| public boolean isNaN() Implements org. Doc from org. Returns true if any coordinate of this point is NaN; false otherwise
| |
| negate | back to summary |
|---|---|
| public Vector2D negate() Implements org. Doc from org. Get the opposite of the instance.
| |
| normalize | back to summary |
|---|---|
| public Vector2D normalize() throws MathArithmeticException Implements org. Doc from org. Get a normalized vector aligned with the instance.
| |
| scalarMultiply | back to summary |
|---|---|
| public Vector2D scalarMultiply(double a) Implements org. Doc from org. Multiply the instance by a scalar.
| |
| subtract | back to summary |
|---|---|
| public Vector2D subtract(Vector<Euclidean2D> p) Implements org. Doc from org. Subtract a vector from the instance.
| |
| subtract | back to summary |
|---|---|
| public Vector2D subtract(double factor, Vector<Euclidean2D> v) Implements org. Doc from org. Subtract a scaled vector from the instance.
| |
| toArray | back to summary |
|---|---|
| public double[] toArray() Get the vector coordinates as a dimension 2 array.
| |
| toString | back to summary |
|---|---|
| public String toString() Overrides java. Get a string representation of this vector. | |
| toString | back to summary |
|---|---|
| public String toString(final NumberFormat format) Implements org. Doc from org. Get a string representation of this vector.
| |