Interface Vector3d

All Known Subinterfaces:
MVector3d

public interface Vector3d
Read-only interface for 3-dimensional vectors.
Since:
9.10.2
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static Vector3d
    The vector (-1, 0, 0).
    static Vector3d
    The vector (0, -1, 0).
    static Vector3d
    The vector (0, 0, -1).
    static Vector3d
    The vector (1, 0, 0).
    static Vector3d
    The vector (0, 1, 0).
    static Vector3d
    The vector (0, 0, 1).
    static Vector3d
    The vector (0, 0, 0).
  • Method Summary

    Modifier and Type
    Method
    Description
    add​(Vector3d vector)
    Returns the sum of this vector and the given vector.
    double
    angle​(Vector3d vector)
    Returns the angle in radians between this vector and the given vector.
    static MVector3d
    centroidOf​(Collection<? extends Vector3d> vectors)
    Returns the centroid (the average vector) of the given collection of vectors.
    static Vector3d
    create​(double x, double y, double z)
    Returns a new vector with the given component values.
    static Vector3d
    create​(Vector3d vector)
    Returns a new vector with the component values of the given vector.
    Returns the cross product of this vector and the given vector.
    double
    distance​(Vector3d vector)
    Returns the distance between this vector and the given vector.
    double
    Returns the squared distance between this vector and the given vector.
    double
    dotProduct​(Vector3d vector)
    Returns the dot product of this vector and the given vector.
    boolean
    equalsWithTolerance​(Vector3d vector, double tolerance)
    Returns true if this vector is within tolerance of the given vector.
    double
    Returns the length of this vector.
    double
    Returns the squared length of this vector.
    double
    Returns the X component of this vector.
    double
    Returns the Y component of this vector.
    double
    Returns the Z component of this vector.
    interpolate​(Vector3d vector, double alpha)
    Interpolates linearly between this vector and the given vector and returns the resulting vector.
    Returns a negated copy of this vector.
    Returns a normalized copy of this vector.
    project​(Vector3d vector)
    Returns an orthogonal projection of this vector on the given vector if it exists.
    scale​(double scalar)
    Returns a copy of this vector scaled by the given scalar.
    subtract​(Vector3d vector)
    Returns the difference between this vector and the given vector.
    Returns this vector projected onto the XY-plane.
  • Field Details

    • ZERO

      static final Vector3d ZERO
      The vector (0, 0, 0).
      Since:
      9.10.2
    • UNIT_X

      static final Vector3d UNIT_X
      The vector (1, 0, 0).
      Since:
      9.10.2
    • NEG_UNIT_X

      static final Vector3d NEG_UNIT_X
      The vector (-1, 0, 0).
      Since:
      9.10.2
    • UNIT_Y

      static final Vector3d UNIT_Y
      The vector (0, 1, 0).
      Since:
      9.10.2
    • NEG_UNIT_Y

      static final Vector3d NEG_UNIT_Y
      The vector (0, -1, 0).
      Since:
      9.10.2
    • UNIT_Z

      static final Vector3d UNIT_Z
      The vector (0, 0, 1).
      Since:
      9.10.2
    • NEG_UNIT_Z

      static final Vector3d NEG_UNIT_Z
      The vector (0, 0, -1).
      Since:
      9.10.2
  • Method Details

    • create

      static Vector3d create(Vector3d vector)
      Returns a new vector with the component values of the given vector.
      Parameters:
      vector - the vector whose component values are set to the new vector
      Returns:
      a new vector with the component values of the given vector
      Since:
      9.10.2
    • create

      static Vector3d create(double x, double y, double z)
      Returns a new vector with the given component values.
      Parameters:
      x - the x component value
      y - the y component value
      z - the z component value
      Returns:
      a new vector with the given component values
      Since:
      9.10.2
    • centroidOf

      static MVector3d centroidOf(Collection<? extends Vector3d> vectors)
      Returns the centroid (the average vector) of the given collection of vectors.
      Parameters:
      vectors - the vectors for which the centroid is computed
      Returns:
      the centroid of the given collection of vectors
      Since:
      9.10.2
    • angle

      double angle(Vector3d vector)
      Returns the angle in radians between this vector and the given vector. The return value is constrained to the range [0,PI].
      Parameters:
      vector - the vector to which the angle is computed
      Returns:
      the the angle in radians between this vector and the given vector in the range [0,PI]
      Since:
      9.10.2
    • distance

      double distance(Vector3d vector)
      Returns the distance between this vector and the given vector.
      Parameters:
      vector - the vector to which the distance is computed
      Returns:
      the distance between this vector and the given vector
      Since:
      9.10.2
    • distanceSquared

      double distanceSquared(Vector3d vector)
      Returns the squared distance between this vector and the given vector.
      Parameters:
      vector - the vector to which the squared distance is computed
      Returns:
      the squared distance between this vector and the given vector
      Since:
      9.10.2
    • dotProduct

      double dotProduct(Vector3d vector)
      Returns the dot product of this vector and the given vector.
      Parameters:
      vector - the vector with which the dot product is computed
      Returns:
      the dot product of this vector and the given vector
      Since:
      9.10.2
    • equalsWithTolerance

      boolean equalsWithTolerance(Vector3d vector, double tolerance)
      Returns true if this vector is within tolerance of the given vector.
      Parameters:
      vector - the vector with which this vector is compared for approximate equality
      tolerance - the allowed deviation between this vector and the given vector
      Returns:
      true if this vector is within tolerance of the given vector
      Since:
      9.10.2
    • getX

      double getX()
      Returns the X component of this vector.
      Returns:
      the X component of this
      Since:
      9.10.2
    • getY

      double getY()
      Returns the Y component of this vector.
      Returns:
      the Y component of this
      Since:
      9.10.2
    • getZ

      double getZ()
      Returns the Z component of this vector.
      Returns:
      the Z component of this
      Since:
      9.10.2
    • getLengthSquared

      double getLengthSquared()
      Returns the squared length of this vector.
      Returns:
      the squared length of this vector
      Since:
      9.10.2
    • getLength

      double getLength()
      Returns the length of this vector.
      Returns:
      the length of this vector
      Since:
      9.10.2
    • crossProduct

      MVector3d crossProduct(Vector3d vector)
      Returns the cross product of this vector and the given vector.
      Parameters:
      vector - the vector with which the cross product is computed
      Returns:
      the cross product of this vector and the given vector
      Since:
      9.10.2
    • subtract

      MVector3d subtract(Vector3d vector)
      Returns the difference between this vector and the given vector.
      Parameters:
      vector - the vector on the right side of the difference
      Returns:
      the difference between this vector and the given vector
      Since:
      9.10.2
    • scale

      MVector3d scale(double scalar)
      Returns a copy of this vector scaled by the given scalar.
      Parameters:
      scalar - the scalar by which the returned vector is scaled
      Returns:
      a copy of this vector scaled by the given scalar
      Since:
      9.10.2
    • add

      MVector3d add(Vector3d vector)
      Returns the sum of this vector and the given vector.
      Parameters:
      vector - the vector that is added to this to create the returned vector
      Returns:
      the sum of this vector and the given vector
      Since:
      9.10.2
    • to2dVector

      MVector2d to2dVector()
      Returns this vector projected onto the XY-plane.
      Returns:
      this vector projected onto the XY-plane
      Since:
      9.10.2
    • normalize

      MVector3d normalize()
      Returns a normalized copy of this vector. If this vector is of zero length, then returns a vector with all components set to NaN.
      Returns:
      a normalized copy of this vector
      Since:
      9.10.2
    • negate

      MVector3d negate()
      Returns a negated copy of this vector.
      Returns:
      a negated copy of this vector
      Since:
      9.10.2
    • interpolate

      MVector3d interpolate(Vector3d vector, double alpha)
      Interpolates linearly between this vector and the given vector and returns the resulting vector. If the alpha value is greater than 1 it is set to 1 and if the alpha value is smaller than 0 it is set to 0. Example: If this vector and the given vector represent two points, the result of the interpolation is a point on the segment from this point to the given point which divides the segment with a ratios alpha, (1 - alpha), respectively.
      Parameters:
      vector - the vector with which this is interpolated
      alpha - the interpolation factor
      Returns:
      a vector that is the interpolation between this vector and the given vector
      Since:
      9.10.2
    • project

      Optional<Vector3d> project(Vector3d vector)
      Returns an orthogonal projection of this vector on the given vector if it exists.
      Parameters:
      vector - the vector onto which this vector is to be projected orthogonally
      Returns:
      a vector that is the orthogonal projection of this vector onto the given vector; empty, if given vector is zero vector
      Since:
      9.10.2