Calculate Earth’s Circumference Using Shadows – Eratosthenes’ Method


Calculate Earth’s Circumference Using Shadows

Leverage Eratosthenes’ ingenious method to estimate the circumference of our planet.

Eratosthenes Calculator



Enter the distance between Syene and Alexandria.



Enter the difference in sun angle (in degrees) between the two locations.



Select the desired unit for the Earth’s circumference.



Results

Estimated Earth Circumference:

km
Circumference per Degree:

km/°
Angle Fraction of Circle:

Assumed Earth Radius:

km

The calculation is based on the proportion: (Distance / Angle Difference) = (Earth Circumference / 360 degrees).
Circumference = Distance * (360 / Angle Difference).


What is the Calculation of Earth’s Circumference Using Shadows?

The **calculation of Earth’s circumference using shadows** refers to Eratosthenes’ ancient and remarkably accurate method of estimating the planet’s size. Developed around 240 BC by the Greek mathematician and geographer Eratosthenes of Cyrene, this technique is a testament to observational science and geometric principles. It relies on a simple observation: at noon on the summer solstice, the sun was directly overhead in the city of Syene (modern Aswan, Egypt), casting no shadow down a deep well. However, in Alexandria, a city significantly north of Syene, a vertical stick cast a measurable shadow at the same time.

By measuring the angle of this shadow and knowing the approximate distance between the two cities, Eratosthenes was able to calculate the circumference of the Earth. This method is foundational in understanding how early scientists used observable phenomena and logical deduction to solve complex problems, long before advanced technology was available. It’s a cornerstone of geodesy and a popular experiment for demonstrating scientific principles in educational settings.

Who should use this calculator?

  • Students learning about ancient history, mathematics, or astronomy.
  • Educators demonstrating scientific principles and problem-solving.
  • Anyone curious about the Earth’s dimensions and historical scientific achievements.
  • Enthusiasts of observational astronomy and physics experiments.

Common Misunderstandings:

  • Assuming a perfectly flat Earth: Eratosthenes’ method inherently proves the Earth is curved.
  • Ignoring the sun’s rays being parallel: The method assumes the sun’s rays are parallel by the time they reach Earth, a valid assumption due to the sun’s immense distance.
  • Unit Confusion: Inconsistent units for distance and angle can lead to drastically incorrect results. The calculator helps manage these variations.
  • Local Atmospheric Refraction: While minor, atmospheric conditions can slightly affect shadow angles. Eratosthenes’ results were remarkably close despite not accounting for this.

Eratosthenes’ Formula and Explanation

Eratosthenes’ genius lay in his elegant use of geometry. He observed that if the Earth were flat, the sun’s rays would hit Syene and Alexandria at the same angle. The existence of a shadow in Alexandria while none was cast in Syene indicated curvature. He reasoned that the angle of the shadow in Alexandria was equal to the angle subtended at the Earth’s center by the arc between Syene and Alexandria. This is due to the property of alternate interior angles formed by parallel lines (sun’s rays) and a transversal (the line connecting Syene and Alexandria through Earth’s center).

The core formula can be expressed as a proportion:

$$ \frac{\text{Distance between cities}}{\text{Earth’s Circumference}} = \frac{\text{Angle Difference}}{360^\circ} $$

Rearranging this to solve for the Earth’s Circumference:

$$ \text{Earth’s Circumference} = \text{Distance between cities} \times \frac{360^\circ}{\text{Angle Difference}} $$

Variables Table:

Variables Used in the Calculation
Variable Meaning Unit Typical Range / Assumption
Distance between cities The measured or estimated distance between two locations on Earth, assumed to be along a line of longitude (e.g., Syene and Alexandria). Kilometers (km), Miles (mi), Meters (m), Feet (ft) ~800 km (Syene to Alexandria)
Angle Difference The difference in the sun’s angle, measured from the vertical, between the two locations at the same time (specifically, noon on the summer solstice for Eratosthenes’ original measurement). Degrees (°) ~7.2° (Eratosthenes’ measurement)
Earth’s Circumference The total distance around the Earth at the equator or along a meridian. Kilometers (km), Miles (mi), Meters (m), Feet (ft) Variable output of the calculation.
Circumference per Degree The length of the Earth’s circumference corresponding to one degree of latitude/longitude difference. km/°, mi/°, m/°, ft/° Variable output.
Angle Fraction of Circle The proportion of the full circle (360°) that the measured angle difference represents. Unitless Ratio Variable output.
Assumed Earth Radius The radius calculated from the estimated circumference (Circumference = 2 * pi * Radius). Kilometers (km), Miles (mi), Meters (m), Feet (ft) Variable output.

Practical Examples

Example 1: Replicating Eratosthenes’ Measurement

Let’s use the historical values Eratosthenes likely used:

  • Distance between Syene and Alexandria: 5,000 stadia (approximately 800 km or 5,000 miles, depending on the stadion unit used). We’ll use 800 km for this example.
  • Angle Difference: 7.2 degrees.
  • Selected Unit: Kilometers (km).

Calculation:

  • Angle Fraction of Circle = 7.2° / 360° = 0.02
  • Circumference per Degree = 800 km / 7.2° ≈ 111.11 km/°
  • Earth Circumference = 800 km * (360° / 7.2°) = 800 km * 50 = 40,000 km.
  • Assumed Earth Radius = 40,000 km / (2 * π) ≈ 6,366 km.

Result: The estimated Earth’s circumference is approximately 40,000 km.

Example 2: A Modern Classroom Experiment

Imagine a school experiment with two locations on the same longitude:

  • Distance between Locations: 150 miles.
  • Measured Angle Difference: 2.0 degrees.
  • Selected Unit: Miles (mi).

Calculation:

  • Angle Fraction of Circle = 2.0° / 360° ≈ 0.00556
  • Circumference per Degree = 150 miles / 2.0° = 75 mi/°
  • Earth Circumference = 150 miles * (360° / 2.0°) = 150 miles * 180 = 27,000 miles.
  • Assumed Earth Radius = 27,000 miles / (2 * π) ≈ 4,297 miles.

Result: The estimated Earth’s circumference is approximately 27,000 miles. This result is lower than the actual value due to potential inaccuracies in distance measurement, angle measurement, or the assumption that the locations lie perfectly on the same meridian and the sun is exactly overhead at one point.

How to Use This Earth’s Circumference Calculator

  1. Input Distance: Enter the known distance between two locations. For historical accuracy, use the distance between Syene and Alexandria (around 800 km or 5,000 miles). For modern experiments, use the actual measured distance along a north-south line. Ensure you know the unit (km, miles, etc.).
  2. Input Angle Difference: Measure or input the difference in the sun’s angle between the two locations at the same time. This is typically done by measuring the shadow cast by a vertical object (like a stick or gnomon). The angle is calculated using trigonometry (angle = arctan(shadow length / stick height)). Eratosthenes found 7.2 degrees.
  3. Select Units: Choose your preferred unit for the final circumference measurement (km, miles, meters, or feet) using the dropdown menu. The calculator will convert the inputs and display the results in your chosen unit.
  4. Calculate: Click the “Calculate” button. The calculator will display the estimated Earth’s circumference, circumference per degree, the fraction of the circle represented by the angle difference, and the implied radius.
  5. Interpret Results: Compare the calculated value to the known circumference of the Earth (~40,075 km or ~24,901 miles). Notice how even small inaccuracies in the input distance or angle can significantly impact the final result, highlighting the precision required for accurate geodetic measurements.
  6. Copy Results: Click “Copy Results” to save the calculated values and units for documentation or sharing.
  7. Reset: Click “Reset” to clear all fields and return to the default values.

Key Factors That Affect Earth’s Circumference Calculation (Eratosthenes’ Method)

  1. Accuracy of Distance Measurement: The original distance measurement between Syene and Alexandria was likely an estimation (e.g., based on travel time or pace counts). Precise surveying is crucial for accurate results. Even a small error in distance leads to a proportional error in the calculated circumference.
  2. Accuracy of Angle Measurement: Measuring the shadow angle requires precision. Using a vertical reference (plumb line), accurate measurement of shadow length and stick height, and correct trigonometric calculations are essential. Even a tenth of a degree error can alter the final result.
  3. Alignment on a Meridian: Eratosthenes assumed Syene and Alexandria lay on the same line of longitude. If they don’t, the distance measured is not the direct arc length along a meridian, introducing error. The calculator assumes the distance provided is along this north-south axis.
  4. Simultaneity of Measurement: The sun’s angle must be measured at precisely the same moment in both locations. For Eratosthenes, this was simplified by observing the sun directly overhead in Syene (noon solstice) and then measuring the angle in Alexandria. Modern experiments need precise timing.
  5. Sun’s Angle at the Equator: The method relies on the sun being directly overhead (zenith) at one of the locations. This is why Eratosthenes chose Syene, which was believed to lie on the Tropic of Cancer, and measured at noon on the summer solstice. If the sun is not at the zenith at one point, the geometry changes, requiring a more complex calculation.
  6. The Sun’s Rays Being Parallel: The method assumes the sun’s rays are parallel when they reach Earth. This is a very good approximation due to the vast distance to the sun. However, slight variations due to the sun’s angular diameter (~0.5°) exist, though typically negligible for basic calculations.
  7. Earth’s Shape: The Earth is not a perfect sphere but an oblate spheroid (slightly flattened at the poles and bulging at the equator). Eratosthenes’ calculation yields a mean circumference. Measurements along different meridians or the equator would vary slightly.

Frequently Asked Questions (FAQ)

1. Can I use any two cities to calculate the Earth’s circumference?
Ideally, the two cities should lie on the same line of longitude (meridian) for the simplest calculation. If they don’t, the distance measured needs to be adjusted for the difference in longitude, or a more complex spherical trigonometry formula is required. This calculator assumes the provided distance is along a meridian.
2. What time of day is best for the shadow measurement?
For Eratosthenes’ original method, the measurement in the northern city (Alexandria) was taken at local noon on the summer solstice, when the sun was directly overhead in the southern city (Syene). For modern adaptations, measuring at local noon is generally best as the shadow is shortest and the angle difference is maximized for that day.
3. Does the height of the shadow-casting object matter?
Yes, the height of the object (e.g., a stick or obelisk) is crucial because it’s used to calculate the angle of the sun’s rays. The angle is determined using trigonometry: angle = arctan(shadow length / object height). The calculator uses the final angle difference directly.
4. What if my angle difference isn’t a whole number?
That’s perfectly fine. The calculator accepts decimal values for the angle difference. Precision in measurement is key, so using fractions of degrees is expected.
5. Why are the results from modern experiments often different from Eratosthenes’ estimate?
Several factors contribute:

  • Inaccurate distance: Modern GPS can measure distance accurately, but early methods were estimations.
  • Non-meridional alignment: Cities are rarely perfectly aligned north-south.
  • Atmospheric refraction: Affects the apparent position of the sun.
  • Earth’s oblateness: The Earth isn’t a perfect sphere.
  • Measurement errors: Small errors in angle or distance accumulate.

Eratosthenes’ result was remarkable for its time given the tools available.

6. What does “Circumference per Degree” mean?
This value tells you how much circumference (in your chosen units) corresponds to a one-degree difference in latitude. It’s calculated as Total Circumference / 360°. Multiplying this by your measured angle difference gives you the distance between the two points along the curve of the Earth.
7. How is the radius calculated?
The radius is derived from the calculated circumference using the formula for a circle: Circumference = 2 * π * Radius. Therefore, Radius = Circumference / (2 * π). This gives an estimate of the Earth’s average radius based on your inputs.
8. Can I use this calculator for different times of the year or different locations?
Yes, you can use this calculator for any two locations with a known north-south distance and a measured sun angle difference at a specific time. However, the accuracy of the result (i.e., how close it is to the true circumference) depends heavily on the accuracy of your inputs and the alignment of the locations relative to the sun’s path and Earth’s meridians.

Related Tools and Internal Resources

Explore these related tools and resources to deepen your understanding of geography, astronomy, and historical science:

© 2023 Your Company Name. All rights reserved.

This calculator is for educational and estimation purposes only.

function calculateCircumference() {
var distanceInput = document.getElementById("distanceBetweenCities");
var angleInput = document.getElementById("angleDifference");
var unitSelect = document.getElementById("unitSwitcher");

var distanceError = document.getElementById("distanceBetweenCitiesError");
var angleError = document.getElementById("angleDifferenceError");

// Clear previous errors
distanceError.style.display = 'none';
angleError.style.display = 'none';

var distance = parseFloat(distanceInput.value);
var angleDiff = parseFloat(angleInput.value);
var selectedUnit = unitSelect.value;

var isValid = true;

if (isNaN(distance) || distance <= 0) { distanceError.textContent = "Please enter a valid positive number for distance."; distanceError.style.display = 'block'; isValid = false; } if (isNaN(angleDiff) || angleDiff <= 0 || angleDiff >= 360) {
angleError.textContent = "Please enter a valid angle between 0 and 360 degrees.";
angleError.style.display = 'block';
isValid = false;
}

if (!isValid) {
return;
}

// Conversion factors (Base unit: km)
var unitFactors = {
'km': 1,
'miles': 0.621371,
'meters': 1000,
'feet': 3280.84
};

// Convert distance to base unit (km) for calculation
var distanceInKm = distance / unitFactors[selectedUnit];

// Calculations
var angleFraction = angleDiff / 360;
var circumferencePerDegree = distanceInKm / angleDiff;
var earthCircumferenceInKm = distanceInKm * (360 / angleDiff);
var earthRadiusInKm = earthCircumferenceInKm / (2 * Math.PI);

// Convert results back to selected unit
var earthCircumference = earthCircumferenceInKm * unitFactors[selectedUnit];
var circumferencePerDegreeResult = circumferencePerDegree * unitFactors[selectedUnit];
var earthRadiusResult = earthRadiusInKm * unitFactors[selectedUnit];

// Unit labels for display
var unitLabel = selectedUnit;
var degreeUnitLabel = unitLabel + '/°';
var radiusUnitLabel = unitLabel;

if (selectedUnit === 'km') { degreeUnitLabel = 'km/°'; radiusUnitLabel = 'km'; }
else if (selectedUnit === 'miles') { degreeUnitLabel = 'mi/°'; radiusUnitLabel = 'mi'; }
else if (selectedUnit === 'meters') { degreeUnitLabel = 'm/°'; radiusUnitLabel = 'm'; }
else if (selectedUnit === 'feet') { degreeUnitLabel = 'ft/°'; radiusUnitLabel = 'ft'; }

// Display results
document.getElementById("earthCircumference").textContent = earthCircumference.toFixed(2);
document.getElementById("circumferenceUnit").textContent = unitLabel;

document.getElementById("circumferencePerDegree").textContent = circumferencePerDegreeResult.toFixed(2);
document.getElementById("degreeUnit").textContent = degreeUnitLabel;

document.getElementById("angleFraction").textContent = angleFraction.toFixed(4);

document.getElementById("earthRadius").textContent = earthRadiusResult.toFixed(2);
document.getElementById("radiusUnit").textContent = radiusUnitLabel;

// Update chart
drawChart(angleFraction, circumferencePerDegreeResult, unitLabel, angleDiff);
}

function resetCalculator() {
document.getElementById("distanceBetweenCities").value = "800"; // Default to Syene-Alexandria distance estimate
document.getElementById("angleDifference").value = "7.2"; // Default to Eratosthenes' angle
document.getElementById("unitSwitcher").value = "km"; // Default unit

// Clear errors
document.getElementById("distanceBetweenCitiesError").textContent = '';
document.getElementById("distanceBetweenCitiesError").style.display = 'none';
document.getElementById("angleDifferenceError").textContent = '';
document.getElementById("angleDifferenceError").style.display = 'none';

// Reset results display
document.getElementById("earthCircumference").textContent = "-";
document.getElementById("circumferenceUnit").textContent = "km";
document.getElementById("circumferencePerDegree").textContent = "-";
document.getElementById("degreeUnit").textContent = "km/°";
document.getElementById("angleFraction").textContent = "-";
document.getElementById("earthRadius").textContent = "-";
document.getElementById("radiusUnit").textContent = "km";

// Clear chart canvas (or redraw with default values if desired)
var canvas = document.getElementById("circumferenceChart");
var ctx = canvas.getContext("2d");
ctx.clearRect(0, 0, canvas.width, canvas.height);
if (chartInstance) {
chartInstance.destroy();
chartInstance = null;
}
// Optionally redraw with default values
// calculateCircumference();
}

function copyResults() {
var circumference = document.getElementById("earthCircumference").textContent;
var circumferenceUnit = document.getElementById("circumferenceUnit").textContent;
var circPerDegree = document.getElementById("circumferencePerDegree").textContent;
var degreeUnit = document.getElementById("degreeUnit").textContent;
var angleFraction = document.getElementById("angleFraction").textContent;
var radius = document.getElementById("earthRadius").textContent;
var radiusUnit = document.getElementById("radiusUnit").textContent;

var formula = "(Distance / Angle Difference) = (Earth Circumference / 360 degrees)";
var resultText = "Eratosthenes' Circumference Calculation Results:\n\n";
resultText += "Estimated Earth Circumference: " + circumference + " " + circumferenceUnit + "\n";
resultText += "Circumference per Degree: " + circPerDegree + " " + degreeUnit + "\n";
resultText += "Angle Fraction of Circle: " + angleFraction + "\n";
resultText += "Assumed Earth Radius: " + radius + " " + radiusUnit + "\n\n";
resultText += "Calculation based on formula: Earth's Circumference = Distance * (360 / Angle Difference)\n";
resultText += "Assumptions: Measurements taken simultaneously, locations on the same meridian, and parallel sun rays.";

try {
navigator.clipboard.writeText(resultText).then(function() {
alert('Results copied to clipboard!');
}).catch(function(err) {
console.error('Failed to copy results: ', err);
// Fallback for older browsers or environments where clipboard API is restricted
var textArea = document.createElement("textarea");
textArea.value = resultText;
textArea.style.position = "fixed"; // Avoid scrolling to bottom
document.body.appendChild(textArea);
textArea.focus();
textArea.select();
try {
var successful = document.execCommand('copy');
var msg = successful ? 'successful' : 'unsuccessful';
alert('Fallback: Results copied ' + msg + '!');
} catch (err) {
alert('Fallback: Oops, unable to copy using execCommand: ' + err);
}
document.body.removeChild(textArea);
});
} catch (e) {
console.error('Clipboard API not available or failed: ', e);
alert('Clipboard API not available. Please copy manually.');
}
}

// Initialize calculator on load
window.onload = function() {
resetCalculator(); // Load default values
// Initial chart draw if default values are present
var initialDistance = parseFloat(document.getElementById("distanceBetweenCities").value);
var initialAngle = parseFloat(document.getElementById("angleDifference").value);
var initialUnit = document.getElementById("unitSwitcher").value;

if (!isNaN(initialDistance) && !isNaN(initialAngle)) {
// Calculate initial state to populate chart correctly
var unitFactors = {
'km': 1,
'miles': 0.621371,
'meters': 1000,
'feet': 3280.84
};
var distanceInKm = initialDistance / unitFactors[initialUnit];
var angleFraction = initialAngle / 360;
var circumferencePerDegree = distanceInKm / initialAngle;
drawChart(angleFraction, circumferencePerDegree * unitFactors[initialUnit], initialUnit, initialAngle);
}
};

// Add event listener for Enter key to trigger calculation
document.getElementById("distanceBetweenCities").addEventListener("keypress", function(event) {
if (event.key === "Enter") {
event.preventDefault();
calculateCircumference();
}
});
document.getElementById("angleDifference").addEventListener("keypress", function(event) {
if (event.key === "Enter") {
event.preventDefault();
calculateCircumference();
}
});



Leave a Reply

Your email address will not be published. Required fields are marked *