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

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

บทนำ

เส้นทแยงมุมของหกเหลี่ยมสมมาตร (Regular Hexagon) มีความยาว = 1.73 × ด้าน (s)

สูตร

d = 1.73 × s (ค่าประมาณจาก √3 ≈ 1.732, ทฤษฎีจริงคือ d = 2 × s × sin(60°) = √3 × s)

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

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

float hexagonDiagonal(float s) {
    if (s < 0) {
        return -1;
    }
    return 1.73 * s;
}

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

ผลลัพธ์

12.11

คำอธิบายทางเรขาคณิต

หกเหลี่ยมสมมาตรประกอบด้วยสามเหลี่ยมด้านเท่า 6 รูป เส้นทแยงมุมที่ยาวที่สุดผ่านศูนย์กลาง = 2 × รัศมี = 2 × s = 2s แต่โค้ดนี้คำนวณเส้นทแยงมุมสั้นกว่า (เชื่อมมุมที่ห่าง 2 มุม) = √3 × s ≈ 1.732s

สรุป

ใช้ sqrt(3) แทน 1.73 จะได้ความแม่นยำสูงกว่า สูตรนี้ใช้บ่อยใน Computer Graphics และ Game Development