w3resource

Java: Compute the radius and the central coordinate of a circle

Java Basic: Exercise-218 with Solution

Compute Circle from Three Points

Write a Java program to compute the radius and central coordinates (x, y) of a circle constructed from three given points on the plane surface.

Input:

x1,y1,x2,y2,x3,y3,xp,yp separated by a single space.

Sample Solution:

Java Code:

// Importing necessary classes for input/output operations
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.BufferedReader;

// Main class named "Main"
class Main {
    // Main method with IOException in case of input error
    public static void main(String[] args) throws IOException {
        // Creating BufferedReader for efficient reading of input
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        // Prompting the user to input coordinates x1, y1, x2, y2, x3, y3 separated by a single space
        System.out.println("Input x1, y1, x2, y2, x3, y3 separated by a single space:");

        // Reading the input line and splitting it into an array of strings
        String[] input = br.readLine().split(" ");

        // Parsing the input strings into double values
        double x1 = Double.parseDouble(input[0]);
        double y1 = Double.parseDouble(input[1]);
        double x2 = Double.parseDouble(input[2]);
        double y2 = Double.parseDouble(input[3]);
        double x3 = Double.parseDouble(input[4]);
        double y3 = Double.parseDouble(input[5]);

        // Calculating intermediate values for further computations
        double A = x2 - x1;
        double B = y2 - y1;
        double p = (y2 * y2 - y1 * y1 + x2 * x2 - x1 * x1) / 2;
        double C = x3 - x1;
        double D = y3 - y1;
        double q = (y3 * y3 - y1 * y1 + x3 * x3 - x1 * x1) / 2;

        // Calculating the coordinates of the center (X, Y) and the radius (r) of the circle
        double X = (D * p - B * q) / (A * D - B * C);
        double Y = (A * q - C * p) / (A * D - B * C);

        double r = Math.sqrt(Math.pow(X - x1, 2.0) + Math.pow(Y - y1, 2.0));

        // Displaying the radius and the central coordinate of the circle
        System.out.println("\nRadius and the central coordinate:");
        System.out.printf("%.3f (%.3f %.3f)", r, X, Y);
    }
} 

Sample Output:

Input x1, y1, x2, y2, x3, y3 separated by a single space:
 5 6 4 8 7 9

Radius and the central coordinate:
1.821 (5.786 7.643)

Flowchart:

Flowchart: Java exercises: Compute the radius and the central coordinate of a circle.

Java Code Editor:

Contribute your code and comments through Disqus.

Previous: Write a Java program to print the number of prime numbers which are less than or equal to a given integer.
Next: Write a Java program to check if a point (x, y) is in a triangle or not. There is a triangle formed by three points.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Become a Patron!

Follow us on Facebook and Twitter for latest update.

It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.

https://www.w3resource.com/java-exercises/basic/java-basic-exercise-218.php