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:
An Intro to Spring Cloud Security
Java Program to Implement HashSet API
Lập trình đa luồng với CompletableFuture trong Java 8
Sort a HashMap in Java
Spring Security and OpenID Connect
Explain about URL and HTTPS protocol
REST Web service: Basic Authentication trong Jersey 2.x
Java Program to Permute All Letters of an Input String
Spring @RequestParam Annotation
How to Add a Single Element to a Stream
Jackson – JsonMappingException (No serializer found for class)
Lớp Collectors trong Java 8
Java Program to Implement Nth Root Algorithm
Hướng dẫn Java Design Pattern – Template Method
Spring WebFlux Filters
A Guide to Spring Cloud Netflix – Hystrix
A Custom Data Binder in Spring MVC
Java Program to Implement RoleUnresolvedList API
Functional Interfaces in Java 8
Spring Boot - Quick Start
Java Program to Implement Dijkstra’s Algorithm using Queue
Java – Write a Reader to File
Reversing a Linked List in Java
Convert String to Byte Array and Reverse in Java
Tạo chương trình Java đầu tiên sử dụng Eclipse
Weak References in Java
Java Program to Implement Find all Back Edges in a Graph
Guide to CopyOnWriteArrayList
Java Program to Implement the RSA Algorithm
Returning Image/Media Data with Spring MVC
Java Program to Represent Graph Using 2D Arrays
Java Program to Implement Hash Tables with Double Hashing