ในที่นี้เราจะมาดูวิธีหาพื้นที่ของรูปหลายเหลี่ยมปกติด้าน 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