Java 中两点之间的直线和距离
本文的目的是学习如何在二维平面中创建一个坐标为 x 和 y 的点,然后创建第二个点并计算两者之间的距离。1) 创建类 Point
要很好地构建我们的程序, 我们必须避免创建 x 和 y (x1,x2,.. 的多个实例xn-y1,y2,..yn)。Java 是一种面向对象的语言,具有很高的抽象能力。
public class Point {
int x,y;
public Point(int x, int y){
this.x=x;
this.y=y;
}
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
}
2) 创建类 Line
一条线由至少两个点 P1 和 P2 组成,距离由勾股定理计算:
当三角形为矩形时,应用勾股定理,公式写成:c² = a² + b²。长度是 c² 的根,并使用以下方法计算 Math.sqrt().
public class Right {
dot p1, p2;
公共权利(点 p1、点 p2){
this.p1=p1;
this.p2=p2;
}
double length(){
return p1.distance(p2);
}
}
现在我们将在 Point 类中声明 distance() 方法,该方法允许您将当前点和过去点之间的距离作为参数返回:
double distance(Point p){
return Math.sqrt(((p.getX()-this.getX()) + (p.getY()-this.getY()));
}
Example
public class Main {
public static void main(String[] args) {
点 p1 = 新点 Point(2, 3);
点 p2 = 新点 (5, 8);
行 Straight = 新直线 (p1, p2);
System.out.println(Right.length());
点 p3 = 新点 (7, 3);
System.out.println(点之间的距离(”+p1.getX()+, ”+p1.getY()+
) 和点(”+p2.getX()+, ”+p2.getY()+: ”+p1.distance(p3));
}
}
输出:
参考:2.8284271247461903
点(2, 3)和点(5, 8)之间的距离: 2.23606797749979
Wikipedia: Right(mathematics)
Wikipedia: 勾股定理
Oracle 文档:Math.sqrt