在C语言中,内接于内接于等边三角形的正方形的最大莱洛三角形?


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

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

如何构造莱洛三角形

莱洛三角形的公式

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

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

内接于内接于等边三角形的正方形的最大莱洛三角形

内接于内接于等边三角形的正方形的最大莱洛三角形

内接于等边三角形的最大正方形

设正方形的边长为 x。

a = 2x/√3 + x

x = a/(1 + 2/√3) = 0.464a

内接于正方形的最大莱洛三角形

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

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

莱洛三角形的面积 A = 0.70477 * a²

让我们来看一个例子:

Input: 5
Output: 3.79335

解释

这里给出一个边长为 a 的等边三角形,它内接一个正方形,而正方形又内接一个莱洛三角形。任务是找到这个莱洛三角形的最大可能面积。

内接于边长为 a 的等边三角形的正方形的边长为 x = 0.464*a

在莱洛三角形中,h = x。

莱洛三角形的面积

A = 0.70477*h²

= 0.70477*(0.464*a)²

示例

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

输出

The area is 1.365607

更新于:2019年10月4日

76 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.