Square Slider Loop Animation (Origami Model)
Loading the math board and drawing, please wait…
In collections
Action Modular Origami
This example demonstrates an animated loop of a square-shaped model folded from paper, based on the book 'Action Modular Origami' published by Tarquin (ISBN 9781911093947). The core mathematical concepts involve polygons, symmetry, exponential functions, and differential equations, with a slider parameter driving the geometric transformations. The construction uses GeoGebra commands such as Rotate, Point, Polygon, Intersect, Dilate, Segment, If, Vector, Translate, and Line, creating multiple linked objects like C, D, constSlider, control points (xx, yy), and several rotated polygon copies (poly1'_1, poly1'_2, etc.) to produce a dynamic looping effect. Suitable for middle school and above, this example is ideal for exploring geometric transformations, parametric animation, and origami-inspired mathematics in dynamic geometry environments.
GeoGebra Commands & Parameters
Rotate(C, 180°, OO) → C'_1Rotate(C, 270°, OO) → C'_2Rotate(D, 180°, OO) → D'_1Rotate(D, 270°, OO) → D'_2Rotate(A, 270°, OO) → A'_2Rotate(A, 180°, OO) → A'_1Point(xAxis) → BRotate(B, 180°, OO) → B'_1Polygon(A'_1, B'_1, C'_1, D'_1) → poly1'_1, a'_1, b'_1, c'_1, d'_1Rotate(B, 270°, OO) → B'_2Polygon(A'_2, B'_2, C'_2, D'_2) → poly1'_2, a'_2, b'_2, c'_2, d'_2Intersect(c'_2, c'_1) → IDilate(B, xx, A'_1) → X_2Segment(E, B) → jPoint(j) → X_1If(clock < 1, 0, If[clock ≥ 1 ∧ clock < 2, (-clock) + floor(clock), If[clock ≥ 4, clock - 5, -1]]) → yy_3If(clock < 1, clock, If[clock ≥ 1 ∧ clock < 3, 1, Max[4 - clock, 0]]) → xx_3If(control ≟ constTwoPoints, X_1, If[control ≟ constSlider, X_2, X_3]) → XVector(E, X) → uTranslate(I, u) → I'Segment(X, I') → sPoint(s) → Y_1Dilate(I', yy, X) → Y_2Intersect(a'_1, a'_2) → GTranslate(B'_2, u) → NTranslate(C'_2, u) → MTranslate(G, u) → G'Translate(B'_1, u) → PTranslate(A'_2, u) → LLine(G', L) → tTranslate(A'_1, u) → OTranslate(C'_1, u) → QTranslate(D'_1, u) → RPolygon(O, P, Q, R) → poly4, o, p, q, rIf(control ≟ constTwoPoints, Y_1, If[control ≟ constSlider, Y_2, Y_3]) → YVector(X, Y) → vTranslate(O, v) → O'Translate(P, v) → P'Translate(Q, v) → Q'Translate(R, v) → R'Polygon(O', P', Q', R') → poly4', o', p', q', r'Intersect(t, q') → UTranslate(D'_2, u) → KIntersect(t, o') → TIntersect(c'_2, a'_1) → FTranslate(F, u) → F'Polygon(A, B, C, D) → poly1, a, b, c, dRotate(A, 90°, OO) → A'Rotate(B, 90°, OO) → B'Rotate(C, 90°, OO) → C'Rotate(D, 90°, OO) → D'Polygon(A', B', C', D') → poly1', a', b', c', d'Intersect(c'_1, a'_2) → HPolygon(H, I, C'_2, B'_2) → poly2, h, i, c'_3, b'_3Polygon(G, F, D'_2, A'_2) → poly3, g, f, d'_3, a'_3Translate(A, u) → A'_3Translate(B, u) → B'_3Translate(C, u) → C'_3Translate(D, u) → D'_3Polygon(T, Y, K, L) → poly3', k, l, e, f_1Polygon(A'_3, B'_3, C'_3, D'_3) → poly1'_3, a'_4, b'_4, c'_4, d'_4Translate(H, u) → H'Polygon(U, R', M, N) → poly2', m, n, g_1, h_1Translate(A', v) → A''Translate(B', v) → B''Translate(C', v) → C''Translate(D', v) → D''Polygon(A'', B'', C'', D'') → poly1'', a'', b'', c'', d''
AI Drawing Prompt Reference
Draw a dynamic looping model of a square folded from paper. Start with a square whose one vertex lies on the horizontal axis. Rotate copies of this square by 90, 180, and 270 degrees around the center to create a symmetric cross-like arrangement. Use a slider to control two control points: one slides along an edge, the other is determined by a scaling transformation. Connect the center to the current control point to form a vector, then translate the entire figure by this vector to generate second and third layers of polygons. Intersections between layers create fold lines. The result is a continuous folding and unfolding animation, ideal for exploring symmetry and parametric motion.
The prompt above was compiled from the original drawing commands and is for reference only.