Conic Sections
Conic Sections
Definition: A conic section is any curve formed by slicing a double cone with a flat plane; depending on the angle of the slice, the result is a circle, an ellipse, a parabola, or a hyperbola, all classified by a single number called eccentricity.
How It Works
- All four curves come from slicing a double cone with a flat plane at different angles: a slice parallel to the base gives a circle, a tilted slice through one nappe gives an ellipse, a slice parallel to the cone’s slanted side gives a parabola, and a slice through both nappes gives a hyperbola.
- The circle is the simplest conic: every point lies the same distance (the radius) from a single center. Standard form: x² + y² = r².
- The ellipse is a closed oval defined by two foci: for any point on the curve, the sum of its distances to the two foci is constant. Standard form: x²/a² + y²/b² = 1, where a and b are the semi-axis lengths.
- The parabola has only one focus, paired with a line called the directrix: every point on the parabola is exactly as far from the focus as it is from the directrix.
- The hyperbola has two separate open branches and two foci like the ellipse, but by a difference instead of a sum: for any point on either branch, the difference of its distances to the two foci is constant.
- Eccentricity (e) is a single number that measures how far a conic strays from being a circle, computed as the ratio c/a of the focal distance c to the semi-major axis a.
- Eccentricity sorts every conic into one continuous spectrum: e = 0 is a circle, 0 < e < 1 is an ellipse, e = 1 is a parabola, and e > 1 is a hyperbola.
- A circle is really just a special-case ellipse where a = b, which forces c = 0 and collapses both foci onto the single center point.
- For an ellipse, c² = a² − b²; for a hyperbola, c² = a² + b². That single sign flip, from minus to plus, is the entire algebraic reason the two curves behave so differently.
- The major axis of an ellipse is always the longer one, whichever of a or b that happens to be; it is not always the one written under x².
- Planetary orbits, satellite paths, and every gravitationally bound two-body system trace out an ellipse, with the more massive body sitting at one focus rather than the center, a fact that took over a thousand years of astronomy to establish.
Illustration
var aIn = document.getElementById(‘conic-a’); var bIn = document.getElementById(‘conic-b’); var aOut = document.getElementById(‘conic-a-out’); var bOut = document.getElementById(‘conic-b-out’); var resetBtn = document.getElementById(‘conic-reset’);
var buttons = { circle: document.getElementById(‘conic-btn-circle’), ellipse: document.getElementById(‘conic-btn-ellipse’), parabola: document.getElementById(‘conic-btn-parabola’), hyperbola: document.getElementById(‘conic-btn-hyperbola’) };
var type = ‘ellipse’;
function fmt(n) { return (Math.round(n * 100) / 100).toFixed(2).replace(/.00$/, ‘.0’); }
function clampY(y) { return Math.max(-12, Math.min(12, y)); }
function pathFromPoints(pts) { var d = ”; for (var i = 0; i < pts.length; i++) { d += (i === 0 ? ‘M’ : ‘L’) + pts[i][0].toFixed(1) + ’,’ + pts[i][1].toFixed(1) + ’ ’; } return d; }
// One branch of x²/a² - y²/b² = 1, rearranged as y = ±b*sqrt(x²/a² - 1). // sign = +1 traces the right branch (x >= a), sign = -1 the left (x <= -a). // Walks from the far bottom edge, through the vertex, to the far top edge, // so the whole branch is one continuous path segment. function hyperbolaBranch(sign, a, b) { var pts = []; var xFar = 10; var t; for (t = xFar; t >= a - 0.0001; t -= 0.2) { pts.push(toPx(sign * t, clampY(-b * Math.sqrt(Math.max(0, (t * t) / (a * a) - 1))))); } for (t = a; t <= xFar + 0.0001; t += 0.2) { pts.push(toPx(sign * t, clampY(b * Math.sqrt(Math.max(0, (t * t) / (a * a) - 1))))); } return pts; }
function setButtons() { for (var key in buttons) { if (!buttons.hasOwnProperty(key)) continue; var btn = buttons[key]; if (key === type) { btn.style.background = ‘var(—accent)’; btn.style.color = ‘var(—accent-ink)’; btn.style.borderColor = ‘var(—accent-strong)’; } else { btn.style.background = ”; btn.style.color = ”; btn.style.borderColor = ”; } } }
function setType(t) { type = t; var bUnused = (t === ‘circle’ || t === ‘parabola’); bIn.disabled = bUnused; bIn.parentNode.style.opacity = bUnused ? ‘0.45’ : ”; setButtons(); update(); }
function update() { var a = parseFloat(aIn.value); var b = parseFloat(bIn.value); aOut.textContent = fmt(a); bOut.textContent = fmt(b);
focus1.setAttribute('visibility', 'hidden');
focus2.setAttribute('visibility', 'hidden');
directrix.setAttribute('visibility', 'hidden');
var c0 = toPx(0, 0);
centerDot.setAttribute('cx', c0[0]);
centerDot.setAttribute('cy', c0[1]);
if (type === 'circle') {
var pts = [];
for (var t1 = 0; t1 <= Math.PI * 2 + 0.001; t1 += 0.1) {
pts.push(toPx(a * Math.cos(t1), a * Math.sin(t1)));
}
curve.setAttribute('d', pathFromPoints(pts) + 'Z');
eqTxt.textContent = 'x² + y² = ' + fmt(a * a);
infoTxt.textContent = 'Center: (0, 0) Radius: ' + fmt(a);
eccTxt.textContent = 'Eccentricity: e = 0.00';
fociTxt.textContent = 'Foci: coincide at the center';
} else if (type === 'ellipse') {
var pts2 = [];
for (var t2 = 0; t2 <= Math.PI * 2 + 0.001; t2 += 0.1) {
pts2.push(toPx(a * Math.cos(t2), b * Math.sin(t2)));
}
curve.setAttribute('d', pathFromPoints(pts2) + 'Z');
var A = Math.max(a, b), B = Math.min(a, b);
var c = Math.sqrt(Math.max(0, A * A - B * B));
var e = c / A;
eqTxt.textContent = 'x²/' + fmt(a * a) + ' + y²/' + fmt(b * b) + ' = 1';
infoTxt.textContent = (a === b)
? 'Center: (0, 0). Also a circle here, since a = b.'
: 'Center: (0, 0) Semi-axes: ' + fmt(a) + ', ' + fmt(b);
eccTxt.textContent = 'Eccentricity: e = c/a = ' + fmt(e);
if (c < 0.0001) {
fociTxt.textContent = 'Foci: coincide at the center';
} else if (a >= b) {
var ef1 = toPx(c, 0), ef2 = toPx(-c, 0);
focus1.setAttribute('cx', ef1[0]); focus1.setAttribute('cy', ef1[1]); focus1.setAttribute('visibility', 'visible');
focus2.setAttribute('cx', ef2[0]); focus2.setAttribute('cy', ef2[1]); focus2.setAttribute('visibility', 'visible');
fociTxt.textContent = 'Foci: (±' + fmt(c) + ', 0)';
} else {
var ef3 = toPx(0, c), ef4 = toPx(0, -c);
focus1.setAttribute('cx', ef3[0]); focus1.setAttribute('cy', ef3[1]); focus1.setAttribute('visibility', 'visible');
focus2.setAttribute('cx', ef4[0]); focus2.setAttribute('cy', ef4[1]); focus2.setAttribute('visibility', 'visible');
fociTxt.textContent = 'Foci: (0, ±' + fmt(c) + ')';
}
} else if (type === 'parabola') {
var pts3 = [];
for (var x = -10; x <= 10.001; x += 0.25) {
pts3.push(toPx(x, clampY((x * x) / (4 * a))));
}
curve.setAttribute('d', pathFromPoints(pts3));
var pf = toPx(0, clampY(a));
focus1.setAttribute('cx', pf[0]); focus1.setAttribute('cy', pf[1]); focus1.setAttribute('visibility', 'visible');
var pd1 = toPx(-10, -a), pd2 = toPx(10, -a);
directrix.setAttribute('x1', pd1[0]); directrix.setAttribute('y1', pd1[1]);
directrix.setAttribute('x2', pd2[0]); directrix.setAttribute('y2', pd2[1]);
directrix.setAttribute('visibility', 'visible');
eqTxt.textContent = 'y = x²/' + fmt(4 * a);
infoTxt.textContent = 'Vertex: (0, 0)';
eccTxt.textContent = 'Eccentricity: e = 1.00 (always, for any parabola)';
fociTxt.textContent = 'Focus: (0, ' + fmt(a) + ') Directrix: y = ' + fmt(-a);
} else {
var ptsR = hyperbolaBranch(1, a, b);
var ptsL = hyperbolaBranch(-1, a, b);
curve.setAttribute('d', pathFromPoints(ptsR) + pathFromPoints(ptsL));
var hc = Math.sqrt(a * a + b * b);
var he = hc / a;
var hf1 = toPx(hc, 0), hf2 = toPx(-hc, 0);
focus1.setAttribute('cx', hf1[0]); focus1.setAttribute('cy', hf1[1]); focus1.setAttribute('visibility', 'visible');
focus2.setAttribute('cx', hf2[0]); focus2.setAttribute('cy', hf2[1]); focus2.setAttribute('visibility', 'visible');
eqTxt.textContent = 'x²/' + fmt(a * a) + ' - y²/' + fmt(b * b) + ' = 1';
infoTxt.textContent = 'Vertices: (±' + fmt(a) + ', 0)';
eccTxt.textContent = 'Eccentricity: e = c/a = ' + fmt(he) + ' (always > 1)';
fociTxt.textContent = 'Foci: (±' + fmt(hc) + ', 0)';
}
}
buttons.circle.addEventListener(‘click’, function () { setType(‘circle’); }); buttons.ellipse.addEventListener(‘click’, function () { setType(‘ellipse’); }); buttons.parabola.addEventListener(‘click’, function () { setType(‘parabola’); }); buttons.hyperbola.addEventListener(‘click’, function () { setType(‘hyperbola’); });
[aIn, bIn].forEach(function (el) { el.addEventListener(‘input’, update); });
resetBtn.addEventListener(‘click’, function () { aIn.value = 6; bIn.value = 4; setType(‘ellipse’); });
setType(‘ellipse’); })();
Under the Hood
The four standard forms, centered at the origin, with c the distance from center to focus:
Circle: x² + y² = r² e = 0
Ellipse: x²/a² + y²/b² = 1 (a ≥ b > 0, a = semi-major) c = √(a² - b²) e = c/a, 0 < e < 1
Parabola: y = x²/(4a) (a = focal length) focus (0, a) e = 1
Hyperbola: x²/a² - y²/b² = 1 (a, b > 0) c = √(a² + b²) e = c/a, e > 1
Notice the only algebraic difference between the ellipse and hyperbola equations is a single sign; everything about how differently their graphs behave follows from that one minus-versus-plus.
Worked Example 1: Identifying a conic and its axes from its equation. Given: 9x² + 4y² = 36. Step 1: Divide both sides by 36 to reach standard form: x²/4 + y²/9 = 1. Step 2: Both terms are positive, so this is an ellipse (a minus sign would make it a hyperbola). The denominators are 4 and 9; since 9 > 4, the semi-major axis has length √9 = 3 and runs along the y-axis, while the semi-minor axis has length √4 = 2 and runs along the x-axis. Answer: an ellipse, semi-major axis 3 (vertical), semi-minor axis 2 (horizontal). The larger denominator always marks the major axis, even though here it sits under y², not x².
Worked Example 2: Finding an ellipse’s foci. Given: an ellipse with semi-major axis a = 5 and semi-minor axis b = 3. Step 1: c = √(a² − b²) = √(25 − 9) = √16 = 4. Step 2: eccentricity e = c/a = 4/5 = 0.8. Answer: foci at (±4, 0), each 4 units from the center along the major axis; e = 0.8 describes a visibly elongated ellipse.
Worked Example 3: Classifying a conic and locating its foci. Given: x²/9 − y²/16 = 1. Step 1: The minus sign identifies this as a hyperbola, with a² = 9 (a = 3) and b² = 16 (b = 4). Step 2: c = √(a² + b²) = √(9 + 16) = √25 = 5. Step 3: e = c/a = 5/3 ≈ 1.67. Answer: foci at (±5, 0); e ≈ 1.67 is greater than 1, exactly as every hyperbola requires.
History
- Menaechmus discovered the three curves around 350 BCE while searching for a geometric solution to “doubling the cube,” one of antiquity’s three great unsolved construction problems.
- Apollonius of Perga’s treatise Conics (c. 200 BCE) was the definitive ancient treatment, spanning eight books. He coined the names parabola, ellipse, and hyperbola from Greek words for “application,” “deficiency,” and “excess.”
- The Persian mathematician Omar Khayyam used intersecting conic sections geometrically to solve cubic equations around 1070 CE, centuries before a general algebraic method for cubics existed.
- For nearly two thousand years, astronomers assumed planetary orbits had to be built from perfect circles; Johannes Kepler’s 1609 Astronomia Nova overturned this by showing planets actually move in ellipses, with the Sun at one focus.
- Descartes’ coordinate geometry, published in 1637, let conics finally be described and manipulated as algebraic equations, rather than purely through the geometric constructions the Greeks had relied on.
- In 1822, Germinal Dandelin’s inscribed-sphere construction elegantly proved that the plane-slicing definition of a conic and its focus-directrix definition describe exactly the same curve.
Why It Matters
- Planetary and satellite orbits are ellipses, not circles (Kepler’s first law); every spacecraft trajectory, from weather satellites to interplanetary probes, is planned using conic-section geometry.
- Parabolic reflectors focus every ray parallel to their axis onto a single point, which is why satellite dishes, telescope mirrors, and flashlight or headlight reflectors are all shaped as parabolas.
- Hyperbolic navigation systems like LORAN locate a receiver from the time difference between two synchronized radio signals, because a constant difference in distance to two fixed points traces a hyperbola with the transmitters as foci.
- Whispering galleries use elliptical ceilings because sound leaving one focus reflects off the curved surface and converges exactly at the other focus, carrying a whisper clearly across a large room.
- Elliptical gears convert a constant rotational input into a cyclically speeding-up-and-slowing-down output, useful in machinery that needs a non-uniform but repeating motion.
- Eccentricity alone predicts whether a passing object, like a comet, is gravitationally bound and will return (e < 1, an ellipse) or is only passing through once (e ≥ 1, a parabola or hyperbola).
Common Pitfalls
- Confusing which axis is the major axis in an ellipse: the larger denominator marks the major axis, regardless of whether it sits under x² or y². x²/4 + y²/9 = 1 has its major axis along y, not x.
- Mixing up the sign between the ellipse (+) and hyperbola (−) standard forms. Flipping one sign turns a closed oval into two open branches that never meet.
- Forgetting that a circle is just an ellipse with a = b, rather than a fundamentally different shape needing separate formulas.
- Treating the eccentricity ranges as approximate. e = 0 means an exact circle and e = 1 means an exact parabola; these are precise boundary values, not “close to.”
- Using the ellipse relationship c² = a² − b² for a hyperbola, or vice versa. A hyperbola’s is c² = a² + b² (addition, not subtraction), which is also why c > a always for a hyperbola but c < a always for an ellipse.
- Assuming a parabola has two foci like its closed and two-branched relatives. It has exactly one focus and one directrix, never a pair of foci.
Comparison
| Conic | Standard Form | Eccentricity | Foci |
|---|---|---|---|
| Circle | x² + y² = r² | e = 0 | 1 (both coincide at center) |
| Ellipse | x²/a² + y²/b² = 1 | 0 < e < 1 | 2 |
| Parabola | y = x²/(4a) | e = 1 | 1 |
| Hyperbola | x²/a² - y²/b² = 1 | e > 1 | 2 |
FAQ
Why do the ellipse and hyperbola equations look almost identical? Because they are almost identical: x²/a² + y²/b² = 1 versus x²/a² − y²/b² = 1. The entire difference between a closed oval and a two-branched curve running off to infinity comes down to that single sign.
Is a circle really a type of ellipse, or is it just similar to one? It is genuinely a special case, not just a lookalike. Setting a = b in the ellipse equation gives x²/a² + y²/a² = 1, which simplifies to x² + y² = a², the circle equation, with eccentricity exactly 0.
Why does eccentricity alone determine a conic’s shape, no matter how big it is? Because eccentricity is a ratio (c/a) rather than a length. A huge ellipse and a tiny ellipse with the same e are the same shape at different scales, which is why e alone, not the actual values of a, b, or c, classifies the curve.
Example
Earth’s orbit around the Sun is an ellipse with eccentricity e ≈ 0.0167, so close to circular that early astronomers assumed it was one. Mars, at e ≈ 0.093, is noticeably more elongated, which is exactly why Kepler could detect its true elliptical shape in Tycho Brahe’s observations once a purely circular model kept failing to fit the data. The same two relationships from this note, x²/a² + y²/b² = 1 and c = √(a² − b²), describe both orbits exactly; only the numbers plugged in differ.
Related Terms
Referenced by