在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 次瀏覽

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告