A Circle Family on a Darboux Cyclide
Loading the math board and drawing, please wait…
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
Intersect(xAxis, yAxis) → oPoint(xAxis) → eCircle(o, e) → c_EIntersect(c_E, yAxis, 1) → i'Intersect(c_E, yAxis, 2) → iLine(i, i') → f_{1}Intersect(c_E, xAxis, 2) → e'Line(e, e') → gPoint(g) → fLineBisector(f'', f) → nPoint(g) → sMirror(s, c_E) → s'''Midpoint(s, s''') → ACircle(A, s) → dMirror(f, d) → f'_{4}Mirror(d, f_{1}) → d'Mirror(f, d') → f'_{5}Circle((1 / 2 * (f'_{4} + f'_{5})), f'_{4}) → cE_LPoint(cE_L) → qE_LCircle(f', qE_L, f''') → e_1Mirror(s, f_{1}) → s'Mirror(s', c_E) → s''Midpoint(s'', s) → BCircle(B, s) → hMirror(f, h) → f'_{1}Mirror(h, f_{1}) → h'Mirror(f, h') → f'_{2}Circle((1 / 2 * (f'_{1} + f'_{2})), f'_{1}) → c_LMirror(f, c_L) → f_{#}Circle(qE_L, f, f_{#}) → g_1Tangent(f, g_1) → h_1,OrthogonalLine(f, h_1) → i_1Intersect(n, i_1) → ECircle(E, f) → k_1Intersect(k_1, e_1) → p2_2, p2_1, ,Mirror(p2_1, g_1) → z_{1}Circle(z_{1}, p2_1, p2_2) → dbc2ellMittelkreisKreisKreisHyperbolisch(k_1, e_1) → dbc2hypImplicitCurve(darboux(x, y, 0)) → bizQu_{xy}ImplicitCurve(darboux(0, y, x)) → bizQu_{yz}ImplicitCurve(darboux(x, 0, y)) → bizQu_{xz}Translate(ImplicitCurve[darboux(x, y, h_z)], Vector[(0, 0, h_z)]) → bizQuh_zCircle(s, s'', S_z) → bizQu1_{xz}Circle(s', s''', S'_z) → bizQu2_{xz}Circle(o, s''') → kCircle(o, s) → pPoint(c_L) → p_LCircle(f', f'', p_L) → cb11Circle(p_L, f, f_{#}) → rCenter(r) → CLine(C, f) → jLineBisector(f, f''') → lIntersect(j, l) → DCircle(D, f) → cb12If(x(Intersect[cb12, cb11, 1]) > 0, Intersect[cb12, cb11, 1], Intersect[cb12, cb11, 2]) → p_1Mirror(p_1, r) → F'Mirror(p_1, c_E) → p_4LineBisector(p_4, p_1) → bCenter(bizQu1_{xz}) → KSphere(o, S_z) → eKuCenter(e_1) → MCenter(k_1) → NPoint(g) → s2_xImplicitCurve(darboux2(x, y, 0)) → bizQu2_{xy}Line(o, S_z) → f_2If(x(Intersect[cb12, cb11, 1]) > 0, Intersect[cb12, cb11, 2], Intersect[cb12, cb11, 1]) → p_2Mirror(p_1, r) → p'_{2}Circle(p'_{2}, p_1, p_2) → dbc1Center(dbc1) → mdb1Sphere(mdb1, p_1) → dbKu1Line(p_1, mdb1) → ldbcIntersect(ldbc, f_{1}) → mdb3Mirror(p_1, f_{1}) → p'_1Circle(mdb3, p_1) → dbc3Sphere(mdb3, p_1) → dbKu3LineBisector(p_4, p_1) → mIntersect(m, ldbc) → mdb4Circle(mdb4, p_1) → dbc4Sphere(mdb4, p_1) → dbKu4Intersect(g, ldbc) → mdb2Circle(mdb2, p_1) → dbc2Sphere(mdb2, p_1) → dbKu2CurveCartesian(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_{+}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_{-}Sequence(k, k, (-anz), anz) → L_{anz}Zip(Circle[PP((k / anz * π)), S_z, S'_z], k, L_{anz}) → KreisGitterMirror(p2_2, g_1) → FCircle(p2_1, p2_2, F) → cdb_EMittelkreisKreisKreisHyperbolisch(e_1, k_1) → cdb_{ell}If(Defined[cdb_E], cdb_E, cdb_{ell}) → dbc_ECenter(dbc_E) → mdbc_ECenter(cE_L) → GCenter(k_1) → mcb1_ELine(mdbc_E, mcb1_E) → qOrthogonalLine(o, q) → tIntersect(dbc_E, q) → q2_E, q1_ESphere(mdbc_E, q2_E) → dbKu_EIntersect(c_E, t) → H, IIntersect(bizQu1_{xz}, dbKu_E) → J, L, ,Intersect(bizQu2_{xz}, dbKu_E) → O, P, ,Line(L, P) → aPlane(o, I, L) → EsecIntersectPath(Esec, dbKu_E) → csecLine(o, J) → j_1Plane(o, I, J) → Esec'IntersectPath(Esec', dbKu_E) → csec'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.