Area of Reuleaux Triangle - GeeksforGeeks

17 Mar, 2021
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.3717Input: 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++
Java
Python3
C#
PHP
Javascript
// C++ Program to find the area// of Reuleaux triangle#include <bits/stdc++.h>using namespace std; // Function to find the Area// of the Reuleaux trianglefloat 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 codeint main(){    float a = 6;    cout << ReuleauxArea(a) << endl;    return 0;}
// 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}
# Python3 program to find the area# of Reuleaux triangleimport math as mt # function to the area of the# Reuleaux triangledef ReuleauxArea(a):         # Side cannot be negative    if a < 0:        return -1    # Area of the Reauleax triangle    return 0.70477 * pow(a, 2) # Driver codea = 6print(ReuleauxArea(a)) # This code is contributed# by Mohit Kumar       
// 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
<?php// PHP Program to find the area// of Reuleaux triangle // Function to find the Area// of the Reuleaux trianglefunction ReuleauxArea($a){     // Side cannot be negative    if ($a < 0)        return -1;     // Area of the Reuleaux triangle    $A = 0.70477 * pow($a, 2);    return $A;} // Driver code$a = 6;echo ReuleauxArea($a); // This code is contributed// by Akanksha Rai
<script>// javascript Program to find the area// of Reuleaux triangle // Function to find the Area// of the Reuleaux trianglefunction ReuleauxArea(a){     // Side cannot be negative    if (a < 0)        return -1;     // Area of the Reuleaux triangle    var A = 0.70477 * Math.pow(a, 2);    return A;} // Driver code   var a = 6;document.write(ReuleauxArea(a)) ; // This code is contributed by Princi Singh</script>
25.3717
 
ankthon
tufan_gupta2000
mohit kumar 29
Akanksha_Rai
princi singh
area-volume-programs
C++ Programs
Geometric
Mathematical
Mathematical
Geometric
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Passing a function as a parameter in C++
Program to implement Singly Linked List in C++ using class
Const keyword in C++
cout in C++
Dynamic _Cast in C++
Closest Pair of Points using Divide and Conquer algorithm
How to check if a given point lies inside or outside a polygon?
Program for distance between two points on earth
How to check if two given line segments intersect?
Find if two rectangles overlap