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

โปรแกรมหาพื้นที่ส่วนโค้งวงกลม (Circular Segment) ใน C++


ในบทเรียนนี้ เราจะเขียนโปรแกรมหาพื้นที่ส่วนโค้งวงกลม (Circular Segment)

Circular Segment คืออะไร?

เมื่อลากเสตระยะ (Chord) ในวงกลม จะแบ่งวงกลมเป็น 2 ส่วน:

  • Minor Segment = ส่วนน้อย (มุมศูนย์กลาง < 180°)
  • Major Segment = ส่วนมาก (มุมศูนย์กลาง > 180°)

สูตรพื้นที่ Segment

พื้นที่ Sector − พื้นที่สามเหลี่ยม

Area = πr²(θ/360) - ½r²sin(θ)

โดย θ = มุมศูนย์กลาง (องศา) r = รัศมี

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

#include <bits/stdc++.h>
using namespace std;

const float PI = 3.14159f;

float area_of_segment(float radius, float angle_deg) {
    float area_sector = PI * radius * radius * (angle_deg / 360.0f);
    float area_triangle = 0.5f * radius * radius * sin(angle_deg * PI / 180.0f);
    return area_sector - area_triangle;
}

int main() {
    float radius = 10.0f, angle = 90.0f;
    
    cout << "Area of minor segment = " 
         << area_of_segment(radius, angle) << endl;
    cout << "Area of major segment = " 
         << area_of_segment(radius, 360.0f - angle);
    
    return 0;
}

ผลลัพธ์

Area of minor segment = 28.5397
Area of major segment = 285.619

การตรวจสอบ

r=10, θ=90°

Sector = π×100×¼ = 78.53975

Triangle = ½×100×sin(90°) = 50

Segment = 78.53975 - 50 = 28.53975 ✓

Major = พื้นที่วงกลม - Minor = 314.159 - 28.5397 = 285.6193 ✓