JavaFX | Point2D 类
Point2D 类是 JavaFX 的一部分。此类定义空间中的二维点。 Point2D 类通过其 x、y 坐标表示 2D 点。它继承了Java.lang.Object类。
类的构造函数:
- Point2D(double x, double y) :创建具有指定 x 和 y 坐标的 point2D 对象。
常用方法:Method Explanation distance(double x1, double y1) Calculates the distance between this point and point (x1, y1). distance(Point2D p) Calculates the distance between this point and point p. equals(java.lang.Object obj) Returns whether this object is equal to the specified object or not getX() Returns the x coordinate of the point getY() Returns the y coordinate of the point hashCode() Returns a hash code value for the point.
下面的程序将说明 Point2D 类的使用:
1. 创建点 2D 对象并显示其坐标并找到其与原点的距离的Java程序:在此程序中,我们使用其 x、y 坐标作为参数创建名为point2d_1的 Point2D 对象。我们将使用getX() 、 getY()函数获取 x、y 的值,然后显示它。我们也在计算点到原点的距离。
Java
// Java program to create a point 2D
// object and display its coordinates
// and find its distance from origin
import javafx.geometry.Point2D;
public class Point2D_1 {
// Main Method
public static void main(String args[])
{
// Create a point2D object
Point2D point2d_1 = new Point2D(20.0f, 150.0f);
double x, y;
// get the coordinates of the point
x = point2d_1.getX();
y = point2d_1.getY();
// display the coordinates of the point
System.out.println("x coordinate = " + x
+ ", y coordinate = " + y);
// print its distance from origin
System.out.println("distance from origin = "
+ point2d_1.distance(0, 0));
}
}
Java
// Java program to create 3 Point2D objects and display
// their coordinates and distance from origin and
// check which of the 3 points are similar and
// their distances between two points
import javafx.geometry.Point2D;
public class Point2D_2 {
// Main Method
public static void main(String args[])
{
// Create three point2D objects
Point2D point2d_1 = new Point2D(120.0f, 50.0f);
Point2D point2d_2 = new Point2D(120.0f, 50.0f);
Point2D point2d_3 = new Point2D(200.0f, 120.0f);
// Display the coordinates of the 3 points
display(point2d_1);
display(point2d_2);
display(point2d_3);
// Check whether any point is equal to other or not
System.out.println("Point 1 equals Point 2 = "
+ point2d_1.equals(point2d_2));
System.out.println("Point 2 equals Point 3 = "
+ point2d_2.equals(point2d_3));
System.out.println("Point 3 equals Point 1 = "
+ point2d_3.equals(point2d_1));
// distance between two points
System.out.println("Distance between point 1 and point 2 = "
+ point2d_1.distance(point2d_2));
System.out.println("Distance between point 2 and point 3 = "
+ point2d_2.distance(point2d_3));
System.out.println("Distance between point 3 and point 1 = "
+ point2d_3.distance(point2d_1));
}
// display method
public static void display(Point2D point2d)
{
double x, y;
// get the coordinates of the point
x = point2d.getX();
y = point2d.getY();
// display the coordinates of the point
System.out.println("x coordinate = " + x
+ ", y coordinate = " + y);
// print its distance from origin
System.out.println("Distance from origin = "
+ point2d.distance(0, 0));
}
}
输出:
x coordinate = 20.0, y coordinate = 150.0
distance from origin = 151.32745950421557
2. Java程序创建 3 个 Point2D 对象并显示它们的坐标和到原点的距离,并检查 3 个点中哪一个相似以及它们在两点之间的距离:在这个程序中,我们创建 3 个 Point2D 对象,命名为point2d_1 , point2d_2 , point2d_3通过传递它的 x, y 坐标作为参数。我们使用getX() 、 getY()函数获取 x、y 值,然后显示它。我们还在计算点到原点的距离,并为三个点中的每一个显示它。我们还使用equals()函数显示任意两点是否相等,使用distance()函数显示两点之间的距离。
Java
// Java program to create 3 Point2D objects and display
// their coordinates and distance from origin and
// check which of the 3 points are similar and
// their distances between two points
import javafx.geometry.Point2D;
public class Point2D_2 {
// Main Method
public static void main(String args[])
{
// Create three point2D objects
Point2D point2d_1 = new Point2D(120.0f, 50.0f);
Point2D point2d_2 = new Point2D(120.0f, 50.0f);
Point2D point2d_3 = new Point2D(200.0f, 120.0f);
// Display the coordinates of the 3 points
display(point2d_1);
display(point2d_2);
display(point2d_3);
// Check whether any point is equal to other or not
System.out.println("Point 1 equals Point 2 = "
+ point2d_1.equals(point2d_2));
System.out.println("Point 2 equals Point 3 = "
+ point2d_2.equals(point2d_3));
System.out.println("Point 3 equals Point 1 = "
+ point2d_3.equals(point2d_1));
// distance between two points
System.out.println("Distance between point 1 and point 2 = "
+ point2d_1.distance(point2d_2));
System.out.println("Distance between point 2 and point 3 = "
+ point2d_2.distance(point2d_3));
System.out.println("Distance between point 3 and point 1 = "
+ point2d_3.distance(point2d_1));
}
// display method
public static void display(Point2D point2d)
{
double x, y;
// get the coordinates of the point
x = point2d.getX();
y = point2d.getY();
// display the coordinates of the point
System.out.println("x coordinate = " + x
+ ", y coordinate = " + y);
// print its distance from origin
System.out.println("Distance from origin = "
+ point2d.distance(0, 0));
}
}
输出:
x coordinate = 120.0, y coordinate = 50.0
Distance from origin = 130.0
x coordinate = 120.0, y coordinate = 50.0
Distance from origin = 130.0
x coordinate = 200.0, y coordinate = 120.0
Distance from origin = 233.23807579381202
Point 1 equals Point 2 = true
Point 2 equals Point 3 = false
Point 3 equals Point 1 = false
Distance between point 1 and point 2 = 0.0
Distance between point 2 and point 3 = 106.30145812734649
Distance between point 3 and point 1 = 106.30145812734649
注意:上述程序可能无法在在线 IDE 中运行。请使用离线编译器。
参考: https://docs.oracle.com/javafx/2/api/javafx/geometry/Point2D.html