Biggest Reuleaux Triangle inscribed within a square which is inscribed within a hexagon in C?


A Reuleaux triangle is a shape formed from the intersection of three circular disks, each having its center on the boundary of the other two. Its boundary is a curve of constant width, the simplest and best known such curve other than the circle itself. Constant width means that the separation of every two parallel supporting lines is the same, independent of their orientation. Because all its diameters are the same.

The boundary of a Reuleaux triangle is a constant width curve based on an equilateral triangle. All points on a side are equidistant from the opposite vertex.

To construct a Reuleaux triangle

Formula for Reuleaux triangle

Area of the Reuleaux Triangle, if curve based on an equilateral triangle and side of triangle is h

A = (π * h2) / 2 – 2 * (Area of equilateral triangle) = (π – √3) * h2 / 2 = 0.70477 * h2

Biggest Reuleaux Triangle inscribed within a square which is inscribed within a hexagon

Biggest Reuleaux Triangle inscribed within a square which is inscribed within a hexagon

Biggest a square which is inscribed within a hexagon

The sides of the hexagonal are equal i.e. a = b + c.

Now, let d be the length of the side of the inscribed square,

d / a = 3 – √3 i.e. d / a = 1.268
d = 1.268 * a

Biggest Reuleaux Triangle within A Square

Area of Reuleaux Triangle is 0.70477 * b2 where b is the distance between the parallel lines supporting the Reuleaux Triangle.

distance between parallel lines supporting the Reuleaux Triangle = Side of the square i.e. a

Area of the Reuleaux Triangle, A = 0.70477 * a2

Let’s take an example to understand the concept,

Input: 5
Output: 28.3287

Explanation

side of the square inscribed within a hexagon is x = 1.268a.

in the reuleaux triangle, h = x = 1.268a.

Area of the reuleaux triangle, A = 0.70477*h^2 = 0.70477*(1.268a)^2.

Example

#include <stdio.h>
#include<math.h>
int main() {
   float a = 7;
   float h = 1.268 * a;
   float area = 0.70477 * pow(h, 2);
   printf("The area is : %f", area);
   return 0;
}

Output

The area is : 55.524166

Updated on: 07-Oct-2019

48 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements