Area of the Largest square that can be inscribed in an ellipse - GeeksforGeeks

15 Mar, 2021
Given an ellipse, with major axis length 2a & 2b, the task is to find the area of the largest rectangle that can be inscribed in it.Examples:  
Input: a = 4, b = 2
Output: 1.25

Input: a = 5, b= 3
Output: 0.604444
 
 
Approach: If a square is inscribed in an ellipse, the distance from the centre of the square to any of its corners will be equal to the distance between the origin and the point on the upper right corner in the diagram below, where x=y 
the equation of the ellipse is x^2/a^2 + y^2/b^2 = 1 If, x = y then, x^2/a^2 + x^2/b^2 = 1 therefore, x = √(a^2 + b^2)/ab so, y = √(a^2 + b^2)/ab So Area, A = 4(a^2 + b^2)/a^2b^2 
Below is the implementation of above approach: 
C++
Java
Python 3
C#
PHP
Javascript
// C++ Program to find the biggest square// which can be inscribed within the ellipse#include <bits/stdc++.h>using namespace std; // Function to find the area// of the squarefloat squarearea(float a, float b){     // a and b cannot be negative    if (a < 0 || b < 0)        return -1;     // area of the square    float area = 4 * ((pow(a, 2) + pow(b, 2))                      / (pow(a, 2) * pow(b, 2)));     return area;} // Driver codeint main(){    float a = 4, b = 2;    cout << squarearea(a, b) << endl;     return 0;}
// Java Program to find the biggest square// which can be inscribed within the ellipseimport java.io.*; class GFG {  // Function to find the area// of the squarestatic float squarearea(float a, float b){     // a and b cannot be negative    if (a < 0 || b < 0)        return -1;     // area of the square    float area = 4 *(float) ((Math.pow(a, 2) + Math.pow(b, 2))                    / (Math.pow(a, 2) * Math.pow(b, 2)));     return area;} // Driver code     public static void main (String[] args) {        float a = 4, b = 2;    System.out.println( squarearea(a, b));     }}// This code is contributed by inder_verma.
# Python3 Program to find the biggest square# which can be inscribed within the ellipse  # Function to find the area# of the squaredef squarearea( a, b):      # a and b cannot be negative    if (a < 0 or b < 0):        return -1          # area of the square    area = 4 * (((pow(a, 2) + pow(b, 2)) /               (pow(a, 2) * pow(b, 2))))     return area  # Driver codeif __name__=='__main__':    a = 4    b = 2    print(squarearea(a, b)) # This code is contributed by ash264
// C# Program to find the biggest// square which can be inscribed// within the ellipseusing System; class GFG{ // Function to find the area// of the squarestatic float squarearea(float a, float b){     // a and b cannot be negative    if (a < 0 || b < 0)        return -1;     // area of the square    float area = 4 *(float) ((Math.Pow(a, 2) +                              Math.Pow(b, 2)) /                             (Math.Pow(a, 2) *                              Math.Pow(b, 2)));     return area;} // Driver codepublic static void Main (){    float a = 4, b = 2;    Console.WriteLine( squarearea(a, b));}} // This code is contributed by inder_verma
<?php// PHP Program to find the biggest square// which can be inscribed within the ellipse  // Function to find the area// of the squarefunction squarearea( $a, $b){     // a and b cannot be negative    if ($a < 0 or $b < 0)        return -1;          // area of the square    $area = 4 * (((pow($a, 2) + pow($b, 2)) /            (pow($a, 2) * pow($b, 2))));     return $area;} // Driver code     $a = 4;    $b = 2;    print(squarearea($a, $b)); // This code is contributed by mits?>
<script> // javascript Program to find the biggest square// which can be inscribed within the ellipse // Function to find the area// of the squarefunction squarearea(a , b){     // a and b cannot be negative    if (a < 0 || b < 0)        return -1;     // area of the square    var area = 4 *((Math.pow(a, 2) + Math.pow(b, 2))                    / (Math.pow(a, 2) * Math.pow(b, 2)));     return area;} // Driver codevar a = 4, b = 2;document.write( squarearea(a, b)); // This code contributed by shikhasingrajput </script>
1.25
 
ash264
inderDuMCA
Mithun Kumar
shikhasingrajput
square-rectangle
Geometric
Mathematical
Mathematical
Geometric
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Haversine formula to find distance between two points on a sphere
Program to find slope of a line
Program to find line passing through 2 Points
Equation of circle when three points on the circle are given
Maximum Manhattan distance between a distinct pair from N coordinates
Program for Fibonacci numbers
Write a program to print all permutations of a given string
Set in C++ Standard Template Library (STL)
C++ Data Types
Coin Change | DP-7