Introduction to Completing the Square by Tim Brzezinski

Introduction to Completing the Square by Tim Brzezinski
Loading the math board and drawing, please wait…
2017-04-30 07:27
This example demonstrates the application of completing the square in quadratic functions through dynamic geometry, visually presenting the process of geometric completion. Key math concepts include quadratic functions, difference of squares, geometric补形, and area transformation. GeoGebra commands and objects like Segment, Polygon, Sequence, Point, Dilate, Rotate, Vector, Translate, Distance, and Textfield are used to simulate the completion process dynamically. Suitable for high school mathematics education, helping students understand the geometric meaning and algebraic derivation of completing the square, enhancing spatial reasoning skills.

GeoGebra Commands & Parameters

  1. Segment(A, B) → f
  2. Segment(D, C) → h
  3. Segment(C, A) → i
  4. Polygon(A, B, D, C) → poly1, a_1, b_1, d, c
  5. Sequence((a + i, 0), i, 0, abs(b / 2), 1) → bottoms
  6. Sequence((a + i, a), i, 0, abs(b / 2), 1) → tops
  7. Sequence((0, a + i), i, 0, abs(b / 2), 1) → lefts
  8. Sequence((a, a + i), i, 0, abs(b / 2), 1) → rights
  9. Sequence(Dilate[Element[bottoms, i], If[0 < g ≤ 1, 1 - g, 0], Element[tops, i]], i, 0, abs(b / 2) + 1, 1) → bottomsmove
  10. Sequence(Dilate[Element[lefts, i], If[1 < g ≤ 2, 2 - g, 0], Element[rights, i]], i, 0, abs(b / 2) + 1, 1) → leftsmove
  11. Point(bottomsmove) → E
  12. Segment(B, E) → j
  13. Dilate(C, If[1 < g ≤ 2, 2 - g, 0], D) → C'
  14. Segment(C, C') → k
  15. Polygon(D, H, F, G) → poly2, d_1, h_1, f_1, g_1
  16. Dilate(H, If[2 < g ≤ 3, 3 - g, 0], F) → H'
  17. Dilate(G, If[2 < g ≤ 3, 3 - g, 0], F) → G'
  18. Dilate(I, If[2 < g ≤ 3, 3 - g, 0], A) → I'
  19. Segment(I, I') → l
  20. Rotate(I, If[3 < g ≤ 4, ((-(g - 3)) * π / 2), ((-π)) / 2], A) → I'_1
  21. Rotate(I', If[3 < g ≤ 4, ((-(g - 3)) * π / 2), ((-π)) / 2], A) → I''
  22. Segment(I'_1, I'') → l'
  23. Rotate(I'_1, If[4 < g ≤ 5, ((-(g - 4)) * π / 2), ((-π)) / 2], I'_1) → J
  24. Rotate(I'', If[4 < g ≤ 5, ((-(g - 4)) * π / 2), ((-π)) / 2], I'_1) → I'''
  25. Segment(J, I''') → l''
  26. Dilate(A, If[5 < g ≤ 6, 6 - g, 0], I) → A'
  27. Vector(A, A') → u
  28. Translate(I'_1, u) → K
  29. Translate(I'', u) → I'''_1
  30. Segment(K, I'''_1) → l''_1
  31. Sequence(Segment[Element[bottoms, i + 1], Element[bottomsmove, i + 2]], i, 1, abs(b / 2), 1) → list1
  32. Sequence(Segment[Element[lefts, i + 1], Element[leftsmove, i + 2]], i, 1, abs(b / 2), 1) → list2
  33. Sequence(Polygon[Element[bottoms, i], Element[bottoms, i + 1], Element[tops, i + 1], Element[tops, i]], i, 1, abs(b / 2), 1) → list3
  34. Sequence(Polygon[Element[lefts, i], Element[lefts, i + 1], Element[rights, i + 1], Element[rights, i]], i, 1, abs(b / 2), 1) → list4
  35. Distance(D, F) → distanceDF
  36. Textfield(b) → InputBox1