Home > Java > javaTutorial > body text

How to confirm in Java whether given four points form a square?

王林
Release: 2023-08-20 19:45:20
forward
1307 people have browsed it

A square is a two-dimensional shape with four sides of equal length. Opposite sides of a square are parallel, all four interior angles are right angles, and the diagonals are of equal length. In this article we will examine how to confirm whether a given four points form a square.

We will get a square with four points, namely A, B, C, D, as shown in the figure −

How to confirm in Java whether given four points form a square?

We need to check from these points whether they form a square. In order to check this, it should satisfy the following conditions −

  • The distance between point A and point C, and the distance between point B and point D i.e. "x" should be equal.

  • The distance between point A and point B, the distance between point B and point C, the distance between point C and point D, the distance between point D and point A i.e. "z" should equal.

We will find the distance between two points using the formula -

$$\mathrm{d=\sqrt{(x_{2}-x_{1})^2(y_{2}-y_{1})^2}}$$

Point 1 will be (x1, y1), point 2 will be (x2, y2).

let's start!

Show you some examples

The Chinese translation of

Instance-1

is:

Instance-1

  • Given four input points are -

    • P1(3,7), P2(4,3), P3(7,8), P4(1,9)

  • Put it into the distance formula and check if the square condition is met, the result will be -

    • The given four points do not form a square.

Example-2

  • Given four input points are -

    • P1(20,20), P2(20,10), P3(10,10), P4(10,20)

  • Put it into the distance formula and check if the square condition is met, the result will be -

    • Given four points form a square.

algorithm

  • Step-1 − Declare and initialize variables.

  • Step-2 − Find the distance between center 1 and center 2 of the circle.

  • Step 3 - Check the five distance conditions.

  • Step-4 − Print the results.

Multiple methods

We provide solutions in different ways.

  • By using static input

  • By using user-defined methods

Let's look at the program and its output one by one.

Method 1: Use static input

In this method, point values ​​are assigned. Then according to the algorithm we will find out whether the given four points form a square.

The Chinese translation of

Example

is:

Example

public class Main{
   
   //main method
   public static void main(String[] args){
      
      //declaring variables
      int x1=3, x2=4, x3=7, x4=1;
      int y1=7, y2=3, y3=8, y4=9;
      double d1, d2, d3, d4, d5, d6;

      //applyinng logic
      d1 = (x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1);
      d2 = (x3 - x2) * (x3 - x2) + (y3 - y2) * (y3 - y2);
      d3 = (x4 - x3) * (x4 - x3) + (y4 - y3) * (y4 - y3);
      d4 = (x1 - x4) * (x1 - x4) + (y1 - y4) * (y1 - y4);
	   d5 = (x4 - x2) * (x4 - x2) + (y4 - y2) * (y4 - y2);
      d6 = (x3 - x1) * (x3 - x1) + (y3 - y1) * (y3 - y1);  
      
      if (d1 == 0 || d2 == 0 || d3 == 0 || d4 == 0 || d5 == 0 || d6 == 0){
		   System.out.println("Given four points do not form a square");
      }
      else if (d1 == d2 && d2 == d3 && d3 == d4 && d5 == d6){
	      
         //prints if four points form square
	      System.out.println("Given four points form a square");
	   } else {
	      
         //prints if four points do not form square 
	      System.out.println("Given four points do not form a square");
	   }

	}
} 
Copy after login

Output

Given four points do not form a square
Copy after login

Method 2: Use user-defined methods

In this method, point values ​​are assigned. Then a user-defined method is called by passing the given value and based on the algorithm it determines whether the given four points form a square.

The Chinese translation of

Example

is:

Example

public class Main{

   //main method
   public static void main(String[] args){
   
      //creating objects of Point
      Point p1 = new Point(20, 20);
      Point p2 = new Point( 20, 10 );
      Point p3 = new Point(10, 10 );
      Point p4 = new Point( 10, 20 );

      //calling user defined method
      if(isSquare(p1, p2, p3, p4)==true){
      
         //print if four points form a square
         System.out.println("Given four points form a square");   
      }
      else{
         
         //print if points does not form a square
         System.out.println("Given four points do not form a square"); 
      }
   }

   // Declaring Point class
   static class Point{
      int x, y;
      public Point(int x, int y){
         this.x = x;
         this.y = y;
      }
   };

   //function to find square of distance from point 'p' to point 'q'
   static int distSq(Point p, Point q){
      return (p.x - q.x) * (p.x - q.x) + (p.y - q.y) * (p.y - q.y);
   }

   //user defined method
   static boolean isSquare(Point p1, Point p2, Point p3, Point p4){
      int d1 = distSq(p1, p2); 
      int d2 = distSq(p2, p3); 
      int d3 = distSq(p3, p4);
      int d4 = distSq(p4, p1);
	
      int d5 = distSq(p1, p3);
      int d6 = distSq(p2, p4);
      if (d1 == 0 || d2 == 0 || d3 == 0 || d4 == 0 || d5 == 0 || d6 == 0)
         return false;

      if (d1 == d2 && d2 == d3 && d3 == d4 && d5 == d6){
	   
         //it returns true if (p1, p2, p3, p4) form a square
         return true;
      }

      //it returns false if (p1, p2, p3, p4) do not form a square
      return false;
   }
}
Copy after login

Output

Given four points form a square
Copy after login

In this article, we explored different ways to check if a line touches, intersects, or lies outside a circle using the Java programming language.

The above is the detailed content of How to confirm in Java whether given four points form a square?. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:tutorialspoint.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!