Java에서 유클리드 거리 계산

Shiv Yadav 2023년10월12일
Java에서 유클리드 거리 계산

이 자습서에서는 두 점 사이의 거리 계산을 살펴봅니다.

Java에서 유클리드 거리 계산

먼저 유클리드 거리에 대한 몇 가지 통찰력을 공유할 것입니다.

유클리드 공간에서 두 위치 사이의 선분의 길이는 수학에서 유클리드 거리로 알려져 있습니다. 피타고라스 정리를 사용하여 위치의 데카르트 좌표에서 결정할 수 있기 때문에 피타고라스 거리라고도 합니다.

두 점 사이의 유클리드 거리 또는 거리를 계산하는 공식:

유클리드 거리 공식

위의 공식에서 pq는 두 점입니다.

두 점 (q1,p1)(q2,p2) 사이의 거리를 얻으려면 이러한 순서 쌍의 좌표를 사용하고 위에서 언급한 공식을 적용하기만 하면 됩니다.

import java.lang.Math.*;

public class DistPoint {
  public static void main(String arg[]) {
    int q1, q2, p1, p2;
    double distance;
    q1 = 2;
    p1 = 3;
    q2 = 4;
    p2 = 5;
    distance = Math.sqrt((q2 - q1) * (q2 - q1) + (p2 - p1) * (p2 - p1));
    System.out.println("distance between two points:"
        + "(" + q1 + "," + p1 + "),"
        + "(" + q2 + "," + p2 + ")===>" + distance);
  }
}

출력:

Java 유클리드 거리 출력 - 사용자 지정 포인트 거리

위의 예는 초기에 초기화된 변수에 부여된 공통 값을 사용했습니다. 프로그램을 실행하기 전에 주어진 4개의 정수 변수, 즉 q1, q2, p1, p2를 선언했습니다.

그 후 수식은 distance 개체에 의해 초기화됩니다. 마지막으로 프로그램을 실행한 후 다음 거리 공식을 실행하여 결과를 출력합니다.

사용자의 입력 포인트를 이용하여 두 포인트 사이의 거리를 계산해보자.

import java.util.Scanner;

public class Distance {
  public static void main(String arg[]) {
    int q1, q2, p1, p2;
    double distance;
    Scanner newnum = new Scanner(System.in);

    System.out.println("enter q1 point");
    q1 = newnum.nextInt();

    System.out.println("enter p1 point");
    p1 = newnum.nextInt();

    System.out.println("enter q2 point");
    q2 = newnum.nextInt();

    System.out.println("enter p2 point");
    p2 = newnum.nextInt();

    distance = Math.sqrt((q2 - q1) * (q2 - q1) + (p2 - p1) * (p2 - p1));

    System.out.println("distance between two points:"
        + "(" + q1 + "," + p1 + "),"
        + "(" + q2 + "," + p2 + ")===>" + distance);
  }
}

이 프로그램은 이전 프로그램과 약간 다릅니다. 먼저 4개의 변수를 초기화하여 두 점의 좌표를 얻습니다.

distance 객체는 변수 값을 저장하기 위해 생성됩니다. 그런 다음 newnum 스캐너는 사용자 입력을 얻기 위해 Scanner 클래스를 사용하여 설계되었습니다.

main 함수를 실행한 후 공식은 두 점 사이의 거리를 계산합니다.

출력:

Java 유클리드 거리 출력 - 사용자 입력 값

작가: Shiv Yadav
Shiv Yadav avatar Shiv Yadav avatar

Shiv is a self-driven and passionate Machine learning Learner who is innovative in application design, development, testing, and deployment and provides program requirements into sustainable advanced technical solutions through JavaScript, Python, and other programs for continuous improvement of AI technologies.

LinkedIn

관련 문장 - Java Math