Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

Reuleaux Triangle ในสี่เหลี่ยมจัตุรัสในอีลลิปซ์ ในภาษา C

สี่เหลี่ยมจัตุรัสอยู่ในอีลลิปซ์แกนใหญ่ 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