Documentation of 'edu.princeton.cs.algs4.Point2D' Java class
Point2D
edu.princeton.cs.algs4

Class Point2D

  • All Implemented Interfaces:
    java.lang.Comparable<Point2D>


    public final class Point2D
    extends java.lang.Object
    implements java.lang.Comparable<Point2D>
    The Point class is an immutable data type to encapsulate a two-dimensional point with real-value coordinates.

    Note: in order to deal with the difference behavior of double and Double with respect to -0.0 and +0.0, the Point2D constructor converts any coordinates that are -0.0 to +0.0.

    For additional documentation, see Section 1.2 of Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne.

    • Field Summary

      Fields 
      Modifier and Type Field and Description
      static java.util.Comparator<Point2D> R_ORDER
      Compares two points by polar radius.
      static java.util.Comparator<Point2D> X_ORDER
      Compares two points by x-coordinate.
      static java.util.Comparator<Point2D> Y_ORDER
      Compares two points by y-coordinate.
    • Constructor Summary

      Constructors 
      Constructor and Description
      Point2D(double x, double y)
      Initializes a new point (x, y).
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      static double area2(Point2D a, Point2D b, Point2D c)
      Returns twice the signed area of the triangle a-b-c.
      java.util.Comparator<Point2D> atan2Order()
      Compares two points by atan2() angle (between –π and π) with respect to this point.
      static int ccw(Point2D a, Point2D b, Point2D c)
      Returns true if a→b→c is a counterclockwise turn.
      int compareTo(Point2D that)
      Compares two points by y-coordinate, breaking ties by x-coordinate.
      double distanceSquaredTo(Point2D that)
      Returns the square of the Euclidean distance between this point and that point.
      double distanceTo(Point2D that)
      Returns the Euclidean distance between this point and that point.
      java.util.Comparator<Point2D> distanceToOrder()
      Compares two points by distance to this point.
      void draw()
      Plot this point using standard draw.
      void drawTo(Point2D that)
      Plot a line from this point to that point using standard draw.
      boolean equals(java.lang.Object other)
      Compares this point to the specified point.
      int hashCode()
      Returns an integer hash code for this point.
      static void main(java.lang.String[] args)
      Unit tests the point data type.
      java.util.Comparator<Point2D> polarOrder()
      Compares two points by polar angle (between 0 and 2π) with respect to this point.
      double r()
      Returns the polar radius of this point.
      double theta()
      Returns the angle of this point in polar coordinates.
      java.lang.String toString()
      Return a string representation of this point.
      double x()
      Returns the x-coordinate.
      double y()
      Returns the y-coordinate.
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
    • Field Detail

      • X_ORDER

        public static final java.util.Comparator<Point2D> X_ORDER
        Compares two points by x-coordinate.
      • Y_ORDER

        public static final java.util.Comparator<Point2D> Y_ORDER
        Compares two points by y-coordinate.
      • R_ORDER

        public static final java.util.Comparator<Point2D> R_ORDER
        Compares two points by polar radius.
    • Constructor Detail

      • Point2D

        public Point2D(double x,
                       double y)
        Initializes a new point (x, y).
        Parameters:
        x - the x-coordinate
        y - the y-coordinate
        Throws:
        java.lang.IllegalArgumentException - if either x or y is Double.NaN, Double.POSITIVE_INFINITY or Double.NEGATIVE_INFINITY
    • Method Detail

      • x

        public double x()
        Returns the x-coordinate.
        Returns:
        the x-coordinate
      • y

        public double y()
        Returns the y-coordinate.
        Returns:
        the y-coordinate
      • r

        public double r()
        Returns the polar radius of this point.
        Returns:
        the polar radius of this point in polar coordiantes: sqrt(x*x + y*y)
      • theta

        public double theta()
        Returns the angle of this point in polar coordinates.
        Returns:
        the angle (in radians) of this point in polar coordiantes (between –π and π)
      • ccw

        public static int ccw(Point2D a,
                              Point2D b,
                              Point2D c)
        Returns true if a→b→c is a counterclockwise turn.
        Parameters:
        a - first point
        b - second point
        c - third point
        Returns:
        { -1, 0, +1 } if a→b→c is a { clockwise, collinear; counterclocwise } turn.
      • area2

        public static double area2(Point2D a,
                                   Point2D b,
                                   Point2D c)
        Returns twice the signed area of the triangle a-b-c.
        Parameters:
        a - first point
        b - second point
        c - third point
        Returns:
        twice the signed area of the triangle a-b-c
      • distanceTo

        public double distanceTo(Point2D that)
        Returns the Euclidean distance between this point and that point.
        Parameters:
        that - the other point
        Returns:
        the Euclidean distance between this point and that point
      • distanceSquaredTo

        public double distanceSquaredTo(Point2D that)
        Returns the square of the Euclidean distance between this point and that point.
        Parameters:
        that - the other point
        Returns:
        the square of the Euclidean distance between this point and that point
      • compareTo

        public int compareTo(Point2D that)
        Compares two points by y-coordinate, breaking ties by x-coordinate. Formally, the invoking point (x0, y0) is less than the argument point (x1, y1) if and only if either y0 < y1 or if y0 == y1 and x0 < x1.
        Specified by:
        compareTo in interface java.lang.Comparable<Point2D>
        Parameters:
        that - the other point
        Returns:
        the value 0 if this string is equal to the argument string (precisely when equals() returns true); a negative integer if this point is less than the argument point; and a positive integer if this point is greater than the argument point
      • polarOrder

        public java.util.Comparator<Point2D> polarOrder()
        Compares two points by polar angle (between 0 and 2π) with respect to this point.
        Returns:
        the comparator
      • atan2Order

        public java.util.Comparator<Point2D> atan2Order()
        Compares two points by atan2() angle (between –π and π) with respect to this point.
        Returns:
        the comparator
      • distanceToOrder

        public java.util.Comparator<Point2D> distanceToOrder()
        Compares two points by distance to this point.
        Returns:
        the comparator
      • equals

        public boolean equals(java.lang.Object other)
        Compares this point to the specified point.
        Overrides:
        equals in class java.lang.Object
        Parameters:
        other - the other point
        Returns:
        true if this point equals other; false otherwise
      • toString

        public java.lang.String toString()
        Return a string representation of this point.
        Overrides:
        toString in class java.lang.Object
        Returns:
        a string representation of this point in the format (x, y)
      • hashCode

        public int hashCode()
        Returns an integer hash code for this point.
        Overrides:
        hashCode in class java.lang.Object
        Returns:
        an integer hash code for this point
      • draw

        public void draw()
        Plot this point using standard draw.
      • drawTo

        public void drawTo(Point2D that)
        Plot a line from this point to that point using standard draw.
        Parameters:
        that - the other point
      • main

        public static void main(java.lang.String[] args)
        Unit tests the point data type.
        Parameters:
        args - the command-line arguments

DataMelt 3.0 © DataMelt by jWork.ORG

You see the box below because you did not login.