This is a Java Program to check whether a point lies inside, outside or on the circle. For any point t (xt, yt) on the plane, its position with respect to the circle defined by 3 points (x1, y1) , (x2, y2), (x3, y3).
s = (x-xt)^2 + (y-yt)^2 – r*r
If s < 0, t lies inside the circle; if s > 0, t lies outside the circle; if s = 0, t lies on the circle.
Here is the source code of the Java Program to Check if a Point d lies Inside or Outside a Circle Defined by Points a, b, c in a Plane. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.
//This is a java program to check whether point d lies inside or outside the circle defined by a, b, c points
import java.util.Random;
import java.util.Scanner;
public class Position_Point_WRT_Circle
{
public static void main(String args[])
{
Random random = new Random();
int x1, y1, x2, y2, x3, y3;
double m1, m2, c1, c2, r;
x1 = random.nextInt(10);
y1 = random.nextInt(10);
x2 = random.nextInt(10);
y2 = random.nextInt(10);
x3 = random.nextInt(10);
y3 = random.nextInt(10);
m1 = (y1 - y2) / (x1 - x2);
m2 = (y3 - y2) / (x3 - x2);
c1 = ((m1 * m2 * (y3 - y1)) + (m1 * (x2 + x3)) - (m2 * (x1 + x2)))
/ (2 * (m1 - m2));
c2 = ((((x1 + x2) / 2) - c1) / (-1 * m1)) + ((y1 + y2) / 2);
r = Math.sqrt(((x3 - c1) * (x3 - c1)) + ((y3 - c2) * (y3 - c2)));
System.out.println("The points on the circle are: (" + x1 + ", " + y1
+ "), (" + x2 + ", " + y2 + "), (" + x3 + ", " + y3 + ")");
System.out.println("The center of the circle is (" + c1 + ", " + c2
+ ") and radius is " + r);
System.out.println("Enter the point : <x>,<y>");
Scanner scan = new Scanner(System.in);
int x, y;
x = scan.nextInt();
y = scan.nextInt();
double s = ((x - c1) * (x - c1)) + ((y - c2) * (y - c1)) - (r * r);
if (s < 0)
System.out.println("The point lies inside the circle");
else if (s > 0)
System.out.println("The point lies outside the circle");
else
System.out.println("The point lies on the circle");
scan.close();
}
}
Output:
$ javac Position_Point_WRT_Circle.java $ java Position_Point_WRT_Circle The points on the circle are: (5, 9), (4, 7), (2, 0) The center of the circle is (34.5, 23.25) and radius is 39.960136386153636 Enter the point : <x>,<y> 3 5 The point lies inside the circle The points on the circle are: (0, 1), (2, 3), (5, 4) The center of the circle is (3.5, 4.5) and radius is 1.5811388300841898 Enter the point : <x>,<y> 1 2 The point lies outside the circle
Related posts:
Java Program to Implement Binary Heap
Calling Stored Procedures from Spring Data JPA Repositories
Java Program to Implement Solovay Strassen Primality Test Algorithm
Hướng dẫn Java Design Pattern – MVC
Java Program to Implement Jarvis Algorithm
Java Program to Implement Fisher-Yates Algorithm for Array Shuffling
Guide to Escaping Characters in Java RegExps
Java Program to Implement Meldable Heap
ExecutorService – Waiting for Threads to Finish
Spring MVC and the @ModelAttribute Annotation
Spring – Injecting Collections
Examine the internal DNS cache
Java Program to Represent Graph Using Linked List
Java Program to Remove the Edges in a Given Cyclic Graph such that its Linear Extension can be Found
Guide to Selenium with JUnit / TestNG
Java Program to Perform Preorder Non-Recursive Traversal of a Given Binary Tree
Java Program to Implement Bloom Filter
Java Program to Find Minimum Number of Edges to Cut to make the Graph Disconnected
Uploading MultipartFile with Spring RestTemplate
Java Program to Implement Direct Addressing Tables
Java Program to Perform Left Rotation on a Binary Search Tree
Java Program to Check Whether a Given Point is in a Given Polygon
Java Program to Implement Sorted Circular Doubly Linked List
A Guide to EnumMap
A Quick JUnit vs TestNG Comparison
Introduction to the Java ArrayDeque
Quick Guide to java.lang.System
String Operations with Java Streams
Java Program to Implement Interpolation Search Algorithm
Xử lý ngoại lệ đối với trường hợp ghi đè phương thức trong java
Java Program to Find Transitive Closure of a Graph
Java Program to Implement First Fit Decreasing for 1-D Objects and M Bins