This simulator renders the centered, axis-aligned quadric family x²/a² + by² + z²/d² = c and rebuilds its mesh live as you change coefficients or play a five-stage morph tour: sphere → cylinder → one-sheet hyperboloid → double cone → two-sheet hyperboloid. A movable slice plane and cross-section charts show exactly why the surface's topology changes as b and c cross zero.
• A real-time 3D surface studio with home view, auto-rotate, toggleable labels, a show/hide wireframe toggle and expand, an equation readout above the scene, and a tap-to-inspect probe that reports the exact mesh point and its equation residual F. • Six coefficient sliders: b (sign changes the surface family), c (right-hand side; zero is the cone transition when b<0), a (x-axis scale), d (z-axis scale), slice height s (plane y=s), and visible y extent (finite viewing window for the infinite surfaces). • Five one-click presets — Sphere, Cylinder, One sheet, Double cone, Two sheets — plus a Play-morph-tour button, step-forward/step-back tour buttons, a tour-position slider (0 to 4), and a tour-speed selector from ¼× to 2×. • A show-movable-slice checkbox and a transparent-surface checkbox, plus a live callout describing the current shape in plain language. • A Slices & equations tab with a horizontal cross-section chart (x–z plane at the current slice height), a radius-condition-versus-height chart plotting q(y) = c − by², the full worked mathematics, and a written scope statement (this a,d>0 family excludes paraboloids and rotated quadrics). • An Experiments tab with four guided scenarios (follow the full morph, find the gap between two sheets, stretch without changing family, investigate a degenerate case) and a numerical-verification bench that runs independent automated checks. • A Learn & assess tab with six guided lessons, a three-question knowledge-check quiz, and a reference link to OpenStax's quadric surfaces chapter.
The sign of b splits the family in two: with b>0 every horizontal slice is bounded (ellipses shrinking as |y| grows, matching the sphere and one-sheet-hyperboloid shapes), while b<0 lets the cross-section radius grow with distance from the middle, producing the cylinder, cone and two-sheet hyperboloid shapes instead. The right-hand side c then decides whether the surface is connected: at b<0, c=0 gives the double cone with its single pinched apex, c>0 gives a connected one-sheet hyperboloid, and c<0 splits the surface into two disconnected sheets with a genuine empty gap between them near y=0.
The 'find the gap' experiment makes this concrete by setting b=−1, c=−1 and sweeping the slice from y=0 to y=1.5: at |y|<1 the cross-section is empty (no real intersection), exactly at |y|=1 it collapses to a single point, and beyond that it opens into a growing circle. The 'investigate a degenerate case' experiment shows the boundary is sharp too — with c=0 and b>0, only the single origin point satisfies the equation, but the instant b reaches exactly 0 the solution set jumps to the entire y-axis, a qualitatively different (unbounded, radius-zero) cylinder-like set.
Intersecting the surface with the plane y=s reduces the 3D equation to x²/a² + z²/d² = c − bs² = q(s). The radius-condition chart plots exactly this q(y) = c − by² curve against a dashed q=0 reference line: wherever the curve sits above the line the slice is a real ellipse with semi-axes rx=a√q and rz=d√q and area π·a·d·q; on the line the slice is a single point; below it there is no real intersection at all, which is precisely the empty gap inside a two-sheet hyperboloid.
The gradient of F(x,y,z) = x²/a² + by² + z²/d² − c is ∇F = (2x/a², 2by, 2z/d²), and wherever this vector is nonzero it is normal to the surface — but at the double cone's apex every component of ∇F vanishes simultaneously, so the usual regular-surface normal construction breaks down exactly at that singular point, which the knowledge-check quiz asks about directly. This is a teaching model of one specific centered, axis-aligned family (a,d>0); it does not represent paraboloids, mixed or rotated quadric terms, and unbounded surfaces are rendered only up to the chosen y extent rather than capped.
With b positive, every horizontal cross-section is bounded — a shrinking ellipse as |y| grows — producing sphere- and one-sheet-hyperboloid-like shapes. With b negative, the cross-section radius instead grows with distance from the middle, producing cylinder, double-cone and two-sheet-hyperboloid shapes. The transition through b=0 is a genuine change in the surface family, not just a cosmetic stretch.
At a given height y, the cross-section exists only where q(y) = c − by² is positive. For a two-sheet hyperboloid (b negative, c negative), q(y) is negative for |y| below a threshold, meaning no real (x,z) pair satisfies the equation there — the surface is genuinely disconnected, not merely hidden by the renderer.
No. The surface normal comes from the gradient ∇F = (2x/a², 2by, 2z/d²) of the defining equation, and at the cone's apex (the origin) every component of that gradient is exactly zero. With no nonzero gradient, the regular-surface normal construction fails at that one singular point, even though it is well-defined everywhere else on the cone.
The model is restricted to the centered, axis-aligned family x²/a² + by² + z²/d² = c with a,d>0. It does not include paraboloids, hyperbolic paraboloids, or quadrics with mixed or rotated terms — only the sphere/cylinder/cone/hyperboloid family reachable by varying b and c in this specific equation.