ในที่นี้เราจะมาดูวิธีหาพื้นที่ของรูปหลายเหลี่ยมปกติด้าน n ซึ่งกำหนดรัศมีไว้ รัศมีคือระยะห่างจากจุดศูนย์กลางของจุดยอดใดๆ เพื่อแก้ปัญหานี้ เราได้วาดเส้นตั้งฉากหนึ่งฉากจากจุดศูนย์กลางไปด้านหนึ่ง ให้แต่ละด้านยาว 'a' ฉากตั้งฉากแบ่งด้านออกเป็นสองส่วน ความยาวของแต่ละส่วนคือ a/2 ตั้งฉากกับรัศมีหนึ่งทำให้มุม x ให้ความยาวของรัศมีเท่ากับ h
ที่นี่เราจะเห็นว่ารูปหลายเหลี่ยมถูกแบ่งออกเป็นสามเหลี่ยม N เท่ากับ ดังนั้นสำหรับรูปหลายเหลี่ยมที่มีด้าน N จะถูกแบ่งออกเป็นสามเหลี่ยม N ดังนั้นมุมที่จุดศูนย์กลางคือ 360 ซึ่งแบ่งออกเป็นมุมต่างๆ 360°/N (ที่นี่ 360°/6 =60°) ดังนั้นมุม x คือ 180°/N ตอนนี้เราสามารถหา h และ a ได้ง่ายๆ โดยใช้สมการตรีโกณมิติ
ตอนนี้พื้นที่ของรูปหลายเหลี่ยมทั้งหมดเป็น N*A
ตัวอย่าง
#include <iostream> #include <cmath> using namespace std; float polygonArea(float r, int n){ return ((r * r * n) * sin((360 / n) * 3.1415 / 180)) / 2; //convert angle to rad then calculate } int main() { float rad = 9.0f; int sides = 6; cout << "Polygon Area: " << polygonArea(rad, sides); }
ผลลัพธ์
Polygon Area: 210.44