Dupin (ciclide anular de)
Loading the math board and drawing, please wait…
In collections
geometriadinamica.es
This example demonstrates the geometric construction and integral calculation of Dupin curves. Key mathematical concepts include circles, angles, rotation, and definite integrals. Construction involves GeoGebra commands such as Segment, OrthogonalLine, Circle, Intersect, Ellipse, Angle, and CurveCartesian. Suitable for high school students or college freshmen learning analytic geometry and calculus fundamentals.
GeoGebra Commands & Parameters
Segment(Q3, Q4) → p2Point(p2) → P3Segment(P3, Q4) → p4Point(p4) → P4Segment(Q1, Q2) → p1Point(p1) → P1Segment(P1, Q2) → p3Point(p3) → P2OrthogonalLine(C, yAxis) → zz1Circle(C, 0.62) → zz0Intersect(zz0, zz1, 1) → ZZ1Intersect(zz0, zz1, 2) → ZZ2Ellipse(ZZ1, ZZ2, 0.65) → zElipse1Intersect(zElipse1, zz1) → ZZ5, ZZ6Point(zElipse1) → XYAngle(ZZ6, C, XY) → zAngRotOrthogonalLine(C, xAxis) → zz2Intersect(zz0, zz2, 2) → ZZ3Intersect(zz0, zz2, 1) → ZZ4Ellipse(ZZ3, ZZ4, 0.65) → zElipse2Intersect(zElipse2, zz2) → ZZ7, ZZ8Point(zElipse2) → ZAngle(ZZ8, C, Z) → zAngIncSegment(Q5, Q6) → p5Point(p5) → P5Segment(ZZ5, ZZ6) → zz4Segment(ZZ7, ZZ8) → zz3Intersect(zElipse2, zElipse1, 1) → zPunto1Intersect(zElipse2, zElipse1, 4) → zPunto2Segment(zPunto1, zPunto2) → zSeg2CurveCartesian((r / 10 * ((((5 * (k - (5 * cos(v)))) + ((8 * cos(v)) * (8 - (k * cos(α))))) / (8 - ((5 * cos(v)) * cos(α))) * sin(zAngRot)) + (((sqrt(39) * (8 - (k * cos(α)))) * sin(v) / (8 - ((5 * cos(v)) * cos(α)))) * cos(zAngRot)))), (r / 10 * (((((-((5 * (k - (5 * cos(v)))) + ((8 * cos(v)) * (8 - (k * cos(α))))))) / (8 - ((5 * cos(v)) * cos(α))) * cos(zAngRot)) * sin(zAngInc)) + ((((sqrt(39) * (8 - (k * cos(α)))) * sin(v) / (8 - ((5 * cos(v)) * cos(α)))) * sin(zAngRot)) * sin(zAngInc)) + ((sqrt(39) * (k - ((5 * cos(v)) * sin(α))) / (8 - ((5 * cos(v)) * cos(α)))) * cos(zAngInc)))), v, v1, v2) → curva2CurveCartesian((r / 10 * ((((5 * (k - (5 * cos(β)))) + ((8 * cos(β)) * (8 - (k * cos(u))))) / (8 - ((5 * cos(β)) * cos(u))) * sin(zAngRot)) + (((sqrt(39) * (8 - (k * cos(u)))) * sin(β) / (8 - ((5 * cos(β)) * cos(u)))) * cos(zAngRot)))), (r / 10 * (((((-((5 * (k - (5 * cos(β)))) + ((8 * cos(β)) * (8 - (k * cos(u))))))) / (8 - ((5 * cos(β)) * cos(u))) * cos(zAngRot)) * sin(zAngInc)) + ((((sqrt(39) * (8 - (k * cos(u)))) * sin(β) / (8 - ((5 * cos(β)) * cos(u)))) * sin(zAngRot)) * sin(zAngInc)) + ((sqrt(39) * (k - ((5 * cos(β)) * sin(u))) / (8 - ((5 * cos(β)) * cos(u)))) * cos(zAngInc)))), u, u1, u2) → a1CurveCartesian(((r / 10 * ((5 * (k + 5)) - (8 * (8 - (k * cos(u))))) / (8 + (5 * cos(u)))) * sin(zAngRot)), (r / 10 * (((((-((5 * (k + 5)) - (8 * (8 - (k * cos(u))))))) / (8 + (5 * cos(u))) * cos(zAngRot)) * sin(zAngInc)) + ((sqrt(39) * (k + (5 * sin(u))) / (8 + (5 * cos(u)))) * cos(zAngInc)))), u, u1, u2) → curva1Sequence(CurveCartesian[(r / 10 * ((((5 * (k - (5 * cos(v)))) + ((8 * cos(v)) * (8 - (k * cos(u))))) / (8 - ((5 * cos(v)) * cos(u))) * sin(zAngRot)) + (((sqrt(39) * (8 - (k * cos(u)))) * sin(v) / (8 - ((5 * cos(v)) * cos(u)))) * cos(zAngRot)))), (r / 10 * (((((-((5 * (k - (5 * cos(v)))) + ((8 * cos(v)) * (8 - (k * cos(u))))))) / (8 - ((5 * cos(v)) * cos(u))) * cos(zAngRot)) * sin(zAngInc)) + ((((sqrt(39) * (8 - (k * cos(u)))) * sin(v) / (8 - ((5 * cos(v)) * cos(u)))) * sin(zAngRot)) * sin(zAngInc)) + ((sqrt(39) * (k - ((5 * cos(v)) * sin(u))) / (8 - ((5 * cos(v)) * cos(u)))) * cos(zAngInc)))), u, u1, u2], v, v1, v2, paso) → list3Sequence(CurveCartesian[(r / 10 * ((((5 * (k - (5 * cos(v)))) + ((8 * cos(v)) * (8 - (k * cos(u))))) / (8 - ((5 * cos(v)) * cos(u))) * sin(zAngRot)) + (((sqrt(39) * (8 - (k * cos(u)))) * sin(v) / (8 - ((5 * cos(v)) * cos(u)))) * cos(zAngRot)))), (r / 10 * (((((-((5 * (k - (5 * cos(v)))) + ((8 * cos(v)) * (8 - (k * cos(u))))))) / (8 - ((5 * cos(v)) * cos(u))) * cos(zAngRot)) * sin(zAngInc)) + ((((sqrt(39) * (8 - (k * cos(u)))) * sin(v) / (8 - ((5 * cos(v)) * cos(u)))) * sin(zAngRot)) * sin(zAngInc)) + ((sqrt(39) * (k - ((5 * cos(v)) * sin(u))) / (8 - ((5 * cos(v)) * cos(u)))) * cos(zAngInc)))), v, v1, v2], u, u1, u2, paso) → list1
AI Drawing Prompt Reference
In one coordinate plane, first draw a circle with center C and construct the key points from its intersections with the horizontal and vertical axes. Using the intersection points with each axis, define two ellipses that share the same focal/constraint setup and use the given ellipse scaling value so they are geometrically related. From the circle center and specific ellipse–axis intersection points, measure the angle directions that will act as rotational and incremental angular references. Then generate two parameterized analytic curves whose x–y coordinates are built from those angle directions and the trigonometric expressions involving two parameters (u and v) over their specified ranges. Sample the parameterized curves to obtain a sequence (point set) along each curve, and keep the segment joining the two ellipse intersection points at the chosen parameter values as an additional geometric reference.
The prompt above was compiled from the original drawing commands and is for reference only.