Check whether a given point lies on or inside the rectangle | Set 3

Given two numbers a and b where b < a form a rectangle with points (0, b), (b, 0), (a-b, b), (b, a-b). Given a point (x, y), the task is to check whether this point lies inside or on the rectangle or not.

Examples:

Input: a = 7, b = 2, x = 5, y = 2;
Output: Given point does not lie on the rectangle

Input: a = 7, b = 2, x = 4, y = 5;
Output: Given point lies inside the rectangle

Approach: An efficient way is to form 4 line’s equation of a rectangle. Then, if a given point lies in or on the rectangle if and only if, substituting the given point on:

  1. The right sideline ( x-y-b = 0 ) must give the value less than or equals to zero.
  2. The left sideline ( x-y+a = 0 ) must give the value greater than or equals to one.
  3. The upper sideline ( x+y-2*a+b = 0 ) must give the value less than or equals to zero.
  4. The lower sideline ( x+y-b = 0 ) must give the value greater than or equals to one.

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ program to Check whether a given point
// lies inside or on the rectangle or not
#include <bits/stdc++.h>
using namespace std;
  
// function to Check whether a given point
// lies inside or on the rectangle or not
bool LiesInsieRectangle(int a, int b, int x, int y)
{
    if (x - y - b <= 0 && x - y + b >= 0
        && x + y - 2 * a + b <= 0 && x + y - b >= 0)
        return true;
  
    return false;
}
  
// Driver code
int main()
{
    int a = 7, b = 2, x = 4, y = 5;
  
    if (LiesInsieRectangle(a, b, x, y))
        cout << "Given point lies inside the rectangle";
    else
        cout << "Given point does not lie on the rectangle";
  
return 0;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to Check whether 
// a given point lies inside or
// on the rectangle or not
class GFG 
{
  
// function to Check whether 
// a given point lies inside 
// or on the rectangle or not
static boolean LiesInsieRectangle(int a, int b, 
                                  int x, int y)
{
if (x - y - b <= 0 && x - y + b >= 0 && 
    x + y - 2 * a + b <= 0 && x + y - b >= 0)
    return true;
  
return false;
}
  
// Driver code
public static void main(String[] args) 
{
    int a = 7, b = 2, x = 4, y = 5;
  
    if (LiesInsieRectangle(a, b, x, y))
        System.out.println("Given point lies "
                        "inside the rectangle");
    else
        System.out.println("Given point does not "
                            "lie on the rectangle");
}
}
  
// This code is contributed
// by ChitraNayal

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python 3 program to Check whether 
# a given point lies inside or on
# the rectangle or not
  
# function to Check whether a given 
# point lies inside or on the
# rectangle or not 
def LiesInsieRectangle(a, b, x, y) :
  
    if(x - y - b <= 0 and 
       x - y + b >= 0 and 
       x + y - 2 * a + b <= 0 and 
       x + y - b >= 0) :
        return True
      
    return False
  
# Driver code
if __name__ == "__main__" :
  
    # multiple assignments
    a, b, x, y = 7, 2, 4, 5
  
    if LiesInsieRectangle(a, b, x, y) :
        print("Given point lies inside"
                      " the rectangle")
    else :
        print("Given point does not lie" 
                    " on the rectangle")
  
# This code is contributed by ANKITRAI1

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# program to Check whether 
// a given point lies inside 
// or on the rectangle or not
using System;
class GFG 
{
  
// function to Check whether 
// a given point lies inside 
// or on the rectangle or not
static bool LiesInsieRectangle(int a, int b, 
                               int x, int y)
{
if (x - y - b <= 0 &&
    x - y + b >= 0 && 
    x + y - 2 * a + b <= 0 && 
    x + y - b >= 0)
    return true;
  
return false;
}
  
// Driver code
public static void Main() 
{
    int a = 7, b = 2, x = 4, y = 5;
  
    if (LiesInsieRectangle(a, b, x, y))
        Console.Write("Given point lies "
                   "inside the rectangle");
    else
        Console.Write("Given point does not "
                       "lie on the rectangle");
}
}
  
// This code is contributed 
// by ChitraNayal

chevron_right


PHP

filter_none

edit
close

play_arrow

link
brightness_4
code

<?php
// PHP program to Check whether 
// a given point lies inside 
// or on the rectangle or not
  
// function to Check whether
// a given point lies inside 
// or on the rectangle or not
function LiesInsieRectangle($a, $b
                            $x, $y)
{
    if ($x - $y - $b <= 0 && 
        $x - $y + $b >= 0 &&
        $x + $y - 2 * $a + $b <= 0 && 
        $x + $y - $b >= 0)
        return true;
  
    return false;
}
  
// Driver code
$a = 7;
$b = 2;
$x = 4;
$y = 5;
  
if (LiesInsieRectangle($a, $b,
                       $x, $y))
    echo "Given point lies "
         "inside the rectangle";
else
    echo "Given point does not"
        " lie on the rectangle";
  
// This code is contributed by mits
?>

chevron_right


Output:

Given point lies inside the rectangle


My Personal Notes arrow_drop_up

pawanasipugmailcom

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.



Improved By : AnkitRai01, Mithun Kumar, Ita_c