Conic Sections from a Double Light Cone with Dandelin Focal Spheres

Conic Sections from a Double Light Cone with Dandelin Focal Spheres
Loading the math board and drawing, please wait…
2020-10-20 20:03
This GeoGebra example demonstrates how conic sections (ellipse, hyperbola, parabola) are generated by intersecting a double light cone with a plane, enhanced by Dandelin focal spheres. The core mathematical concepts include conic sections, Dandelin spheres theorem, and spatial geometry of plane-cone intersections. The construction uses commands such as Plane, Circle, Point, Rotate, Intersect, AngularBisector, Line, ConeInfinite, Sphere, IntersectPath, and If, along with objects like αAperture, projectivePlane, gimbalRing, lightCone, focal spheres, and touch circles. A slider controls the cone aperture angle, dynamically updating the conic type. Suitable for high school and undergraduate students to visualize the unified geometric origin of conics, and for teachers to use in classroom demonstrations or student exploration.

GeoGebra Commands & Parameters

  1. Plane((0, 0, -1), (1, 0, -1), (0, 1, -1)) → projectivePlane
  2. Circle((1, 0, 0), (0, 0, 1), (-1, 0, 0)) → gimbalRing
  3. Point(gimbalRing) → P
  4. Rotate(P, (-(αAperture / 2)), yAxis) → Pn
  5. Intersect(Line[Pn, O], projectivePlane) → VMn
  6. AngularBisector(VMn + Vector[((x(VMn) * x(Pn)), 0, 0)], VMn, Pn) → bisectN
  7. Line(O, P) → lightLine
  8. Intersect(bisectN, lightLine) → On
  9. Rotate(P, αAperture / 2, yAxis) → Pp
  10. Intersect(Line[Pp, O], projectivePlane) → VMp
  11. AngularBisector(VMp + Vector[((x(VMp) * x(Pp)), 0, 0)], VMp, Pp) → bisectP
  12. Intersect(bisectP, lightLine) → Op
  13. Intersect(lightLine, projectivePlane) → F_{0}
  14. ConeInfinite(O, Vector[(0, 0, 1)], pi / 2) → f
  15. Sphere(O, 1) → unitSphere
  16. ConeInfinite(O, Vector[P], αAperture / 2) → lightCone
  17. IntersectPath(projectivePlane, lightCone) → conics
  18. If(αLight ≟ 0, "Circle", If[α < 90°, "Ellipse", If[α ≟ 90°, "Parabola", If[αLight ≟ 90° ∧ αAperture ≟ 90°, "Rectangular Hyperbola", "Hyperbola"]]]) → txtConicType
  19. Point(O, Vector[(P * cos(αAperture / 2))]) → Pcos
  20. Sphere(Op, Fp) → FpSphere
  21. Point(O, Vector[(Vector[Pp] * dP)]) → FpTouch
  22. Circle(lightLine, FpTouch) → FpTouchCircle
  23. Sphere(On, Fn) → FnSphere
  24. Point(O, Vector[(Vector[Pn] * dN)]) → FnTouch
  25. Circle(lightLine, FnTouch) → FnTouchCircle

AI Drawing Prompt Reference

This is a conic section generated by intersecting a double light cone with a plane, enhanced by Dandelin focal spheres. The key objects include the double cone, focal spheres, contact circles, and the projection plane. The construction order is: first establish the double cone and projection plane, then introduce focal spheres, next obtain conic sections by intersecting the plane with the cone, and finally verify the tangency of contact circles using focal spheres. The conic type can be dynamically adjusted to ellipse, hyperbola, or parabola, suitable for geometric teaching and exploration.
The prompt above was compiled from the original drawing commands and is for reference only.