Visualizing the Sum of Triangular Numbers

Visualizing the Sum of Triangular Numbers
Loading the math board and drawing, please wait…
2018-04-09 13:11
① This GeoGebra example dynamically illustrates the accumulation of triangular numbers (1, 3, 6, 10, ...) by representing each as layered triangular dot patterns or rectangular bars, making the summation process visually intuitive. ② Core mathematical concepts include triangular numbers (figurate numbers), arithmetic series summation, integer sequences, and the correspondence between polygon areas and point counts, with extensions to binomial coefficients in combinatorics. ③ Construction highlights: The Polygon command creates base triangles, Sequence generates multiple layers, Rotate and Flatten transform the triangular arrangement into rectangular areas, and numerous text objects (text1 to text18) label values and formulas, with Export commands for final output. ④ Suitable for middle and high school mathematics (grades 7-12) when teaching sequences and geometric representations, as well as for pre-college or math outreach to bridge visual patterns and algebraic formulas.

GeoGebra Commands & Parameters

  1. Polygon((0, 0), (1, 0), 4) → p1
  2. Flatten(Sequence[Sequence[Translate[p1, Vector[(i, j)]], j, 0, i - 1, 1], i, 1, 2, 1]) → l1
  3. Rotate(l1, π, (2, 1.5)) → l1a
  4. Rotate(p1, π, (0.5, 1)) → p1a
  5. Flatten(Sequence[Sequence[Translate[p1, Vector[(i + 2, j)]], j, 0, i - 1, 1], i, 1, 3, 1]) → l2
  6. Rotate(l2, π, (4.5, 2)) → l2a
  7. Flatten(Sequence[Sequence[Translate[p1, Vector[(i + 5, j)]], j, 0, i - 1, 1], i, 1, 4, 1]) → l3
  8. Rotate(l3, π, (8, 2.5)) → l3a
  9. Flatten(Sequence[Sequence[Translate[p1, Vector[(i + 9, j)]], j, 0, i - 1, 1], i, 1, 5, 1]) → l4
  10. Rotate(l4, π, (12.5, 3)) → l4a
  11. Flatten(Sequence[Sequence[Translate[p1, Vector[(i + 14, j)]], j, 0, i - 1, 1], i, 1, 6, 1]) → l5
  12. Rotate(l5, π, (18, 3.5)) → l5a
  13. Flatten(Sequence[Sequence[Translate[p1, Vector[(i + 20, j)]], j, 0, i - 1, 1], i, 1, 7, 1]) → l6
  14. Rotate(l6, π, (24.5, 4)) → l6a
  15. Sequence(Polygon[(0, 2 + i), (((i + 1) * (i + 2) / 2), 2 + i), (((i + 1) * (i + 2) / 2), 2 + i + 1), (0, 2 + i + 1)], i, 0, 6, 1) → rects