Module javafx.graphics
Package javafx.geometry

## Class Point2D

- java.lang.Object
- - javafx.geometry.Point2D

-     public class Point2D
      extends Object

  A 2D geometric point that usually represents the x, y coordinates. It can also represent a relative magnitude vector's x, y magnitudes.
  Since:
    JavaFX 2.0

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static Point2D` | `ZERO` | Point or vector with both coordinates set to 0.

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Point2D​(double x, double y)` | Creates a new instance of `Point2D`.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Point2D` | `add​(double x, double y)` | Returns a point with the specified coordinates added to the coordinates of this point.
    `Point2D` | `add​(Point2D point)` | Returns a point with the coordinates of the specified point added to the coordinates of this point.
    `double` | `angle​(double x, double y)` | Computes the angle (in degrees) between the vector represented by this point and the specified vector.
    `double` | `angle​(Point2D point)` | Computes the angle (in degrees) between the vector represented by this point and the vector represented by the specified point.
    `double` | `angle​(Point2D p1, Point2D p2)` | Computes the angle (in degrees) between the three points with this point as a vertex.
    `Point3D` | `crossProduct​(double x, double y)` | Computes cross product of the vector represented by this instance and the specified vector.
    `Point3D` | `crossProduct​(Point2D vector)` | Computes cross product of the vector represented by this instance and the specified vector.
    `double` | `distance​(double x1, double y1)` | Computes the distance between this point and point `(x1, y1)`.
    `double` | `distance​(Point2D point)` | Computes the distance between this point and the specified `point`.
    `double` | `dotProduct​(double x, double y)` | Computes dot (scalar) product of the vector represented by this instance and the specified vector.
    `double` | `dotProduct​(Point2D vector)` | Computes dot (scalar) product of the vector represented by this instance and the specified vector.
    `boolean` | `equals​(Object obj)` | Indicates whether some other object is "equal to" this one.
    `double` | `getX()` | The x coordinate.
    `double` | `getY()` | The y coordinate.
    `int` | `hashCode()` | Returns a hash code value for the point.
    `double` | `magnitude()` | Computes magnitude (length) of the relative magnitude vector represented by this instance.
    `Point2D` | `midpoint​(double x, double y)` | Returns a point which lies in the middle between this point and the specified coordinates.
    `Point2D` | `midpoint​(Point2D point)` | Returns a point which lies in the middle between this point and the specified point.
    `Point2D` | `multiply​(double factor)` | Returns a point with the coordinates of this point multiplied by the specified factor
    `Point2D` | `normalize()` | Normalizes the relative magnitude vector represented by this instance.
    `Point2D` | `subtract​(double x, double y)` | Returns a point with the specified coordinates subtracted from the coordinates of this point.
    `Point2D` | `subtract​(Point2D point)` | Returns a point with the coordinates of the specified point subtracted from the coordinates of this point.
    `String` | `toString()` | Returns a string representation of this `Point2D`.

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### ZERO

          public static final Point2D ZERO

      Point or vector with both coordinates set to 0.

  - ### Constructor Detail

    - #### Point2D

          public Point2D​(double x,
                         double y)

      Creates a new instance of `Point2D`.
      Parameters:
        `x` - the x coordinate of the point
        `y` - the y coordinate of the point

  - ### Method Detail

    - #### getX

          public final double getX()

      The x coordinate.
      Returns:
        the x coordinate

    - #### getY

          public final double getY()

      The y coordinate.
      Returns:
        the y coordinate

    - #### distance

          public double distance​(double x1,
                                 double y1)

      Computes the distance between this point and point `(x1, y1)`.
      Parameters:
        `x1` - the x coordinate of other point
        `y1` - the y coordinate of other point
      Returns:
        the distance between this point and point `(x1, y1)`.

    - #### distance

          public double distance​(Point2D point)

      Computes the distance between this point and the specified `point`.
      Parameters:
        `point` - the other point
      Returns:
        the distance between this point and the specified `point`.
      Throws:
        `NullPointerException` - if the specified `point` is null

    - #### add

          public Point2D add​(double x,
                             double y)

      Returns a point with the specified coordinates added to the coordinates of this point.
      Parameters:
        `x` - the X coordinate addition
        `y` - the Y coordinate addition
      Returns:
        the point with added coordinates
      Since:
        JavaFX 8.0

    - #### add

          public Point2D add​(Point2D point)

      Returns a point with the coordinates of the specified point added to the coordinates of this point.
      Parameters:
        `point` - the point whose coordinates are to be added
      Returns:
        the point with added coordinates
      Throws:
        `NullPointerException` - if the specified `point` is null
      Since:
        JavaFX 8.0

    - #### subtract

          public Point2D subtract​(double x,
                                  double y)

      Returns a point with the specified coordinates subtracted from the coordinates of this point.
      Parameters:
        `x` - the X coordinate subtraction
        `y` - the Y coordinate subtraction
      Returns:
        the point with subtracted coordinates
      Since:
        JavaFX 8.0

    - #### multiply

          public Point2D multiply​(double factor)

      Returns a point with the coordinates of this point multiplied by the specified factor
      Parameters:
        `factor` - the factor multiplying the coordinates
      Returns:
        the point with multiplied coordinates
      Since:
        JavaFX 8.0

    - #### subtract

          public Point2D subtract​(Point2D point)

      Returns a point with the coordinates of the specified point subtracted from the coordinates of this point.
      Parameters:
        `point` - the point whose coordinates are to be subtracted
      Returns:
        the point with subtracted coordinates
      Throws:
        `NullPointerException` - if the specified `point` is null
      Since:
        JavaFX 8.0

    - #### normalize

          public Point2D normalize()

      Normalizes the relative magnitude vector represented by this instance. Returns a vector with the same direction and magnitude equal to 1. If this is a zero vector, a zero vector is returned.
      Returns:
        the normalized vector represented by a `Point2D` instance
      Since:
        JavaFX 8.0

    - #### midpoint

          public Point2D midpoint​(double x,
                                  double y)

      Returns a point which lies in the middle between this point and the specified coordinates.
      Parameters:
        `x` - the X coordinate of the second endpoint
        `y` - the Y coordinate of the second endpoint
      Returns:
        the point in the middle
      Since:
        JavaFX 8.0

    - #### midpoint

          public Point2D midpoint​(Point2D point)

      Returns a point which lies in the middle between this point and the specified point.
      Parameters:
        `point` - the other endpoint
      Returns:
        the point in the middle
      Throws:
        `NullPointerException` - if the specified `point` is null
      Since:
        JavaFX 8.0

    - #### angle

          public double angle​(double x,
                              double y)

      Computes the angle (in degrees) between the vector represented by this point and the specified vector.
      Parameters:
        `x` - the X magnitude of the other vector
        `y` - the Y magnitude of the other vector
      Returns:
        the angle between the two vectors measured in degrees
      Since:
        JavaFX 8.0

    - #### angle

          public double angle​(Point2D point)

      Computes the angle (in degrees) between the vector represented by this point and the vector represented by the specified point.
      Parameters:
        `point` - the other vector
      Returns:
        the angle between the two vectors measured in degrees, `NaN` if any of the two vectors is a zero vector
      Throws:
        `NullPointerException` - if the specified `point` is null
      Since:
        JavaFX 8.0

    - #### angle

          public double angle​(Point2D p1,
                              Point2D p2)

      Computes the angle (in degrees) between the three points with this point as a vertex.
      Parameters:
        `p1` - one point
        `p2` - other point
      Returns:
        angle between the vectors (this, p1) and (this, p2) measured in degrees, `NaN` if the three points are not different from one another
      Throws:
        `NullPointerException` - if `p1` or `p2` is null
      Since:
        JavaFX 8.0

    - #### magnitude

          public double magnitude()

      Computes magnitude (length) of the relative magnitude vector represented by this instance.
      Returns:
        magnitude of the vector
      Since:
        JavaFX 8.0

    - #### dotProduct

          public double dotProduct​(double x,
                                   double y)

      Computes dot (scalar) product of the vector represented by this instance and the specified vector.
      Parameters:
        `x` - the X magnitude of the other vector
        `y` - the Y magnitude of the other vector
      Returns:
        the dot product of the two vectors
      Since:
        JavaFX 8.0

    - #### dotProduct

          public double dotProduct​(Point2D vector)

      Computes dot (scalar) product of the vector represented by this instance and the specified vector.
      Parameters:
        `vector` - the other vector
      Returns:
        the dot product of the two vectors
      Throws:
        `NullPointerException` - if the specified `vector` is null
      Since:
        JavaFX 8.0

    - #### crossProduct

          public Point3D crossProduct​(double x,
                                      double y)

      Computes cross product of the vector represented by this instance and the specified vector.
      Parameters:
        `x` - the X magnitude of the other vector
        `y` - the Y magnitude of the other vector
      Returns:
        the cross product of the two vectors
      Since:
        JavaFX 8.0

    - #### crossProduct

          public Point3D crossProduct​(Point2D vector)

      Computes cross product of the vector represented by this instance and the specified vector.
      Parameters:
        `vector` - the other vector
      Returns:
        the cross product of the two vectors
      Throws:
        `NullPointerException` - if the specified `vector` is null
      Since:
        JavaFX 8.0

    - #### equals

          public boolean equals​(Object obj)

      Indicates whether some other object is "equal to" this one.
      Overrides:
        `equals` in class `Object`
      Parameters:
        `obj` - the reference object with which to compare
      Returns:
        true if this point is the same as the obj argument; false otherwise

    - #### hashCode

          public int hashCode()

      Returns a hash code value for the point.
      Overrides:
        `hashCode` in class `Object`
      Returns:
        a hash code value for the point.

    - #### toString

          public String toString()

      Returns a string representation of this `Point2D`. This method is intended to be used only for informational purposes. The content and format of the returned string might vary between implementations. The returned string might be empty but cannot be `null`.
      Overrides:
        `toString` in class `Object`