Java: Compute the radius and the central coordinate of a circle
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:
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.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics