Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

直角三角形に内接する正方形の中に描ける最大のルーロー三角形をC言語で求める方法

ルーロー三角形とは

ルーロー三角形(Reuleaux triangle)は、3つの円盤の重なり(共通部分)によって形成される図形です。それぞれの円の中心は、他の2つの円の周上に位置しています。この図形の輪郭は「定幅曲線」と呼ばれるもので、円を除けば最も単純でよく知られた定幅曲線です。定幅とは、平行な2本の支持線の間隔(幅)が、向きに関係なく常に同じであることを意味します。

直角三角形に内接する正方形の中に描ける最大のルーロー三角形をC言語で求める方法

ルーロー三角形の輪郭は、正三角形をベースにした定幅曲線です。一つの辺上の任意の点は、対向する頂点から常に等しい距離にあります。

直角三角形に内接する正方形の中に描ける最大のルーロー三角形をC言語で求める方法

ルーロー三角形の構成と面積の公式

ルーロー三角形は、正三角形の各頂点を中心として、他の頂点を通る円弧を3つ描くことで構成できます。

正三角形をベースとし、その一辺の長さを h とすると、ルーロー三角形の面積 A は次の式で表されます。

A = (π × h2) / 2 − 2 × (正三角形の面積)
  = (π − √3) × h2 / 2
  ≈ 0.70477 × h2

直角三角形に内接する正方形内の最大のルーロー三角形

直角三角形に内接する正方形の中に描ける最大のルーロー三角形をC言語で求める方法

まず、直角三角形に内接する最大の正方形を考えます。図から、その一辺の長さ a は次のように導かれます。

a = (l × b) / (l + b)

直角三角形に内接する正方形の中に描ける最大のルーロー三角形をC言語で求める方法

ここで lb は、直角三角形を構成する2辺の長さです。

次に、この正方形の中に収まる最大のルーロー三角形を考えます。ルーロー三角形の面積は「0.70477 × 幅2」で表され、ここでの幅(平行な支持線の間隔)は正方形の一辺 a に等しくなります。したがって、求める面積は次の通りです。

A = 0.70477 × a2

具体例で理解する

入力: l = 3, b = 4
出力: 2.07116

解説

直角三角形に内接する正方形の一辺は、a = (l × b) / (l + b) です。ルーロー三角形の幅 x はこの正方形の一辺と等しいので、x = (l × b) / (l + b) となります。

よって、ルーロー三角形の面積は次の式で計算できます。

A = 0.70477 × x2 = 0.70477 × ((l × b) / (l + b))2

C言語による実装例

#include <stdio.h>
#include <math.h>

int main() {
    float l = 3, b = 4;
    float x = (l * b) / (l + b);
    float area = 0.70477 * pow(x, 2);
    printf("The area is : %f", area);
    return 0;
}

実行結果

The area is : 2.071161
  1. 半円に内接する正方形の中に収まる最大のルーロー三角形の面積を求める方法

    本記事では、半円に内接する正方形の中に内接する最大のルーロー三角形の面積を求める方法を解説します。半円の半径を R、正方形の一辺の長さを a、ルーロー三角形の高さを h として考えます。数学的な導出まず、半径 R の半円に内接する正方形の一辺の長さは、次の式で表されます。a = 2R / √5次に、ルーロー三角形の高さは、この正方形の一辺と等しくなります。したがって、a = h が成り立ちます。一般に、高さ h のルーロー三角形の面積は、以下の公式で求められます。面積 = ((π − √3) × h²) / 2ここに h = 2R / √5 を代入すると、最終的な面積の式は次のようになります。

  2. ルーロー三角形の面積の求め方|公式の導出とC++での計算例

    本記事では、下図のようなルーロー三角形の面積を求める方法を解説します。ルーロー三角形の内部には一辺の長さが等しい正三角形が含まれており、その高さを h とします。この図形は、正三角形の各頂点を中心とした3つの円が重なり合った部分(共通部分)として作られます。ルーロー三角形とはルーロー三角形は、正三角形の3つの頂点をそれぞれ中心とし、頂点間の距離を半径とする3つの円の交わりでできる図形です。どの方向から測っても幅が一定になる「定幅図形」の最も簡単な例として知られており、マンホールの蓋や一部の工具などにも応用されています。面積の導出方法ルーロー三角形の面積は、3つの扇形(おうぎ形)に分解して考える