Rainbow Conics as Envelopes of Straight Lines

Rainbow Conics as Envelopes of Straight Lines
Loading the math board and drawing, please wait…
2019-08-05 10:40
This example demonstrates the formation of rainbow conics through the envelope of straight lines. Key mathematical concepts include the properties of conic sections and straight lines. The construction uses Circle, Point, If, Sequence, and LineBisector commands in GeoGebra. Suitable for high school mathematics education, particularly in coordinate geometry and conic sections.

GeoGebra Commands & Parameters

  1. Circle(O, 1) → c
  2. Point(c) → B
  3. If(abs(A) < 1, Ellipse[A, O, Intersect[LineBisector[A, B], Line[O, B]]], Hyperbola[A, O, Intersect[LineBisector[A, B], Line[O, B]]]) → AllConics
  4. Sequence(LineBisector[(cos(((2 * π) * i / n)), sin(((2 * π) * i / n))), A], i, 0, n) → Lines
  5. LineBisector((cos(((2 * π) * 0 / n)), sin(((2 * π) * 0 / n))), A) → L0
  6. LineBisector((cos(((2 * π) * 1 / n)), sin(((2 * π) * 1 / n))), A) → L1
  7. LineBisector((cos(((2 * π) * 2 / n)), sin(((2 * π) * 2 / n))), A) → L2
  8. LineBisector((cos(((2 * π) * 3 / n)), sin(((2 * π) * 3 / n))), A) → L3
  9. LineBisector((cos(((2 * π) * 4 / n)), sin(((2 * π) * 4 / n))), A) → L4
  10. LineBisector((cos(((2 * π) * 5 / n)), sin(((2 * π) * 5 / n))), A) → L5
  11. LineBisector((cos(((2 * π) * 6 / n)), sin(((2 * π) * 6 / n))), A) → L6
  12. LineBisector((cos(((2 * π) * 7 / n)), sin(((2 * π) * 7 / n))), A) → L7
  13. LineBisector((cos(((2 * π) * 8 / n)), sin(((2 * π) * 8 / n))), A) → L8
  14. LineBisector((cos(((2 * π) * 9 / n)), sin(((2 * π) * 9 / n))), A) → L9
  15. LineBisector((cos(((2 * π) * 10 / n)), sin(((2 * π) * 10 / n))), A) → L10
  16. LineBisector((cos(((2 * π) * 11 / n)), sin(((2 * π) * 11 / n))), A) → L11
  17. LineBisector((cos(((2 * π) * 12 / n)), sin(((2 * π) * 12 / n))), A) → L12
  18. LineBisector((cos(((2 * π) * 13 / n)), sin(((2 * π) * 13 / n))), A) → L13
  19. LineBisector((cos(((2 * π) * 14 / n)), sin(((2 * π) * 14 / n))), A) → L14
  20. LineBisector((cos(((2 * π) * 15 / n)), sin(((2 * π) * 15 / n))), A) → L15
  21. LineBisector((cos(((2 * π) * 16 / n)), sin(((2 * π) * 16 / n))), A) → L16
  22. LineBisector((cos(((2 * π) * 17 / n)), sin(((2 * π) * 17 / n))), A) → L17
  23. LineBisector((cos(((2 * π) * 18 / n)), sin(((2 * π) * 18 / n))), A) → L18
  24. LineBisector((cos(((2 * π) * 19 / n)), sin(((2 * π) * 19 / n))), A) → L19
  25. LineBisector((cos(((2 * π) * 20 / n)), sin(((2 * π) * 20 / n))), A) → L20
  26. LineBisector((cos(((2 * π) * 21 / n)), sin(((2 * π) * 21 / n))), A) → L21
  27. LineBisector((cos(((2 * π) * 22 / n)), sin(((2 * π) * 22 / n))), A) → L22
  28. LineBisector((cos(((2 * π) * 23 / n)), sin(((2 * π) * 23 / n))), A) → L23
  29. LineBisector((cos(((2 * π) * 24 / n)), sin(((2 * π) * 24 / n))), A) → L24
  30. LineBisector((cos(((2 * π) * 25 / n)), sin(((2 * π) * 25 / n))), A) → L25
  31. LineBisector((cos(((2 * π) * 26 / n)), sin(((2 * π) * 26 / n))), A) → L26
  32. LineBisector((cos(((2 * π) * 27 / n)), sin(((2 * π) * 27 / n))), A) → L27
  33. LineBisector((cos(((2 * π) * 28 / n)), sin(((2 * π) * 28 / n))), A) → L28
  34. LineBisector((cos(((2 * π) * 29 / n)), sin(((2 * π) * 29 / n))), A) → L29
  35. LineBisector((cos(((2 * π) * 30 / n)), sin(((2 * π) * 30 / n))), A) → L30
  36. LineBisector((cos(((2 * π) * 31 / n)), sin(((2 * π) * 31 / n))), A) → L31
  37. LineBisector((cos(((2 * π) * 32 / n)), sin(((2 * π) * 32 / n))), A) → L32
  38. LineBisector((cos(((2 * π) * 33 / n)), sin(((2 * π) * 33 / n))), A) → L33
  39. LineBisector((cos(((2 * π) * 34 / n)), sin(((2 * π) * 34 / n))), A) → L34
  40. LineBisector((cos(((2 * π) * 35 / n)), sin(((2 * π) * 35 / n))), A) → L35
  41. LineBisector((cos(((2 * π) * 36 / n)), sin(((2 * π) * 36 / n))), A) → L36
  42. LineBisector((cos(((2 * π) * 37 / n)), sin(((2 * π) * 37 / n))), A) → L37
  43. LineBisector((cos(((2 * π) * 38 / n)), sin(((2 * π) * 38 / n))), A) → L38
  44. LineBisector((cos(((2 * π) * 39 / n)), sin(((2 * π) * 39 / n))), A) → L39
  45. LineBisector((cos(((2 * π) * 40 / n)), sin(((2 * π) * 40 / n))), A) → L40
  46. LineBisector((cos(((2 * π) * 41 / n)), sin(((2 * π) * 41 / n))), A) → L41
  47. LineBisector((cos(((2 * π) * 42 / n)), sin(((2 * π) * 42 / n))), A) → L42
  48. LineBisector((cos(((2 * π) * 43 / n)), sin(((2 * π) * 43 / n))), A) → L43
  49. LineBisector((cos(((2 * π) * 44 / n)), sin(((2 * π) * 44 / n))), A) → L44
  50. LineBisector((cos(((2 * π) * 45 / n)), sin(((2 * π) * 45 / n))), A) → L45
  51. LineBisector((cos(((2 * π) * 46 / n)), sin(((2 * π) * 46 / n))), A) → L46
  52. LineBisector((cos(((2 * π) * 47 / n)), sin(((2 * π) * 47 / n))), A) → L47
  53. LineBisector((cos(((2 * π) * 48 / n)), sin(((2 * π) * 48 / n))), A) → L48
  54. LineBisector((cos(((2 * π) * 49 / n)), sin(((2 * π) * 49 / n))), A) → L49
  55. LineBisector((cos(((2 * π) * 50 / n)), sin(((2 * π) * 50 / n))), A) → L50

AI Drawing Prompt Reference

Draw a unit circle centered at the origin. Place a moving point on the circle and a fixed point inside the circle. For each position of the moving point, construct the perpendicular bisector of the segment joining the fixed point and the moving point. As the moving point travels around the circle, these bisectors form an envelope: an ellipse if the fixed point is inside the circle, or a hyperbola if outside. Additionally, take many equally spaced points on the circle and draw the perpendicular bisectors between each and the fixed point, creating a family of lines that visually outline the conic section.
The prompt above was compiled from the original drawing commands and is for reference only.