Easing Functions Animation Demo

Easing Functions Animation Demo
Loading the math board and drawing, please wait…
2020-05-01 19:50
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

  1. Vector(K, Z_1) → b_1
  2. Translate(K, b_1) → K'
  3. Rotate(K' + (0.5, 0), (F5(a) * 360°), K') → V_2
  4. Intersect(xAxis, yAxis) → A
  5. Root(q, 0.62) → G
  6. Rotate(C + (0.5, 0), (F1(a) * 360°), C) → D
  7. Point(yAxis) → E
  8. Vector(A, E) → u
  9. Point(xAxis) → F
  10. Vector(A, F) → v
  11. Point(yAxis) → H
  12. Point(yAxis) → I
  13. Vector(H, I) → w
  14. Vector(H, J) → b
  15. Rotate(K + (0.5, 0), (F2(a) * 360°), K) → L
  16. Point(xAxis) → M
  17. Point(xAxis) → N
  18. Vector(M, N) → c
  19. Vector(M, O) → d
  20. Vector(P, Q) → e
  21. Vector(P, R) → i
  22. Rotate(S + (0.5, 0), (F3(a) * 360°), S) → U
  23. Rotate(T + (0.5, 0), (F4(a) * 360°), T) → V
  24. Segment(C, D) → j
  25. Segment(K, L) → k
  26. Segment(S, U) → l
  27. Segment(T, V) → m
  28. Circle(C, D) → c_1
  29. Circle(S, U) → d_1
  30. Circle(T, V) → e_1
  31. Circle(K, L) → k_1
  32. Point(xAxis) → C_1
  33. Segment(C_1, D_1) → n
  34. Sequence(C_1 + (F1(k) * (D_1 - C_1)), k, 0, a, 0.05) → l1
  35. Sequence(Rotate[C + (0.5, 0), (F1(k) * 360°), C], k, 0, a, 0.025) → l2
  36. Sequence(Rotate[K + (0.5, 0), (F2(k) * 360°), K], k, 0, a, 0.025) → l3
  37. Segment(F_1, G_1) → i_1
  38. Sequence(F_1 + (F2(k) * (G_1 - F_1)), k, 0, a, 0.05) → l4
  39. Sequence(Rotate[S + (0.5, 0), (F3(k) * 360°), S], k, 0, a, 0.025) → l5
  40. Segment(I_1, J_1) → j_1
  41. Sequence(I_1 + (F3(k) * (J_1 - I_1)), k, 0, a, 0.05) → l6
  42. Sequence(Rotate[Segment[S, S + (0.5, 0)], (F3(k) * 360°), S], k, 0, a, 0.025) → l7
  43. Sequence(Rotate[T + (0.5, 0), (F4(k) * 360°), T], k, 0, a, 0.025) → l8
  44. Sequence(CircleSector[S, S + (0.5, 0), Rotate[S + (0.5, 0), (F3(k) * 360°), S]], k, 0, a, 0.025) → l9
  45. Point(yAxis) → L_1
  46. Point(yAxis) → M_1
  47. Vector(L_1, M_1) → u_1
  48. Vector(L_1, N_1) → v_1
  49. Vector(O_1, P_1) → w_1
  50. Vector(O_1, Q_1) → a_1
  51. Translate(k_1, b_1) → c_2
  52. Translate(F_1, b_1) → T_1
  53. Translate(G_1, b_1) → U_1
  54. Segment(T_1, U_1) → l_1
  55. Translate(K, b_1) → K'_1
  56. Segment(K'_1, V_1) → k'
  57. Sequence(T_1 + (F5(k) * (U_1 - T_1)), k, 0, a, 0.05) → l10
  58. Translate(k_1, m_1) → d_2
  59. Translate(K, m_1) → K'_2
  60. Rotate(K'_2 + (0.5, 0), (F6(a) * 360°), K'_2) → L'
  61. Segment(K'_2, L') → k'_1
  62. Translate(F_1, m_1) → B_2
  63. Translate(G_1, m_1) → C_2
  64. Segment(B_2, C_2) → n_1
  65. Sequence(B_2 + (F6(k) * (C_2 - B_2)), k, 0, a, 0.05) → l4'
  66. Sequence(Rotate[K'_2 + (0.5, 0), (F6(k) * 360°), K'_2], k, 0, a, 0.025) → l3'_1
  67. Sequence(Rotate[K' + (0.5, 0), (F5(k) * 360°), K'], k, 0, a, 0.025) → l3'
  68. Translate(I_1, u_2) → G_2
  69. Translate(J_1, u_2) → H_2
  70. Segment(G_2, H_2) → i_2
  71. Sequence(G_2 + (F4(k) * (H_2 - G_2)), k, 0, a, 0.05) → l6'
  72. Sequence(Polygon[(0, 0), (0.3, 0), (0.3, (Element[LF, k] * a)), (0, (Element[LF, k] * a))], k, 1, Length[LF]) → l11
  73. Translate(Polygon[(0, 0), (0.3, 0), (0.3, F1(a)), (0, F1(a))], (3, 0)) → q1
  74. Translate(Polygon[(0, 0), (0.3, 0), (0.3, F2(a)), (0, F2(a))], (3, -2)) → q2
  75. Translate(Polygon[(0, 0), (0.3, 0), (0.3, F3(a)), (0, F3(a))], (7, 0)) → q3
  76. Translate(Polygon[(0, 0), (0.3, 0), (0.3, F4(a)), (0, F4(a))], (7, -2)) → q4
  77. Translate(Polygon[(0, 0), (0.3, 0), (0.3, F5(a)), (0, F5(a))], (7, -4)) → q5
  78. Translate(Polygon[(0, 0), (0.3, 0), (0.3, F6(a)), (0, F6(a))], (3, -4)) → q6
  79. Translate(Polygon[(0, 0), (0.3, 0), (0.3, 1), (0, 1)], (3, 0)) → q7
  80. Translate(Polygon[(0, 0), (0.3, 0), (0.3, 1), (0, 1)], (7, 0)) → q8
  81. Translate(Polygon[(0, 0), (0.3, 0), (0.3, 1), (0, 1)], (7, -2)) → q9
  82. Translate(Polygon[(0, 0), (0.3, 0), (0.3, 1), (0, 1)], (7, -4)) → q10
  83. Translate(Polygon[(0, 0), (0.3, 0), (0.3, 1), (0, 1)], (3, -2)) → q11
  84. Translate(Polygon[(0, 0), (0.3, 0), (0.3, 1), (0, 1)], (3, -4)) → q12