Program to calculate area of a parallelogram

05 Apr, 2021
Given integers A and B denoting the length of sides of a parallelogram and Y that is the angle between the sides and length of diagonals D1 and D2 of the parallelogram and an angle 0 at the intersection of the diagonal, the task is to find the area of the parallelogram from the information provided.
A parallelogram is a type of quadrilateral that has equal and parallel opposite sides and angle between them is not right angle.
Examples:
Input: A = 6, B = 10, 0 = 30Output: 18.48Explanation:For the given sides 6 and 10 and for the angle 30 degree the area of parallelogram will be 18.48.
Input: A = 3, B = 5, Y = 45Output: 10.61Explanation:For the given sides 3 and 5 and for the angle 45 degree the length of diagonal will be 10.61.
Input: D1 = 3, D2 = 5, 0 = 90Output: 7.5Explanation:For the given diagonals 3 and 5 and for the angle 90 degree the area of parallelogram will be 7.5.
Approach: The area of the parallelogram can be calculated by the following three formulas:
From given sides A and B and the angle between the diagonals, the area of the parallelogram can be calculated by the following formula:
 Area of Parallelogram for sides and angle between diagonals = ((A2 – B2) * tan 0) / 2
From given sides A and B and the angle between the sides, the area of the parallelogram is can be calculated by the following formula:  
Area of Parallelogram for sides and angle between sides = A * B * sin Y 
From the given length of diagonals D1 and D2 and the angle between them, the area of the parallelogram can be calculated by the following formula:  
Area of Parallelogram for diagonals and angle between diagonals = (D1 * D2 * sin 0)/2
Below is the implementation of the above approach:
C++
Java
Python3
C#
Javascript
// C++ program for the// above approach#include <bits/stdc++.h>using namespace std; double toRadians(int degree){  double pi = 3.14159265359;  return ((double)degree * (pi / 180));} // Function to return the area of// parallelogram using sides and// angle at the intersection of diagonaldouble Area_Parallelogram1(int a, int b,                           int theta){      // Calculate area of parallelogram    double area = (abs(tan(toRadians(theta))) / 2) *                   abs(a * a - b * b);      // Return the answer    return area;}  // Function to return the area of// parallelogram using sides and// angle at the intersection of sidesdouble Area_Parallelogram2(int a, int b,                           int gamma){      // Calculate area of parallelogram  double area = (abs(sin(toRadians(gamma)))) *                 abs(a * b);   // Return the answer  return area;}  // Function to return the area of// parallelogram using diagonals and// angle at the intersection of diagonalsstatic double Area_Parallelogram3(int d1, int d2,                                  int theta){      // Calculate area of parallelogram  double area = (abs(sin(toRadians(theta))) / 2) *                 abs(d1 * d2);   // Return the answer  return area;}   // Driver Codeint main(){  // Given diagonal and angle  int d1 = 3;  int d2 = 5;  int theta = 90;   // Function call  double area = Area_Parallelogram3(d1,                                    d2,                                    theta);     // Print the area  printf("%.2f", area);} // This code is contributed by rutvik_56
// Java program for above approachimport java.io.*; class GFG{ // Function to return the area of// parallelogram using sides and// angle at the intersection of diagonalstatic double Area_Parallelogram1(int a, int b,                                  int theta){     // Calculate area of parallelogram    double area = (Math.abs(Math.tan(                   Math.toRadians(theta))) / 2) *                   Math.abs(a * a - b * b);     // Return the answer    return area;} // Function to return the area of// parallelogram using sides and// angle at the intersection of sidesstatic double Area_Parallelogram2(int a, int b,                                  int gamma){         // Calculate area of parallelogram    double area = (Math.abs(Math.sin(                   Math.toRadians(gamma)))) *                   Math.abs(a * b);     // Return the answer    return area;} // Function to return the area of// parallelogram using diagonals and// angle at the intersection of diagonalsstatic double Area_Parallelogram3(int d1, int d2,                                  int theta){         // Calculate area of parallelogram    double area = (Math.abs(Math.sin(                   Math.toRadians(theta))) / 2) *                   Math.abs(d1 * d2);     // Return the answer    return area;} // Driver codepublic static void main (String[] args){         // Given diagonal and angle    int d1 = 3;    int d2 = 5;    int theta = 90;         // Function call    double area = Area_Parallelogram3(                  d1, d2, theta);         // Print the area    System.out.format("%.2f", area);}} // This code is contributed by offbeat
# Python3 program for the above approach import math # Function to return the area of# parallelogram using sides and# angle at the intersection of diagonaldef Area_Parallelogram1(a, b, theta):     # Calculate area of parallelogram    area = (abs(math.tan(math.radians(theta)))/2) \           * abs(a**2 - b**2)     # Return the answer    return area # Function to return the area of# parallelogram using sides and# angle at the intersection of sidesdef Area_Parallelogram2(a, b, gamma):     # Calculate area of parallelogram    area = (abs(math.sin(math.radians(gamma)))) \            * abs(a * b)     # Return the answer    return area # Function to return the area of# parallelogram using diagonals and# angle at the intersection of diagonalsdef Area_Parallelogram3(d1, d2, theta):     # Calculate area of parallelogram    area = (abs(math.sin(math.radians(theta)))/2) \            * abs(d1 * d2)     # Return the answer    return area  # Driver Code # Given diagonal and angled1 = 3d2 = 5theta = 90 # Function Callarea = Area_Parallelogram3(d1, d2, theta)# Print the areaprint(round(area, 2))
// C# program for// the above approachusing System;class GFG{ // Function to return the area of// parallelogram using sides and// angle at the intersection of diagonalstatic double Area_Parallelogram1(int a, int b,                                  int theta){  // Calculate area of parallelogram  double area = (Math.Abs(Math.Tan((theta *                          Math.PI) / 180)) / 2) *                 Math.Abs(a * a - b * b);   // Return the answer  return area;} // Function to return the area of// parallelogram using sides and// angle at the intersection of sidesstatic double Area_Parallelogram2(int a, int b,                                  int gamma){     // Calculate area of parallelogram  double area = (Math.Abs(Math.Sin((gamma *                          Math.PI) / 180))) *                 Math.Abs(a * b);   // Return the answer  return area;} // Function to return the area of// parallelogram using diagonals and// angle at the intersection of diagonalsstatic double Area_Parallelogram3(int d1, int d2,                                  int theta){     // Calculate area of parallelogram  double area = (Math.Abs(Math.Sin((theta *                          Math.PI) / 180)) / 2) *                 Math.Abs(d1 * d2);   // Return the answer  return area;} // Driver codepublic static void Main(String[] args){  // Given diagonal and angle  int d1 = 3;  int d2 = 5;  int theta = 90;   // Function call  double area = Area_Parallelogram3(d1, d2, theta);   // Print the area  Console.Write("{0:F2}", area);}} // This code is contributed by Rajput-Ji
<script> // Javascript program for the// above approachfunction toRadians(degree){    let pi = 3.14159265359;    return (degree * (pi / 180));} // Function to return the area of// parallelogram using sides and// angle at the intersection of diagonalfunction Area_Parallelogram1(a, b,                             theta){         // Calculate area of parallelogram    let area = (Math.abs(Math.tan(toRadians(theta))) / 2) *                Math.abs(a * a - b * b);     // Return the answer    return area;} // Function to return the area of// parallelogram using sides and// angle at the intersection of sidesfunction Area_Parallelogram2(a, b,                             gamma){            // Calculate area of parallelogram    let area = (Math.abs(Math.sin(toRadians(gamma)))) *                         Math.abs(a * b);         // Return the answer    return area;} // Function to return the area of// parallelogram using diagonals and// angle at the intersection of diagonalsfunction Area_Parallelogram3(d1, d2,                             theta){            // Calculate area of parallelogram    let area = (Math.abs(Math.sin(toRadians(theta))) / 2) *                         Math.abs(d1 * d2);         // Return the answer    return area;} // Driver Code // Given diagonal and anglelet d1 = 3;let d2 = 5;let theta = 90; // Function calllet area = Area_Parallelogram3(d1, d2,                               theta); // Print the areadocument.write(area); // This code is contributed by Mayank Tyagi     </script>
7.5
 
Time Complexity: O(1)Auxiliary Space: O(1)
offbeat
Rajput-Ji
rutvik_56
mayanktyagi1709
Geometric-Lines
Maths
Geometric
Mathematical
Mathematical
Geometric
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Maximum Manhattan distance between a distinct pair from N coordinates
Total area of two overlapping rectangles
Largest area possible after removal of a series of horizontal & vertical bars
Program to find line passing through 2 Points
Orientation of 3 ordered points
Program for Fibonacci numbers
Set in C++ Standard Template Library (STL)
Write a program to print all permutations of a given string
C++ Data Types
Merge two sorted arrays