Dandelin Spheres - Construction and Eccentricity
Loading the math board and drawing, please wait…
This GeoGebra example demonstrates the classical Dandelin spheres construction in 3D space, visually linking the conic sections (ellipse, hyperbola, parabola) to their geometric definition and eccentricity. Core mathematical concepts include the intersection of a plane with an infinite cone, tangency of spheres to the cone and plane, foci and directrix properties, and eccentricity as a measure of curve shape. The construction uses commands such as InfiniteCone, IntersectPath, Sphere, Point, Line, Plane, Mirror, Ray, Angle, AngularBisector, OrthogonalLine, Circle, Segment, and PointIn to build the two tangent spheres and the cutting plane. By adjusting the plane's angle, learners can dynamically observe how eccentricity changes and how the conic type transitions. Suitable for high school or undergraduate courses in analytic geometry, solid geometry, and for anyone interested in the unified theory of conic sections.
GeoGebra Commands & Parameters
Intersect(xAxis, yAxis) → APoint(zAxis) → BLine(C, yAxis) → aPlane(D, a) → bMirror(C, D) → C'Ray(D, C') → cAngle(c, zAxis) → βInfiniteCone(A, B, aa) → dIntersectPath(b, xz) → intIntersectPath(xz, d) → gIntersect(int, g) → V2, V1Line(A, V1) → c_1Line(A, V2) → c_2Line(A, B) → vertPoint(c_2) → KIntersectPath(b, d) → rAngularBisector(c_1, int) → f, iIntersect(vert, f) → O2Intersect(vert, i) → O1OrthogonalLine(O2, c_1, xz) → jOrthogonalLine(O1, c_1, xz) → kIntersect(c_1, j) → GIntersect(c_1, k) → H_1Circle(O2, G, xz) → pCircle(O1, H_1, xz) → qIntersect(int, q) → F_1, JIntersect(int, p) → F_2, MSphere(O1, F_1) → lSphere(O2, F_2) → mCircle(zAxis, H_1) → tan2Circle(zAxis, G) → tan1Point(r) → QLine(Q, A) → genIntersect(gen, tan1) → E,Intersect(gen, tan2) → F,Segment(Q, F_2) → eSegment(Q, F) → nSegment(Q, F_1) → sSegment(Q, E) → tPlane(tan2) → oIntersectPath(o, b) → dirOrthogonalLine(Q, dir, b) → a_1Intersect(dir, a_1) → IOrthogonalLine(Q, a_1, b) → b_1Intersect(dir, r) → N,Intersect(int, r) → O, PIntersect(dir, int) → RIntersect(b_1, r) → S, TPointIn(b) → WIf(bb < aa, text3, If[bb > aa, text1, text2]) → angleAngle(Q, I, R, b) → αPoint(dir) → B_1OrthogonalLine(Q, dir, space) → i_1Intersect(dir, i_1) → C_1Segment(Q, C_1) → dirDistIntersect(i_1, dirDist) → D_1OrthogonalLine(Q, o) → j_1Intersect(j_1, o) → HSegment(Q, H) → k_1Angle(F, H, Q) → εSegment(F, H) → l_1Segment(H, C_1) → m_1Angle(H, Q, F) → δAngle(C_1, H, Q) → ζAngle(H, Q, C_1) → ηAngle(B, A, Q) → θAngle(R, I, Q) → β_1