Java Program to Check if a Point d lies Inside or Outside a Circle Defined by Points a, b, c in a Plane

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 Vault
Java Program to Implement Wagner and Fisher Algorithm for online String Matching
Java Program to Remove the Edges in a Given Cyclic Graph such that its Linear Extension can be Found
Reactive WebSockets with Spring 5
Java Program to Implement Threaded Binary Tree
Getting Started with Forms in Spring MVC
Custom Thread Pools In Java 8 Parallel Streams
Spring Cloud AWS – Messaging Support
Spring Boot - Bootstrapping
Spring Boot Application as a Service
Java – Create a File
Java Program to Describe the Representation of Graph using Incidence List
Java Program to Describe the Representation of Graph using Incidence Matrix
Java Program to Find the Vertex Connectivity of a Graph
Java InputStream to Byte Array and ByteBuffer
Guide to java.util.concurrent.Locks
Java Program to Check Whether an Input Binary Tree is the Sub Tree of the Binary Tree
Spring @RequestParam Annotation
Java Program to Search Number Using Divide and Conquer with the Aid of Fibonacci Numbers
Debug a JavaMail Program
Java Program to Implement Bresenham Line Algorithm
Java Program to Implement Segment Tree
Spring Boot - Logging
Send email with SMTPS (eg. Google GMail)
Java Program to Implement Gabow Algorithm
Hướng dẫn sử dụng luồng vào ra nhị phân trong Java
Auditing with JPA, Hibernate, and Spring Data JPA
Versioning a REST API
Java Program to Implement Vector API
Hướng dẫn Java Design Pattern – Factory Method
Life Cycle of a Thread in Java
Java Program to Perform Quick Sort on Large Number of Elements