Parametric Construction of a Trefoil Knot
Loading the math board and drawing, please wait…
In collections
geometriadinamica.es
This GeoGebra example demonstrates how to construct a classic trefoil knot, a fascinating curve commonly studied in topology and curve theory, shaped like a three-leaf decorative knot. Key mathematical concepts include parametric equations, Cartesian curves, combinations of circles and ellipses, sequence generation of points, angle calculations, and intersection operations. Construction highlights: Use the CurveCartesian command to generate the trefoil curve via parametric equations, apply Sequence to create series of points, build auxiliary geometric structures with commands like Circle, Ellipse, Point, and Intersect, connect key points with Segment, and complete angle annotations using OrthogonalLine and Angle. This example is suitable for high school and above students learning parametric equations and curve construction, and serves as an excellent teaching material for coordinate geometry and parametric curves.
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, 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) → zAngIncCurveCartesian((r / 3 * ((((r2 * cos(v)) + (r1 * (1 + (a * cos(((n * 2) * 3.14159)))))) * sin(zAngRot)) + (((r2 * sin(v)) + (a * sin(((n * 2) * 3.14159)))) * cos(zAngRot)))), (r / 3 * ((((-((r2 * cos(v)) + (r1 * (1 + (a * cos(((n * 2) * 3.14159))))))) * cos(zAngRot)) * sin(zAngInc)) + ((((r2 * sin(v)) + (a * sin(((n * 2) * 3.14159)))) * sin(zAngRot)) * sin(zAngInc)))), v, v1, v2) → curva1Segment(ZZ5, ZZ6) → zz4Segment(ZZ7, ZZ8) → zz3Intersect(zElipse2, zElipse1, 1) → zPunto1Intersect(zElipse2, zElipse1, 4) → zPunto2Segment(zPunto1, zPunto2) → zSeg2CurveCartesian((r / 3 * (((((r2 * cos(α)) * cos(u)) + ((r1 * cos(u)) * (1 + (a * cos((n * u)))))) * sin(zAngRot)) + (((r2 * sin(α)) + (a * sin((n * u)))) * cos(zAngRot)))), (r / 3 * ((((-(((r2 * cos(α)) * cos(u)) + ((r1 * cos(u)) * (1 + (a * cos((n * u))))))) * cos(zAngRot)) * sin(zAngInc)) + ((((r2 * sin(α)) + (a * sin((n * u)))) * sin(zAngRot)) * sin(zAngInc)) + ((((r2 * cos(α)) * sin(u)) + ((r1 * sin(u)) * (1 + (a * cos((n * u)))))) * cos(zAngInc)))), u, u1, u2) → curva2CurveCartesian((r / 3 * (((((r2 * cos(v)) * cos((2 * β))) + ((r1 * cos((2 * β))) * (1 + (a * cos(((n * 2) * β)))))) * sin(zAngRot)) + (((r2 * sin(v)) + (a * sin(((n * 2) * β)))) * cos(zAngRot)))), (r / 3 * ((((-(((r2 * cos(v)) * cos((2 * β))) + ((r1 * cos((2 * β))) * (1 + (a * cos(((n * 2) * β))))))) * cos(zAngRot)) * sin(zAngInc)) + ((((r2 * sin(v)) + (a * sin(((n * 2) * β)))) * sin(zAngRot)) * sin(zAngInc)) + ((((r2 * cos(v)) * sin((2 * β))) + ((r1 * sin((2 * β))) * (1 + (a * cos(((n * 2) * β)))))) * cos(zAngInc)))), v, v1, v2) → a1Sequence(CurveCartesian[(r / 3 * (((((r2 * cos(v)) * cos(u)) + ((r1 * cos(u)) * (1 + (a * cos((n * u)))))) * sin(zAngRot)) + (((r2 * sin(v)) + (a * sin((n * u)))) * cos(zAngRot)))), (r / 3 * ((((-(((r2 * cos(v)) * cos(u)) + ((r1 * cos(u)) * (1 + (a * cos((n * u))))))) * cos(zAngRot)) * sin(zAngInc)) + ((((r2 * sin(v)) + (a * sin((n * u)))) * sin(zAngRot)) * sin(zAngInc)) + ((((r2 * cos(v)) * sin(u)) + ((r1 * sin(u)) * (1 + (a * cos((n * u)))))) * cos(zAngInc)))), v, v1, v2], u, u1, u2, paso / 2) → list2Sequence(CurveCartesian[(r / 3 * (((((r2 * cos(v)) * cos(u)) + ((r1 * cos(u)) * (1 + (a * cos((n * u)))))) * sin(zAngRot)) + (((r2 * sin(v)) + (a * sin((n * u)))) * cos(zAngRot)))), (r / 3 * ((((-(((r2 * cos(v)) * cos(u)) + ((r1 * cos(u)) * (1 + (a * cos((n * u))))))) * cos(zAngRot)) * sin(zAngInc)) + ((((r2 * sin(v)) + (a * sin((n * u)))) * sin(zAngRot)) * sin(zAngInc)) + ((((r2 * cos(v)) * sin(u)) + ((r1 * sin(u)) * (1 + (a * cos((n * u)))))) * cos(zAngInc)))), u, u1, u2], v, v1, v2, (2 * paso)) → list1
AI Drawing Prompt Reference
Draw a trefoil knot using parametric equations to generate the curve, connecting points with line segments to form a complex closed curve. Start by drawing two ellipses, then use their intersections and auxiliary lines to create key points. Next, use parametric equations to draw the curve, and finally, generate more points and segments using sequences to complete the trefoil knot.
The prompt above was compiled from the original drawing commands and is for reference only.