Прямая и расстояние между двумя точками в java
Цель этой статьи - узнать, как создать точку с координатами x и y в двумерной плоскости, затем создать вторую точку и вычислить расстояние между ними.1) Создадим класс Point
Чтобы хорошо структурировать нашу программу, Мы должны избегать создания нескольких экземпляров x и y (x1,x2,.. xn-y1,y2,.. В то же время, если вы 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 {
точка p1, p2;
публичное право (точка p1, точка p2){
this.p1=p1;
this.p2=p2;
}
double length(){
return p1.distance(p2);
}
}
Теперь объявим метод distance() в классе Point, который позволяет возвращать расстояние между текущей и прошлой точками в качестве параметра:
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) {
Point p1 = new Point(2, 3);
Точка p2 = новая Точка(5, 8);
строка Стрит = новый стрит (p1, p2);
System.out.println(Right.length());
Точка p3 = новая точка(7, 3);
System.out.println("расстояние между точкой("+p1.getX()+", "+p1.getY()+
") и точкой("+p2.getX()+", "+p2.getY()+": "+p1.distance(p3));
}
}
Output:
Ссылки: 2.8284271247461903
Расстояние между point(2, 3) и point(5, 8): 2.23606797749979
Википедия: Right(mathematics)
Википедия: Теорема Пифагора
Oracle Documentation: Math.sqrt