A Circle Family on a Darboux Cyclide

A Circle Family on a Darboux Cyclide
Loading the math board and drawing, please wait…
2021-03-14 23:19
This example demonstrates how to construct and visualize multiple circles lying on a special Darboux cyclide, emphasizing their relative positions and intersection behavior. The key mathematics includes properties of Darboux cyclides (a class of cyclides), circle–surface intersections, tangency and orthogonality constraints, and symmetry-based constructions. The construction uses GeoGebra tools such as Intersect (to compute intersections), Point and Circle (to define points and circles), Line and LineBisector (to set lines and angle bisectors), Mirror (to generate symmetric counterparts), Midpoint (for mid-constructs), Tangent and OrthogonalLine (to impose tangency/normality), and ImplicitCurve/CurveCartesian (to represent the cyclide and the resulting curves). In addition, 3D embedding is handled via Sphere, Plane, and IntersectPath, while Translate and Center help manage placements of circles/centers. Finally, Sequence and Zip are used to organize and iterate through multiple objects, producing a coherent family of circles on the surface. Suitable for upper-secondary to undergraduate geometry topics and for learners exploring geometric construction methods, with an emphasis on the interplay between circle geometry and advanced surfaces.

GeoGebra Commands & Parameters

  1. Intersect(xAxis, yAxis) → o
  2. Point(xAxis) → e
  3. Circle(o, e) → c_E
  4. Intersect(c_E, yAxis, 1) → i'
  5. Intersect(c_E, yAxis, 2) → i
  6. Line(i, i') → f_{1}
  7. Intersect(c_E, xAxis, 2) → e'
  8. Line(e, e') → g
  9. Point(g) → f
  10. LineBisector(f'', f) → n
  11. Point(g) → s
  12. Mirror(s, c_E) → s'''
  13. Midpoint(s, s''') → A
  14. Circle(A, s) → d
  15. Mirror(f, d) → f'_{4}
  16. Mirror(d, f_{1}) → d'
  17. Mirror(f, d') → f'_{5}
  18. Circle((1 / 2 * (f'_{4} + f'_{5})), f'_{4}) → cE_L
  19. Point(cE_L) → qE_L
  20. Circle(f', qE_L, f''') → e_1
  21. Mirror(s, f_{1}) → s'
  22. Mirror(s', c_E) → s''
  23. Midpoint(s'', s) → B
  24. Circle(B, s) → h
  25. Mirror(f, h) → f'_{1}
  26. Mirror(h, f_{1}) → h'
  27. Mirror(f, h') → f'_{2}
  28. Circle((1 / 2 * (f'_{1} + f'_{2})), f'_{1}) → c_L
  29. Mirror(f, c_L) → f_{#}
  30. Circle(qE_L, f, f_{#}) → g_1
  31. Tangent(f, g_1) → h_1,
  32. OrthogonalLine(f, h_1) → i_1
  33. Intersect(n, i_1) → E
  34. Circle(E, f) → k_1
  35. Intersect(k_1, e_1) → p2_2, p2_1, ,
  36. Mirror(p2_1, g_1) → z_{1}
  37. Circle(z_{1}, p2_1, p2_2) → dbc2ell
  38. MittelkreisKreisKreisHyperbolisch(k_1, e_1) → dbc2hyp
  39. ImplicitCurve(darboux(x, y, 0)) → bizQu_{xy}
  40. ImplicitCurve(darboux(0, y, x)) → bizQu_{yz}
  41. ImplicitCurve(darboux(x, 0, y)) → bizQu_{xz}
  42. Translate(ImplicitCurve[darboux(x, y, h_z)], Vector[(0, 0, h_z)]) → bizQuh_z
  43. Circle(s, s'', S_z) → bizQu1_{xz}
  44. Circle(s', s''', S'_z) → bizQu2_{xz}
  45. Circle(o, s''') → k
  46. Circle(o, s) → p
  47. Point(c_L) → p_L
  48. Circle(f', f'', p_L) → cb11
  49. Circle(p_L, f, f_{#}) → r
  50. Center(r) → C
  51. Line(C, f) → j
  52. LineBisector(f, f''') → l
  53. Intersect(j, l) → D
  54. Circle(D, f) → cb12
  55. If(x(Intersect[cb12, cb11, 1]) > 0, Intersect[cb12, cb11, 1], Intersect[cb12, cb11, 2]) → p_1
  56. Mirror(p_1, r) → F'
  57. Mirror(p_1, c_E) → p_4
  58. LineBisector(p_4, p_1) → b
  59. Center(bizQu1_{xz}) → K
  60. Sphere(o, S_z) → eKu
  61. Center(e_1) → M
  62. Center(k_1) → N
  63. Point(g) → s2_x
  64. ImplicitCurve(darboux2(x, y, 0)) → bizQu2_{xy}
  65. Line(o, S_z) → f_2
  66. If(x(Intersect[cb12, cb11, 1]) > 0, Intersect[cb12, cb11, 2], Intersect[cb12, cb11, 1]) → p_2
  67. Mirror(p_1, r) → p'_{2}
  68. Circle(p'_{2}, p_1, p_2) → dbc1
  69. Center(dbc1) → mdb1
  70. Sphere(mdb1, p_1) → dbKu1
  71. Line(p_1, mdb1) → ldbc
  72. Intersect(ldbc, f_{1}) → mdb3
  73. Mirror(p_1, f_{1}) → p'_1
  74. Circle(mdb3, p_1) → dbc3
  75. Sphere(mdb3, p_1) → dbKu3
  76. LineBisector(p_4, p_1) → m
  77. Intersect(m, ldbc) → mdb4
  78. Circle(mdb4, p_1) → dbc4
  79. Sphere(mdb4, p_1) → dbKu4
  80. Intersect(g, ldbc) → mdb2
  81. Circle(mdb2, p_1) → dbc2
  82. Sphere(mdb2, p_1) → dbKu2
  83. CurveCartesian(T_{-1}((1 / (1 + sqrt(1 - (a_T^(2) * (cos(u))^(2)) - (b_T^(2) * (sin(u))^(2)))) * ((a_T * cos(u)) + ((b_T * sin(u)) * ί)))), u, (-π), π) → TBizQu_{+}
  84. CurveCartesian(T_{-1}((1 / (1 - sqrt(1 - (a_T^(2) * (cos(u))^(2)) - (b_T^(2) * (sin(u))^(2)))) * ((a_T * cos(u)) + ((b_T * sin(u)) * ί)))), u, (-π), π) → TBizQu_{-}
  85. Sequence(k, k, (-anz), anz) → L_{anz}
  86. Zip(Circle[PP((k / anz * π)), S_z, S'_z], k, L_{anz}) → KreisGitter
  87. Mirror(p2_2, g_1) → F
  88. Circle(p2_1, p2_2, F) → cdb_E
  89. MittelkreisKreisKreisHyperbolisch(e_1, k_1) → cdb_{ell}
  90. If(Defined[cdb_E], cdb_E, cdb_{ell}) → dbc_E
  91. Center(dbc_E) → mdbc_E
  92. Center(cE_L) → G
  93. Center(k_1) → mcb1_E
  94. Line(mdbc_E, mcb1_E) → q
  95. OrthogonalLine(o, q) → t
  96. Intersect(dbc_E, q) → q2_E, q1_E
  97. Sphere(mdbc_E, q2_E) → dbKu_E
  98. Intersect(c_E, t) → H, I
  99. Intersect(bizQu1_{xz}, dbKu_E) → J, L, ,
  100. Intersect(bizQu2_{xz}, dbKu_E) → O, P, ,
  101. Line(L, P) → a
  102. Plane(o, I, L) → Esec
  103. IntersectPath(Esec, dbKu_E) → csec
  104. Line(o, J) → j_1
  105. Plane(o, I, J) → Esec'
  106. IntersectPath(Esec', dbKu_E) → csec'
  107. Circle(S_z, S'_z, p_1) → dbcE4

AI Drawing Prompt Reference

Draw a family of circles on a Darboux cyclide. Start with a basic circle, then generate symmetric circles via mirroring. Intersection points with the y-axis define tangent and orthogonal lines, which in turn define additional circles. Circle intersections with the Darboux cyclide and tangent points complete the family. The overall arrangement shows symmetric circles and their geometric relationship with the special surface.
The prompt above was compiled from the original drawing commands and is for reference only.