C语言中内接于内接于六边形的正方形的最大鲁洛三角形?


鲁洛三角形是由三个圆盘的交集形成的形状,每个圆盘的中心都在另外两个圆盘的边界上。它的边界是等宽曲线,是除圆本身之外最简单、最著名的等宽曲线。等宽意味着每两条平行的支撑线的距离相同,与它们的方位无关。因为它的所有直径都相同。

鲁洛三角形的边界是基于等边三角形的等宽曲线。边上的所有点到对边的顶点的距离都相等。

如何构造鲁洛三角形

鲁洛三角形的公式

如果鲁洛三角形的曲线基于等边三角形,且三角形的边长为h,则鲁洛三角形的面积为

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

内接于内接于六边形的正方形的最大鲁洛三角形

内接于内接于六边形的正方形的最大鲁洛三角形

内接于六边形的最大正方形

六边形的边长相等,即a = b + c

现在,设d为内接正方形的边长,

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

正方形内最大的鲁洛三角形

鲁洛三角形的面积为0.70477 * b2,其中b是支撑鲁洛三角形的平行线之间的距离。

支撑鲁洛三角形的平行线之间的距离 = 正方形的边长,即a

鲁洛三角形的面积,A = 0.70477 * a2

让我们举个例子来理解这个概念:

Input: 5
Output: 28.3287

解释

内接于六边形的正方形的边长为x = 1.268a

在鲁洛三角形中,h = x = 1.268a

鲁洛三角形的面积,A = 0.70477*h^2 = 0.70477*(1.268a)^2

示例

#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;
}

输出

The area is : 55.524166

更新于:2019年10月7日

67 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告