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

หาเส้นทแยงมุมของเจ็ดเหลี่ยมสมมาตรใน C++

บทนำ

เส้นทแยงมุมของเจ็ดเหลี่ยมสมมาตร (Regular Heptagon) มีความยาว ≈ 1.802 × ด้าน (s)

สูตร

d = 1.802 × s (ค่าประมาณจาก 2 × sin(3π/7) ≈ 1.80194)

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

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

float heptagonDiagonal(float s) {
    if (s < 0) {
        return -1;
    }
    return 1.802 * s;
}

int main() {
    float s = 7;
    cout << heptagonDiagonal(s) << endl;
    return 0;
}

ผลลัพธ์

12.614

พื้นฐานคณิตศาสตร์

สำหรับ n-เหลี่ยมสมมาตร เส้นทแยงมุมที่ข้าม k มุม = 2R × sin(kπ/n) โดย R = รัศมีวงกลมล้อม = s / (2 × sin(π/n)) สำหรับ heptagon (n=7), k=2 (ทะลุ 1 มุม): d = 2 × sin(2π/7) / (2 × sin(π/7)) × s = sin(2π/7)/sin(π/7) × s ≈ 1.802s

สรุป

สูตรทั่วไปสำหรับ n-เหลี่ยม: ใช้ sin/cos คำนวณได้แม่นยำ ค่าคงที่ 1.802 เป็นค่าประมาณ