math.geom2d

Class Point2D

    • Field Detail

      • INFINITY_POINT

        @Deprecated
        public static final Point2D INFINITY_POINT
        Deprecated. it is recommended to use exceptions instead (0.7.0)
        The point located at the infinity. This point is virtual, it is contained in every infinite shape, such as straight lines, hyperbolas and parabolas.
    • Constructor Detail

      • Point2D

        public Point2D()
        Constructs a new Point2D at position (0,0).
      • Point2D

        public Point2D(double x,
               double y)
        Constructs a new Point2D at the given given position. Please consider using the static factory method instead (0.8.1).
      • Point2D

        public Point2D(Point2D point)
        Constructs a new Point2D by copying coordinates of given java point. Please consider using the static factory method instead (0.8.1)
      • Point2D

        @Deprecated
        public Point2D(Point2D point1,
                          Point2D point2)
        Deprecated. since 0.7.0
        Constructs a new Point2D from two java awt.geom Point2D, summing their coordinates.
      • Point2D

        @Deprecated
        public Point2D(Point2D point1,
                          double x,
                          double y)
        Deprecated. use Point2D.createPolar() instead (0.7.0)
        Constructor from a java awt.geom Point2D, and two double. The (x,y) coordinates are added to the coordinates of given point.
    • Method Detail

      • create

        public static final Point2D create(double x,
                     double y)
        Static factory for creating a new point in cartesian coordinates.
        Since:
        0.8.1
      • create

        public static final Point2D create(Point2D point)
        Static factory for creating a new point from an existing instance of java point.
        Since:
        0.8.1
      • createPolar

        public static final Point2D createPolar(double rho,
                          double theta)
        Creates a new point from polar coordinates rho and theta.
      • createPolar

        public static final Point2D createPolar(Point2D point,
                          double rho,
                          double theta)
        Creates a new point from polar coordinates rho and theta, from the given point.
      • createPolar

        public static final Point2D createPolar(double x0,
                          double y0,
                          double rho,
                          double theta)
        Creates a new point from polar coordinates rho and theta, from the position (x0,y0).
      • getDistance

        public static final double getDistance(double x1,
                         double y1,
                         double x2,
                         double y2)
        Computes the Euclidean distance between two points, given by their coordinates. Uses robust computation (via Math.hypot() method).
        Returns:
        the Euclidean distance between p1 and p2.
      • getDistance

        public static final double getDistance(Point2D p1,
                         Point2D p2)
        Computes the Euclidean distance between two points. Uses robust computation (via Math.hypot() method).
        Parameters:
        p1 - the first point
        p2 - the second point
        Returns:
        the Euclidean distance between p1 and p2.
      • isColinear

        public static final boolean isColinear(Point2D p1,
                         Point2D p2,
                         Point2D p3)
        Tests if the three points are colinear.
        Returns:
        true if three points lie on the same line.
      • ccw

        public static final int ccw(Point2D p0,
              Point2D p1,
              Point2D p2)
        Computes the orientation of the 3 points: returns +1 is the path P0->P1->P2 turns Counter-Clockwise, -1 if the path turns Clockwise, and 0 if the point P2 is located on the line segment [P0 P1]. Algorithm taken from Sedgewick.
        Parameters:
        p0 - the initial point
        p1 - the middle point
        p2 - the last point
        Returns:
        +1, 0 or -1, depending on the relative position of the points
      • centroid

        public static final Point2D centroid(Point2D[] points)
        Computes the centroid, or center of mass, of an array of points.
        Parameters:
        points - an array of points
        Returns:
        the centroid of the points
      • centroid

        public static final Point2D centroid(Point2D[] points,
                       double[] weights)
        Computes the weighted centroid, or center of mass, of an array of points.
        Parameters:
        points - an array of points
        weights - an array of weights the same size as points
        Returns:
        the centroid of the points
      • centroid

        public static final Point2D centroid(Collection<? extends Point2D> points)
        Computes the centroid, or center of mass, of a collection of points.
        Parameters:
        points - a collection of points
        Returns:
        the centroid of the points
      • centroid

        public static final Point2D centroid(Point2D pt1,
                       Point2D pt2,
                       Point2D pt3)
        Compute the centroid of three points.
        Parameters:
        pt1 - the first point
        pt2 - the second point
        pt3 - the third point
        Returns:
        the centroid of the 3 points
      • translate

        public Point2D translate(double tx,
                        double ty)
        Returns the new point translated by amount given in each direction.
        Parameters:
        tx - the translation in x direction
        ty - the translation in y direction
        Returns:
        the translated point
      • scale

        public Point2D scale(double kx,
                    double ky)
        Returns the new point scaled by amount given in each direction.
        Parameters:
        kx - the scale factor in x direction
        ky - the scale factor in y direction
        Returns:
        the scaled point
      • scale

        public Point2D scale(double k)
        Returns the new point scaled by the same amount in each direction.
        Parameters:
        k - the scale factor
        Returns:
        the scaled point
      • rotate

        public Point2D rotate(double theta)
        Rotates the point by a given angle around the origin.
        Parameters:
        theta - the angle of rotation
        Returns:
        the rotated point.
      • rotate

        public Point2D rotate(Point2D center,
                     double theta)
        Rotates the point by a given angle around an arbitrary center.
        Parameters:
        center - the center of the rotation
        theta - the angle of rotation
        Returns:
        the rotated point.
      • getAsInt

        public Point getAsInt()
        Converts point to an integer version. Coordinates are rounded to the nearest integer.
        Returns:
        an instance of java.awt.Point
      • getAsDouble

        public Point2D.Double getAsDouble()
        Converts point to a double version.
      • getAsFloat

        public Point2D.Float getAsFloat()
        Converts point to a float version. Coordinates are rounded to the nearest float.
      • setPolarLocation

        @Deprecated
        public void setPolarLocation(double rho,
                                       double theta)
        Deprecated. use Point2D.createPolar() instead (0.7.0)
        Sets location specified as polar coordinate : distance from origin + angle with horizontal.
      • setPolarLocation

        @Deprecated
        public void setPolarLocation(Point2D point,
                                       double rho,
                                       double theta)
        Deprecated. use Point2D.createPolar() instead (0.7.0)
        Sets location at distance 'rho' from given point, and making an angle 'theta' with horizontal.
      • getBuffer

        public CirculinearDomain2D getBuffer(double dist)
        Description copied from interface: CirculinearShape2D
        Computes the buffer of the shape, formed by the set of points located at a distance from the shape that is lower or equal to d.
        Specified by:
        getBuffer in interface CirculinearShape2D
        Parameters:
        dist - the maximal distance between a point of the buffer and the shape
        Returns:
        the buffer of the shape
      • getDistance

        public double getDistance(Point2D point)
        Computes the distance between this and the point point.
        Specified by:
        getDistance in interface Shape2D
      • getDistance

        public double getDistance(double x,
                         double y)
        Computes the distance between current point and point with coordinate (x,y). Uses the Math.hypot() function for better robustness than simple square root.
        Specified by:
        getDistance in interface Shape2D
      • isBounded

        public boolean isBounded()
        Returns true if the point is bounded. A point is unbounded if at least one of its coordinates is infinite or NaN.
        Specified by:
        isBounded in interface Shape2D
        Returns:
        true if both coordinates of the point are finite
      • isEmpty

        public boolean isEmpty()
        Description copied from interface: Shape2D
        Returns true if the shape does not contain any point. This is the case for example for PointSet2D without any point.
        Specified by:
        isEmpty in interface Shape2D
        Returns:
        true if the shape does not contain any point.
      • contains

        public boolean contains(double x,
                       double y)
        Returns true if the two points are equal.
        Specified by:
        contains in interface Shape2D
      • contains

        public boolean contains(Point2D p)
        Returns true if the two points are equal.
        Specified by:
        contains in interface Shape2D
      • clip

        public PointSet2D clip(Box2D box)
        Returns a PointSet2D, containing 0 or 1 point, depending on whether the point lies inside the specified box.
        Specified by:
        clip in interface PointShape2D
        Specified by:
        clip in interface Shape2D
        Parameters:
        box - the clipping box
        Returns:
        the clipped shape
      • getBoundingBox

        public Box2D getBoundingBox()
        Returns a bounding box with zero width and zero height, whose coordinates limits are point coordinates.
        Specified by:
        getBoundingBox in interface Shape2D
        Returns:
        the bounding box of the shape.
      • draw

        public void draw(Graphics2D g2)
        Draws the point on the specified Graphics2D, using default radius equal to 1.
        Specified by:
        draw in interface Shape2D
        Parameters:
        g2 - the graphics to draw the point
      • draw

        public void draw(Graphics2D g2,
                double r)
        Draws the point on the specified Graphics2D, by filling a disc with a given radius.
        Parameters:
        g2 - the graphics to draw the point
      • getPointNumber

        public int getPointNumber()
        Description copied from interface: PointShape2D
        Returns the number of points in the set.
        Specified by:
        getPointNumber in interface PointShape2D
        Returns:
        the number of points
      • equals

        public boolean equals(Object obj)
        Two points are considered equal if their Euclidean distance is less than Shape2D.ACCURACY.
        Overrides:
        equals in class Point2D
      • clone

        public Point2D clone()
        Creates a new Point2D object with same coordinates.
        Overrides:
        clone in class Point2D

Copyright © 2012 AMIS research group, Faculty of Mathematics and Physics, Charles University in Prague, Czech Republic. All Rights Reserved.