สี่เหลี่ยมจัตุรัสอยู่ในอีลลิปซ์แกนใหญ่ 2a, แกนเล็ก 2b
ด้านสี่เหลี่ยม x = √(a²+b²) / (ab) (หมายเหตุ: สูตรนี้อาจต้องตรวจสอบความถูกต้อง)
Reuleaux Triangle ความสูง = x
พื้นที่ = (π - √3) × x² / 2
โค้ดตัวอย่าง
#include <iostream>
#include <cmath>
using namespace std;
float reuleauxArea(float a, float b) {
if (a < 0 || b < 0) return -1;
float x = sqrt(a*a + b*b) / (a*b);
return ((M_PI - sqrt(3)) * x * x) / 2;
}
int main() {
float a = 5, b = 4;
cout << "Area: " << reuleauxArea(a, b);
return 0;
}
ผลลัพธ์
Area: 0.0722343