A hexagonal prism is a three-dimensional geometric shape with two hexagonal bases and six rectangular faces. To find the volume of a regular hexagonal prism, you need to determine the area of the hexagonal base and multiply it by the height of the prism.
The Hexagon Volume Formula
The calculation is performed in two main steps:
Find the Area of the Hexagonal Base (A): A = (3√3 / 2) × a²
Where a is the length of one side of the hexagon.
Find the Volume (V): V = Area × Height V = [(3√3 / 2) × a²] × h
Practical Example
Imagine you have a hexagonal planter with a side length of 40 cm and a height of 60 cm.
Step 1: Side length (a) = 40 cm
Step 2: Height (h) = 60 cm
Step 3: Base Area = 2.598 × 40² = 2.598 × 1600 = 4,156.8 cm²
Step 4: Total Volume = 4,156.8 × 60 = 249,408 cm³
This volume represents how much soil or water the hexagonal container can hold.
Key Characteristics of Hexagonal Prisms
Property
Value
Number of Faces
8 (2 hexagons, 6 rectangles)
Number of Edges
18
Number of Vertices
12
function calculateHexagonVolume() {
var side = parseFloat(document.getElementById("sideLength").value);
var height = parseFloat(document.getElementById("prismHeight").value);
var unit = document.getElementById("unitType").value;
var resultDiv = document.getElementById("hexagonResult");
if (isNaN(side) || isNaN(height) || side <= 0 || height <= 0) {
alert("Please enter positive numeric values for both side length and height.");
return;
}
// Formula: Area of hexagon = (3 * sqrt(3) / 2) * a^2
var baseArea = (3 * Math.sqrt(3) / 2) * Math.pow(side, 2);
// Formula: Volume = Base Area * height
var volume = baseArea * height;
// Formula: Surface Area = 2 * Base Area + 6 * (side * height)
var surfaceArea = (2 * baseArea) + (6 * side * height);
// Update the DOM
document.getElementById("baseAreaResult").innerText = baseArea.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById("volumeResult").innerText = volume.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
document.getElementById("surfaceAreaResult").innerText = surfaceArea.toLocaleString(undefined, {minimumFractionDigits: 2, maximumFractionDigits: 2});
// Update units
var unitsSquared = document.getElementsByClassName("unit-squared");
var unitsCubed = document.getElementsByClassName("unit-cubed");
for (var i = 0; i < unitsSquared.length; i++) {
unitsSquared[i].innerText = unit;
}
for (var j = 0; j < unitsCubed.length; j++) {
unitsCubed[j].innerText = unit;
}
// Show result
resultDiv.style.display = "block";
resultDiv.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
}