Javaでの直交座標から極座標への変換方法


方法1: Mathクラスを使用する方法

public class CartesianToPolar {
    public static void main(String[] args) {
        double x = 3.0; // 直交座標のx座標
        double y = 4.0; // 直交座標のy座標
        double radius = Math.sqrt(x * x + y * y); // 半径の計算
        double angle = Math.atan2(y, x); // 角度の計算
        System.out.println("極座標: 半径 = " + radius + ", 角度 = " + angle);
    }
}

方法2: 自作のユーティリティメソッドを使用する方法

public class CartesianToPolar {
    public static void main(String[] args) {
        double x = 3.0; // 直交座標のx座標
        double y = 4.0; // 直交座標のy座標
        double radius = calculateRadius(x, y); // 半径の計算
        double angle = calculateAngle(x, y); // 角度の計算
        System.out.println("極座標: 半径 = " + radius + ", 角度 = " + angle);
    }
    private static double calculateRadius(double x, double y) {
        return Math.sqrt(x * x + y * y);
    }
    private static double calculateAngle(double x, double y) {
        return Math.atan2(y, x);
    }
}

方法3: 極座標を表すクラスを作成する方法

public class PolarCoordinate {
    private double radius;
    private double angle;
    public PolarCoordinate(double radius, double angle) {
        this.radius = radius;
        this.angle = angle;
    }
    public double getRadius() {
        return radius;
    }
    public double getAngle() {
        return angle;
    }
}
public class CartesianToPolar {
    public static void main(String[] args) {
        double x = 3.0; // 直交座標のx座標
        double y = 4.0; // 直交座標のy座標
        PolarCoordinate polar = convertToPolar(x, y);
        System.out.println("極座標: 半径 = " + polar.getRadius() + ", 角度 = " + polar.getAngle());
    }
    private static PolarCoordinate convertToPolar(double x, double y) {
        double radius = Math.sqrt(x * x + y * y);
        double angle = Math.atan2(y, x);
        return new PolarCoordinate(radius, angle);
    }
}

このように、Javaで直交座標から極座標への変換を行う方法はいくつかあります。利用する方法やコードのスタイルは、特定の要件や好みに応じて選択することができます。以上が、Javaにおける直交座標から極座標への変換の方法とコード例の説明です。