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

หาพื้นที่วงกลมใหญ่สุดที่เขียนล้อมในรูปไข่ (Ellipse) ใน C++

รูปไข่มีแกนใหญ่ 2a และแกนเล็ก 2b วงกลมที่เขียนล้อมได้ใหญ่สุดจะมีรัศมีเท่ากับแกนเล็ก b

พื้นที่ = π × b²

หาพื้นที่วงกลมใหญ่สุดที่เขียนล้อมในรูปไข่ (Ellipse) ใน C++

ตัวอย่างโค้ด

#include <iostream>
#include <cmath>
using namespace std;

double inscribedCircleArea(double b) {
    const double PI = 3.14159265359;
    return PI * b * b;
}

int main() {
    double a = 10, b = 8;
    cout << "Area of the circle: " << inscribedCircleArea(b);
    return 0;
}

ผลลัพธ์

Area of the circle: 201.062

คำอธิบายทางเรขาคณิต

สมการรูปไข่: x²/a² + y²/b² = 1 (a ≥ b > 0)

วงกลมที่เขียนล้อม: x² + y² = r²

เพื่อให้วงกลมอยู่ภายในรูปไข่ทั้งหมด: r ≤ b (เพราะแกน y เป็นแกนสั้นกว่า)

ดังนั้น r_max = b, พื้นที่ = πb²

กรณี a < b

หากแกนใหญ่เป็นแกน y (a < b) รัศมีสูงสุด = a, พื้นที่ = πa²

สูตรทั่วไป: π × min(a, b)²