Area of Reuleaux Triangle

Given an integer h which is the side of an equilateral triangle formed by the same vertices as the Reuleaux triangle, the task is to find and print the area of the Reuleaux triangle.

Examples:

Input: h = 6
Output: 25.3717

Input: h = 9
Output: 57.0864



Approach: The shape made by the intersection of the three circles ABC is the Reuleaux Triangle and the triangle formed by the same vertices i.e. ABC is an equilateral triangle with side h.

Now, Area of sector ACB, A1 = (π * h2) / 6
Similarly, Area of sector CBA, A2 = (π * h2) / 6
And, Area of sector BAC, A3 = (π * h2) / 6
So, A1 + A2 + A3 = (π * h2) / 2
Since, the area of the triangle is added thrice in the sum.
So, Area of the Reuleaux Triangle, A = (π * h2) / 2 – 2 * (Area of equilateral triangle) = (π – √3) * h2 / 2 = 0.70477 * h2

Below is the implementation of the above approach:

C++

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ Program to find the area
// of Reuleaux triangle
#include <bits/stdc++.h>
using namespace std;
  
// Function to find the Area
// of the Reuleaux triangle
float ReuleauxArea(float a)
{
  
    // Side cannot be negative
    if (a < 0)
        return -1;
  
    // Area of the Reuleaux triangle
    float A = 0.70477 * pow(a, 2);
    return A;
}
  
// Driver code
int main()
{
    float a = 6;
    cout << ReuleauxArea(a) << endl;
    return 0;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java Program to find the area 
// of Reuleaux triangle 
  
public class GFG
{
    // Function to find the Area 
    // of the Reuleaux triangle 
    static double ReuleauxArea(float a) 
    
      
        // Side cannot be negative 
        if (a < 0
            return -1
      
        // Area of the Reuleaux triangle 
        double A = (double)0.70477 * Math.pow(a, 2); 
        return A; 
    
      
    // Driver code 
    public static void main(String args[]) 
    
        float a = 6
        System.out.println(ReuleauxArea(a)) ; 
    
    // This code is contributed by Ryuga
}

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python3 program to find the area
# of Reuleaux triangle
import math as mt
  
# function to the area of the 
# Reuleaux triangle
def ReuleauxArea(a):
      
    # Side cannot be negative
    if a < 0:
        return -1
    # Area of the Reauleax triangle
    return 0.70477 * pow(a, 2)
  
# Driver code
a = 6
print(ReuleauxArea(a))
  
# This code is contributed 
# by Mohit Kumar        

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// C# Program to find the area  
// of Reuleaux triangle  
    
using System;
  
public class GFG 
    // Function to find the Area  
    // of the Reuleaux triangle  
    static double ReuleauxArea(float a)  
    {  
        
        // Side cannot be negative  
        if (a < 0)  
            return -1;  
        
        // Area of the Reuleaux triangle  
        double A = (double)0.70477 * Math.Pow(a, 2);  
        return A;  
    }  
        
    // Driver code  
    public static void Main()  
    {  
        float a = 6;  
        Console.WriteLine(ReuleauxArea(a)) ;  
    
}
    // This code is contributed by Subhadeep

chevron_right


PHP

Output:

25.3717


My Personal Notes arrow_drop_up

Budding Web DeveloperKeen learnerAverage CoderDancer&Social Activist

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.