Java でユークリッド距離を計算する

Shiv Yadav 2023年10月12日
Java でユークリッド距離を計算する

このチュートリアルでは、2 点間の距離の計算について調べます。

Java でユークリッド距離を計算する

まず、ユークリッド距離に関するいくつかの洞察を共有します。

ユークリッド空間の 2つの場所の間の線分の長さは、数学ではユークリッド距離として知られています。ピタゴラスの定理を使用して位置のデカルト座標から決定できるため、ピタゴラス距離とも呼ばれます。

ユークリッド距離または 2 点間の距離を計算する式:

ユークリッド距離の式

上記の式では、pq が 2つのポイントです。

2 点 (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つの整数変数、つまり、q1q2p1、および p2 を宣言しました。

その後、式はオブジェクト distance によって初期化されます。最後に、プログラムを実行した後、次の距離式を実行し、結果を出力します。

ユーザーの入力ポイントを使用して、2つのポイント間の距離を計算してみましょう。

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つの変数が初期化されて、2つのポイントの座標が取得されます。

変数値を格納するために distance オブジェクトが作成されます。次に、Scanner クラスを使用して newnum スキャナーを設計し、ユーザー入力を取得します。

main 関数を実行した後、式は 2 点間の距離を計算します。

出力:

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