Java Program to Apply Above-Below-on Test to Find the Position of a Point with respect to a Line

This is a Java Program to check whether a point lies below, above or on the line. For any point t (xt, yt) on the plane, its position with respect to the line L connecting p and q is found by calculating the scalar s:
s = A xt + B yt + C
If s < 0, t lies in the clockwise halfplane of L; if s > 0, t lies on the counter-clockwise halfplane; if s = 0, t lies on L.
For example, the equation of the line connecting points (2, 2) and (4, 5) is -3x + 2y + 2 = 0. The point (6, 3) lies in the clockwise halfplane of this line, because (-3)(6) + (2)(3) + 2 = -10. Conversely, the point (0, 5) lies in the other halfplane as (-3)(0) +(2)(5) +2 = 12.

Here is the source code of the Java Program to Apply Above-Below-on Test to Find the Position of a Point with respect to a Line. 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 a point lies on, above or below the gievn line
import java.util.Random;
import java.util.Scanner;
 
public class Position_Point_WRT_Line
{
    public static void main(String args[])
    {
        Random random = new Random();
        int x1, x2, y1, y2;
        x1 = random.nextInt(10);
        x2 = random.nextInt(10);
        y1 = random.nextInt(10);
        y2 = random.nextInt(10);
 
        System.out.println("The Equation of the line is : (" + (y2 - y1)
                + ")x+(" + (x1 - x2) + ")y+(" + (x2 * y1 - x1 * y2) + ") = 0");
 
        System.out.println("Enter the point : <x>,<y>");
        Scanner scan = new Scanner(System.in);
        int x, y;
        x = scan.nextInt();
        y = scan.nextInt();
 
        int s = (y2 - y1) * x + (x1 - x2) * y + (x2 * y1 - x1 * y2);
        if (s < 0)
            System.out
                    .println("The point lies below the line or left side of the line");
        else if (s > 0)
            System.out
                    .println("The point lies above the line or right side of the line");
        else
            System.out.println("The point lies on the line");
        scan.close();
    }
}

Output:

$ javac Position_Point_WRT_Line.java
$ java Position_Point_WRT_Line
 
The Equation of the line is : (-2)x+(-9)y+(81) = 0
Enter the point : <x>,<y>
2
3
The point lies above the line or right side of the line

Related posts:

Spring @Primary Annotation
String Joiner trong Java 8
Lớp Collections trong Java (Collections Utility Class)
Java Program to Implement Shell Sort
Java Program to Implement EnumMap API
Spring Boot with Multiple SQL Import Files
Java Program to Print the Kind of Rotation the AVL Tree is Undergoing
Java Program to Use Above Below Primitive to Test Whether Two Lines Intersect
Reactive Flow with MongoDB, Kotlin, and Spring WebFlux
Java Program to Find Path Between Two Nodes in a Graph
Java Program to Implement Sorted Singly Linked List
Date Time trong Java 8
Java Program to Give an Implementation of the Traditional Chinese Postman Problem
Spring Boot - Admin Client
How to Read a Large File Efficiently with Java
Java Program to Perform Searching Based on Locality of Reference
How to Set TLS Version in Apache HttpClient
Giới thiệu luồng vào ra (I/O) trong Java
Unsatisfied Dependency in Spring
@Before vs @BeforeClass vs @BeforeEach vs @BeforeAll
Java Program to Find kth Largest Element in a Sequence
Java Program to Implement K Way Merge Algorithm
Java Program to Evaluate an Expression using Stacks
Chuyển đổi Array sang ArrayList và ngược lại
Java Program to Use Dynamic Programming to Solve Approximate String Matching
Logout in an OAuth Secured Application
Java Program to Implement Max Heap
Java – Reader to InputStream
How to Manually Authenticate User with Spring Security
Spring Data – CrudRepository save() Method
Java Program to Implement WeakHashMap API
Assert an Exception is Thrown in JUnit 4 and 5