正方形内に内接する最大のルーロー三角形の面積を求める方法
この記事では、正方形の中に描ける最大のルーロー三角形(Reuleaux Triangle)の面積の求め方を解説します。正方形の一辺の長さを a、ルーロー三角形の高さを h とします。
ルーロー三角形とは
ルーロー三角形は、正三角形の各頂点を中心として、対向する頂点までの距離を半径とする円弧を3本描くことで得られる曲線三角形です。どの方向から測っても幅が一定となる「等幅図形」の代表例として知られており、機械部品やペン型ドリルなどにも応用されています。
面積の導出
正方形内に収まる最大のルーロー三角形を考えるとき、その高さ h は正方形の一辺 a と一致します。つまり、a = h が成り立ちます。
したがって、ルーロー三角形の面積は次の公式で計算できます。
面積 = ((π − √3) × a2) / 2
C++による実装例
#include <iostream>
#include <cmath>
using namespace std;
float areaReuleaux(float a) { // 正方形の一辺は a
if (a < 0) // a が負の場合は無効な入力として扱う
return -1;
float area = ((3.1415 - sqrt(3)) * (a) * (a)) / 2;
return area;
}
int main() {
float side = 8;
cout << "Area of Reuleaux Triangle: " << areaReuleaux(side);
}
実行結果
Area of Reuleaux Triangle: 45.1024
計算の検証
一辺 a = 8 の場合、公式に代入すると次のようになります。
((π − √3) × 82) / 2 ≈ ((3.1415 − 1.7321) × 64) / 2 ≈ 45.1024
このように、正方形の一辺の長さが分かれば、簡単な公式だけで最大のルーロー三角形の面積を求めることができます。
-
ルーロー三角形の面積の求め方|公式の導出とC++での計算例
本記事では、下図のようなルーロー三角形の面積を求める方法を解説します。ルーロー三角形の内部には一辺の長さが等しい正三角形が含まれており、その高さを h とします。この図形は、正三角形の各頂点を中心とした3つの円が重なり合った部分(共通部分)として作られます。ルーロー三角形とはルーロー三角形は、正三角形の3つの頂点をそれぞれ中心とし、頂点間の距離を半径とする3つの円の交わりでできる図形です。どの方向から測っても幅が一定になる「定幅図形」の最も簡単な例として知られており、マンホールの蓋や一部の工具などにも応用されています。面積の導出方法ルーロー三角形の面積は、3つの扇形(おうぎ形)に分解して考える
-
正方形の中にある葉の形の面積を求める方法
ここでは、正方形ABCDの内部に存在する、下図のような葉の形(リーフ形状)の面積を求める方法を解説します。正方形の各辺の長さは「a」とします。この葉の形は、互いに等しい2つの部分で構成されています。各部分の面積を p とすると、次のようになります。したがって、葉全体の面積は 2p となります。計算式葉の形は半径 a の円弧によって囲まれた領域から成り立っているため、その面積は以下の公式で求められます。葉の面積 = a2 × (π/2 − 1)実装例(C++)#include <iostream> using namespace std; float leafArea(float a