Umbilical Construction: Circle–Ellipse Intersections & Similarity
Loading the math board and drawing, please wait…
In collections
geometriadinamica.es
This example demonstrates a constructive geometry workflow related to the “umbilical” (toro umbilical) idea, where a key conic-curve configuration is built from circle/ellipse constraints and intersection geometry. It highlights relationships typical of quadratic functions and conic sections: using circle and ellipse geometry to produce characteristic points, and using angle constraints to reveal underlying similarity and structured proportions. Construction uses GeoGebra commands such as Segment and Point for the basic framework, OrthogonalLine for perpendicular constraints, Circle and Ellipse to create the conic elements, Intersect to obtain critical points, and Angle to measure/guide geometric relationships. It also employs CurveCartesian to render the resulting Cartesian curve and Sequence to drive the construction step-by-step with parameterized objects (e.g., derived variables and intermediate loci/curve-related objects). Suitable for secondary school to early university learners studying analytic geometry, conic sections, and geometric construction; ideal for classroom demos and exploratory learning.
GeoGebra Commands & Parameters
Segment(Q5, Q6) → p5Point(p5) → P5Segment(Q3, Q4) → p2Point(p2) → P3Segment(P3, Q4) → p4Point(p4) → P4Segment(Q1, Q2) → p1Point(p1) → P1Segment(P1, Q2) → p3Point(p3) → P2OrthogonalLine(C, xAxis) → zz2Circle(C, 0.62) → zz0Intersect(zz0, zz2, 1) → ZZ4Intersect(zz0, zz2, 2) → ZZ3Ellipse(ZZ3, ZZ4, 0.65) → zElipse2Point(zElipse2) → ZIntersect(zElipse2, zz2) → ZZ7, ZZ8Angle(ZZ8, C, Z) → zAngIncOrthogonalLine(C, yAxis) → zz1Intersect(zz0, zz1, 2) → ZZ2Intersect(zz0, zz1, 1) → ZZ1Ellipse(ZZ1, ZZ2, 0.65) → zElipse1Point(zElipse1) → XYIntersect(zElipse1, zz1) → ZZ5, ZZ6Angle(ZZ6, C, XY) → zAngRotSegment(ZZ5, ZZ6) → zz4Segment(ZZ7, ZZ8) → zz3Intersect(zElipse2, zElipse1, 1) → zPunto1Intersect(zElipse2, zElipse1, 4) → zPunto2Segment(zPunto1, zPunto2) → zSeg2CurveCartesian((r / 8 * (((sin((3 * α)) * (7 + cos(α - (2 * v)) + (2 * cos(α + v)))) * sin(zAngRot)) + ((cos((3 * α)) * (7 + cos(α - (2 * v)) + (2 * cos(α + v)))) * cos(zAngRot)))), (r / 8 * (((((-sin((3 * α))) * (7 + cos(α - (2 * v)) + (2 * cos(α + v)))) * cos(zAngRot)) * sin(zAngInc)) + (((cos((3 * α)) * (7 + cos(α - (2 * v)) + (2 * cos(α + v)))) * sin(zAngRot)) * sin(zAngInc)) + ((sin(α - (2 * v)) + (2 * sin(α + v))) * cos(zAngInc)))), v, v1, v2) → curva2CurveCartesian((r / 8 * (((sin((3 * u)) * (7 + cos(u) + (2 * cos(u)))) * sin(zAngRot)) + ((cos((3 * u)) * (7 + cos(u) + (2 * cos(u)))) * cos(zAngRot)))), (r / 8 * (((((-sin((3 * u))) * (7 + cos(u) + (2 * cos(u)))) * cos(zAngRot)) * sin(zAngInc)) + (((cos((3 * u)) * (7 + cos(u) + (2 * cos(u)))) * sin(zAngRot)) * sin(zAngInc)) + ((sin(u) + (2 * sin(u))) * cos(zAngInc)))), u, u1, u2) → curva1CurveCartesian((r / 8 * (((sin(β) * (7 + cos(β / 3 - (2 * v)) + (2 * cos(β / 3 + v)))) * sin(zAngRot)) + ((cos(β) * (7 + cos(β / 3 - (2 * v)) + (2 * cos(β / 3 + v)))) * cos(zAngRot)))), (r / 8 * (((((-sin(β)) * (7 + cos(β / 3 - (2 * v)) + (2 * cos(β / 3 + v)))) * cos(zAngRot)) * sin(zAngInc)) + (((cos(β) * (7 + cos(β / 3 - (2 * v)) + (2 * cos(β / 3 + v)))) * sin(zAngRot)) * sin(zAngInc)) + ((sin(β / 3 - (2 * v)) + (2 * sin(β / 3 + v))) * cos(zAngInc)))), v, v1, v2) → a1Sequence(CurveCartesian[(r / 8 * (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v)))) * sin(zAngRot)) + ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v)))) * cos(zAngRot)))), (r / 8 * (((((-sin(u)) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v)))) * cos(zAngRot)) * sin(zAngInc)) + (((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v)))) * sin(zAngRot)) * sin(zAngInc)) + ((sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v))) * cos(zAngInc)))), v, v1, v2], u, u1, u2, paso) → list2Sequence(CurveCartesian[(r / 8 * (((sin(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v)))) * sin(zAngRot)) + ((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v)))) * cos(zAngRot)))), (r / 8 * (((((-sin(u)) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v)))) * cos(zAngRot)) * sin(zAngInc)) + (((cos(u) * (7 + cos(u / 3 - (2 * v)) + (2 * cos(u / 3 + v)))) * sin(zAngRot)) * sin(zAngInc)) + ((sin(u / 3 - (2 * v)) + (2 * sin(u / 3 + v))) * cos(zAngInc)))), u, u1, u2], v, v1, v2, (2 * paso)) → list1
AI Drawing Prompt Reference
This graph is a umbilical curve generated by circle and ellipse intersections and angle constraints. The construction order is: first draw a circle and perpendicular lines to axes, intersect to get ellipse and key points; then use angle measurement to determine rotation relationships; finally use parametric equations to draw the curve. The graph includes circle, ellipse, intersection points, angles, and parametric curves, with symmetry, suitable for showing the relationship between circles and ellipses in geometric construction.
The prompt above was compiled from the original drawing commands and is for reference only.