บทนำ
เส้นทแยงมุมของหกเหลี่ยมสมมาตร (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