场景

在Java中需要对坐标点进行一些计算和判断。

比如计算两点之间的距离、距离的平方、两点是否相等、坐标赋值、克隆等。

可以使用Java自带的java.awt.Point2D的相关API。

API文档:

Point2D (Java Platform SE 8 )

常用方法

变量和类型

方法

描述

Object

clone()

创建与此对象具有相同类并具有相同内容的新对象。

double

distance(double px, double py)

返回此 Point2D到指定点的距离。

static double

distance(double x1, double y1, double x2, double y2)

返回两点之间的距离。

double

distance(Point2D

返回此 Point2D到指定的 Point2D的距离。

double

distanceSq(double px, double py)

返回从此 Point2D到指定点的距离的平方。

static double

distanceSq(double x1, double y1, double x2, double y2)

返回两点之间距离的平方。

double

distanceSq(Point2D

返回从此 Point2D到指定的 Point2D的距离的平方。

boolean

equals(Object

确定两个点是否相等。

abstract double

getX()

以 double精度返回此 Point2D的X坐标。

abstract double

getY()

以 double精度返回此 Point2D的Y坐标。

int

hashCode()

返回此 Point2D的哈希 Point2D 。

abstract void

setLocation(double x, double y)

将此 Point2D的位置设置为指定的 double坐标。

void

setLocation(Point2D

将此 Point2D的位置设置为与指定的 Point2D对象相同的坐标。

注:

关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

1、坐标对象声明赋值

Point2D.Double point1 = new Point2D.Double(200.22555d,546545.454455d);
        Point2D.Double point2 = new Point2D.Double(25656.22555d,151545.4556748d);

2、计算两点之间的距离

//计算两点之间的距离
        Point2D.Double point1 = new Point2D.Double(200.22555d,546545.454455d);
        Point2D.Double point2 = new Point2D.Double(25656.22555d,151545.4556748d);
        //System.out.println("两点之间的距离"+point1.distance(point2));

3、分别获取x和y

System.out.println("获取x和y"+point1.getX()+" "+point1.getY());

4、两点之间距离的平方

System.out.println("两点之间距离的平方"+point1.distanceSq(point2));

5、两点是否相等

System.out.println("两点是否相等"+point1.equals(point2));

6、返回哈希Point2D

System.out.println("返回此 Point2D的哈希Point2D"+point1.hashCode());

7、设置为指定的坐标

//point1.setLocation(point2);
        //System.out.println("将此 Point2D的位置设置为与指定的 Point2D对象相同的坐标"+point1);

8、克隆

Point2D.Double point3 = (Point2D.Double) point1.clone();
        System.out.println(point3);