Explore Areas of Parallelograms

Explore Areas of Parallelograms
Loading the math board and drawing, please wait…
2020-02-06 15:59
This GeoGebra example explores the areas of parallelograms of different shapes, including skewed ones. Key mathematical concepts include geometric construction and area calculation. Using commands like Point, Ray, Translate, If, Intersect, Segment, Slope, Sequence, Rotate, Vector, Midpoint, Angle, users can dynamically explore the properties of parallelograms. Suitable for middle school and above students learning geometry and area calculation.

GeoGebra Commands & Parameters

  1. Point(xAxis) → I
  2. Point(Ray[(x(I), 0), (x(I), 1)]) → J
  3. Ray((-0.01, y(J)), (-1, y(J))) → k
  4. Point(xAxis) → C
  5. Point(k) → A
  6. Translate(A, Vector[C]) → D
  7. If(floor(abs(x(D)) / base) ≟ abs(x(D)) / base, false, true) → more
  8. If(more, n + 1, n) → n'
  9. Intersect(xAxis, yAxis) → B
  10. Segment(A, B) → a
  11. Segment(B, C) → b
  12. Segment(C, D) → c
  13. Segment(D, A) → d
  14. Slope(a) → m
  15. Sequence(((i + 1) * x(C), m * x(C) * i), i, 0, n) → list1
  16. Point(Ray[(0, 0), (1, 0)]) → E
  17. Segment(E, F) → e
  18. Segment(F, G) → f
  19. Segment(G, H) → g
  20. Segment(H, E) → h
  21. Sequence((i * x(C), m * x(C) * i), i, 0, n) → list2
  22. Sequence(Polygon[Element[list2, i], Element[list1, i], Element[list2, i + 1]], i, 1, n) → list3
  23. Sequence(If[t < i, 0, If[t < i + 1, t - i, 1]], i, 0, n' - 1) → list_t
  24. Sequence(Polygon[Element[list1, i], Element[list2, i + 1], Element[list1, i + 1]], i, 1, n) → list4
  25. Sequence(Translate[Element[list3, i], Vector[(0, 0), (2 * Min[Element[list_t, i], 0.5] * (x(E) - (i - 1) * x(C)), 0)]], i, 1, n) → list5
  26. Sequence(Translate[Translate[Element[list4, i], Vector[(0, 0), (2 * Min[Element[list_t, i], 0.5] * (x(E) - (i - 1) * x(C)), 0)]], Vector[(0, 0), (2 * Max[Element[list_t, i] - 0.5, 0] * base, 0)]], i, 1, n) → list6
  27. If(more, Polygon[A, (n' * x(C), y(A)), Element[list1, n'], Element[list2, n']]) → last1
  28. If(more, Polygon[D, (n' * x(C), y(A)), Element[list1, n']]) → last2
  29. If(more, Translate[last1, Vector[(2 * Min[Element[list_t, n'], 0.5] * (n * base + x(E)), 0)]]) → last1'
  30. If(more, Translate[Translate[last2, Vector[(2 * Min[Element[list_t, n'], 0.5] * (n * base + x(E)), 0)]], Vector[(2 * Max[Element[list_t, n'] - 0.5, 0] * base, 0)]]) → last2'
  31. Segment(J, A) → i
  32. Segment(I, B) → j
  33. Rotate(J, 90*°, I) → J'
  34. Vector(I, J) → u
  35. Vector(J, I) → v
  36. Midpoint(I, J) → K
  37. Midpoint(b) → L
  38. Angle(J, I, Translate[I, Vector[If[x(I) > x(C), Vector[C], Vector[-C]]]]) → α
  39. Sequence(Segment[(0 + i, ymax), (0 + i, ymin)], i, 0, ceil(xmax)) → list7_1
  40. Sequence(Segment[(-i, ymax), (0 - i, ymin)], i, 1, ceil(abs(xmin))) → list7_2
  41. Sequence(Segment[(xmin, -i), (xmax, -i)], i, 1, ceil(abs(ymin))) → list8_2
  42. Sequence(Segment[(xmin, i), (xmax, i)], i, 0, ceil(ymax)) → list8_1
  43. Segment(I, J) → r