Easing Functions Animation Demo
Loading the math board and drawing, please wait…
This example dynamically demonstrates the application and effect of easing functions in animations. It involves core mathematical concepts such as function graphs, piecewise functions, polynomial functions, exponential functions, and trigonometric functions. The construction utilizes GeoGebra commands and objects like Vector, Translate, Rotate, Intersect, Root, Point, Segment, Circle, and Sequence. It is suitable for high school and above learners to understand the correlation between animation effects and function transformations, useful for teaching function graph plotting and transformations.
GeoGebra Commands & Parameters
Vector(K, Z_1) → b_1Translate(K, b_1) → K'Rotate(K' + (0.5, 0), (F5(a) * 360°), K') → V_2Intersect(xAxis, yAxis) → ARoot(q, 0.62) → GRotate(C + (0.5, 0), (F1(a) * 360°), C) → DPoint(yAxis) → EVector(A, E) → uPoint(xAxis) → FVector(A, F) → vPoint(yAxis) → HPoint(yAxis) → IVector(H, I) → wVector(H, J) → bRotate(K + (0.5, 0), (F2(a) * 360°), K) → LPoint(xAxis) → MPoint(xAxis) → NVector(M, N) → cVector(M, O) → dVector(P, Q) → eVector(P, R) → iRotate(S + (0.5, 0), (F3(a) * 360°), S) → URotate(T + (0.5, 0), (F4(a) * 360°), T) → VSegment(C, D) → jSegment(K, L) → kSegment(S, U) → lSegment(T, V) → mCircle(C, D) → c_1Circle(S, U) → d_1Circle(T, V) → e_1Circle(K, L) → k_1Point(xAxis) → C_1Segment(C_1, D_1) → nSequence(C_1 + (F1(k) * (D_1 - C_1)), k, 0, a, 0.05) → l1Sequence(Rotate[C + (0.5, 0), (F1(k) * 360°), C], k, 0, a, 0.025) → l2Sequence(Rotate[K + (0.5, 0), (F2(k) * 360°), K], k, 0, a, 0.025) → l3Segment(F_1, G_1) → i_1Sequence(F_1 + (F2(k) * (G_1 - F_1)), k, 0, a, 0.05) → l4Sequence(Rotate[S + (0.5, 0), (F3(k) * 360°), S], k, 0, a, 0.025) → l5Segment(I_1, J_1) → j_1Sequence(I_1 + (F3(k) * (J_1 - I_1)), k, 0, a, 0.05) → l6Sequence(Rotate[Segment[S, S + (0.5, 0)], (F3(k) * 360°), S], k, 0, a, 0.025) → l7Sequence(Rotate[T + (0.5, 0), (F4(k) * 360°), T], k, 0, a, 0.025) → l8Sequence(CircleSector[S, S + (0.5, 0), Rotate[S + (0.5, 0), (F3(k) * 360°), S]], k, 0, a, 0.025) → l9Point(yAxis) → L_1Point(yAxis) → M_1Vector(L_1, M_1) → u_1Vector(L_1, N_1) → v_1Vector(O_1, P_1) → w_1Vector(O_1, Q_1) → a_1Translate(k_1, b_1) → c_2Translate(F_1, b_1) → T_1Translate(G_1, b_1) → U_1Segment(T_1, U_1) → l_1Translate(K, b_1) → K'_1Segment(K'_1, V_1) → k'Sequence(T_1 + (F5(k) * (U_1 - T_1)), k, 0, a, 0.05) → l10Translate(k_1, m_1) → d_2Translate(K, m_1) → K'_2Rotate(K'_2 + (0.5, 0), (F6(a) * 360°), K'_2) → L'Segment(K'_2, L') → k'_1Translate(F_1, m_1) → B_2Translate(G_1, m_1) → C_2Segment(B_2, C_2) → n_1Sequence(B_2 + (F6(k) * (C_2 - B_2)), k, 0, a, 0.05) → l4'Sequence(Rotate[K'_2 + (0.5, 0), (F6(k) * 360°), K'_2], k, 0, a, 0.025) → l3'_1Sequence(Rotate[K' + (0.5, 0), (F5(k) * 360°), K'], k, 0, a, 0.025) → l3'Translate(I_1, u_2) → G_2Translate(J_1, u_2) → H_2Segment(G_2, H_2) → i_2Sequence(G_2 + (F4(k) * (H_2 - G_2)), k, 0, a, 0.05) → l6'Sequence(Polygon[(0, 0), (0.3, 0), (0.3, (Element[LF, k] * a)), (0, (Element[LF, k] * a))], k, 1, Length[LF]) → l11Translate(Polygon[(0, 0), (0.3, 0), (0.3, F1(a)), (0, F1(a))], (3, 0)) → q1Translate(Polygon[(0, 0), (0.3, 0), (0.3, F2(a)), (0, F2(a))], (3, -2)) → q2Translate(Polygon[(0, 0), (0.3, 0), (0.3, F3(a)), (0, F3(a))], (7, 0)) → q3Translate(Polygon[(0, 0), (0.3, 0), (0.3, F4(a)), (0, F4(a))], (7, -2)) → q4Translate(Polygon[(0, 0), (0.3, 0), (0.3, F5(a)), (0, F5(a))], (7, -4)) → q5Translate(Polygon[(0, 0), (0.3, 0), (0.3, F6(a)), (0, F6(a))], (3, -4)) → q6Translate(Polygon[(0, 0), (0.3, 0), (0.3, 1), (0, 1)], (3, 0)) → q7Translate(Polygon[(0, 0), (0.3, 0), (0.3, 1), (0, 1)], (7, 0)) → q8Translate(Polygon[(0, 0), (0.3, 0), (0.3, 1), (0, 1)], (7, -2)) → q9Translate(Polygon[(0, 0), (0.3, 0), (0.3, 1), (0, 1)], (7, -4)) → q10Translate(Polygon[(0, 0), (0.3, 0), (0.3, 1), (0, 1)], (3, -2)) → q11Translate(Polygon[(0, 0), (0.3, 0), (0.3, 1), (0, 1)], (3, -4)) → q12