ที่นี่เราจะมาดูวิธีหาพื้นที่ของวงกลมที่เขียนเป็นรูปหลายเหลี่ยมปกติด้าน N ให้ N (จำนวนด้าน) และแต่ละด้านของรูปหลายเหลี่ยมคือ 'a'
วิธีการนั้นง่าย รูปหลายเหลี่ยมด้าน N หนึ่งรูปสามารถแบ่งออกเป็นสามเหลี่ยมจำนวนเท่า N ได้ มุมทั้งหมดสำหรับสามเหลี่ยมแต่ละรูปที่อยู่ตรงกลางคือ 360/N ดังนั้น -
ตัวอย่าง
#include <iostream> #include <cmath> using namespace std; float area(float n, float a) { if (n < 0 || a < 0 ) //if the valuse are negative it is invalid return -1; float r = a/(2.0*tan((180/n) * 3.14159/180)); float area = 3.14159 * r*r; return area; } int main() { float n = 8, a = 4; cout << "Area : " << area(n, a); }
ผลลัพธ์
Area : 73.2422