在半圆内接正方形内接最大的莱洛三角形在C语言中?


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

莱洛三角形的边界是基于等边三角形的等宽曲线。每条边的所有点都与对面的顶点等距。

如何构造莱洛三角形

莱洛三角形的公式:

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

A = (π * h2) / 2 – 2 * (等边三角形的面积) = (π – √3) * h2 / 2 = 0.70477 * h2

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

如果半圆内接正方形内接最大的莱洛三角形,则它看起来像上图所示。

如果半圆内接最大的正方形,则它看起来像上图所示

r为半圆的半径,a正方形的边长。

直角三角形AOB

a2 + (a/2)2 = r2

5*(a2/4) = r2

a2 = 4*(r2/5) 即正方形的面积

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

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

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

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

Input:x = 5
Output: 14.0954

解释

这里给出一个半径为r的半圆,它内接一个正方形,而正方形又内接一个莱洛三角形。求该莱洛三角形的最大可能面积。

内接于半圆的正方形的边长为:a = 2r/√5

x = a。

 x = 2*r/√5

 莱洛三角形的面积 −

A = 0.70477*x^2 = 0.70477*(r^2/5)

示例

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

输出

The area is 14.095401

更新于: 2019年10月4日

85 次浏览

开启你的 职业生涯

完成课程,获得认证

立即开始
广告