Demonstrating Area of Parallelograms

Demonstrating Area of Parallelograms
Loading the math board and drawing, please wait…
2019-02-15 12:56
This example visually demonstrates how the area of a parallelogram is calculated by dynamically showing the relationship between base length, height, and area. Key math concepts include parallelogram properties, area formulas, vector operations, and coordinate geometry. It uses commands like Point, Intersect, Vector, Rotate, and Midpoint to create an interactive model. Suitable for middle school and high school geometry instruction, helping students grasp area derivation and geometric transformations.

GeoGebra Commands & Parameters

  1. If(t ≥ 0 ∧ t ≤ 1, t, 1) → t1
  2. Point(xAxis) → I
  3. Point(Ray[(0, 0), (1, 0)]) → E
  4. Point(Ray[(-1, 0), (-2, 0)]) → C
  5. Intersect(xAxis, yAxis) → B
  6. Vector(B - (0, 1), E - (0, 1)) → w
  7. Point(Ray[(x(I), 1), (x(I), 2)]) → J
  8. Ray((-0.01, y(J)), (-1, y(J))) → k
  9. Point(k) → A
  10. Translate(A, Vector[C]) → D
  11. If(floor(abs(x(D)) / base) ≟ abs(x(D)) / base, false, true) → more
  12. If(more, n + 1, n) → n'
  13. Segment(A, B) → a
  14. Segment(B, C) → b
  15. Segment(C, D) → c
  16. Segment(D, A) → d
  17. Slope(a) → m
  18. Sequence((((i + 1) * x(C)), ((m * x(C)) * i)), i, 0, n) → list1
  19. Segment(E, F) → e
  20. Segment(F, G) → f
  21. Segment(G, H) → g
  22. Segment(H, E) → h
  23. Sequence(((i * x(C)), ((m * x(C)) * i)), i, 1, n) → list2
  24. Segment(J, A) → i
  25. Segment(I, B) → j
  26. Rotate(J, 90°, I) → J'
  27. Vector(I, J) → u
  28. Vector(J, I) → v
  29. Midpoint(I, J) → K
  30. Midpoint(b) → L
  31. Angle(J, I, Translate[I, Vector[If[x(I) > x(C), Vector[C], Vector[(-C)]]]]) → α
  32. Segment(I, J) → h_1
  33. Sequence(Polygon[Element[list1, i], Element[list2, i], Element[list2, i + 1], Element[list1, i + 1]], i, 1, n - 1) → l_{11}
  34. Vector(C - (0, 1), B - (0, 1)) → s
  35. Sequence(Polygon[D, A, Element[list2, i], Element[list1, i]], i, 1, n) → l1'
  36. If(t < 1, 0, If[t ≥ 1 ∧ t ≤ 2, t - 1, 1]) → t2
  37. If(t < 2, 0, If[t ≥ 2 ∧ t ≤ 3, t - 2, 1]) → t3
  38. If(t < 3, 0, If[t ≥ 3 ∧ t ≤ 4, t - 3, 1]) → t4
  39. If(t < 4, 0, If[t ≥ 4 ∧ t ≤ 5, t - 4, 1]) → t5
  40. Union(l_{11}, l_{12}) → l1
  41. RemoveUndefined(Union[l0, l1]) → listp
  42. Sequence(Translate[Element[listp, i], Vector[(If[t ≥ 0 ∧ t ≤ 1, t, 1] * w) + (If[t ≤ 1, 0, t > 1 ∧ t ≤ i, t - 1, i - 1] * s)]], i, 1, n' + If[¬more, 1, 0]) → movedlistp
  43. Union(list1, {D}) → list1'
  44. Union(Sequence[((i * x(C)), ((m * x(C)) * i)), i, 0, n], {A}) → list2'
  45. Sequence(Segment[Element[list1', i], Element[list1', i + 1]], i, 1, n') → lists1
  46. Sequence(Translate[Element[lists1, i], Vector[(If[t ≥ 0 ∧ t ≤ 1, t, 1] * w) + (If[t ≤ 1, 0, t > 1 ∧ t ≤ i + 1, t - 1, i] * s)]], i, 1, n' + If[¬more, 1, 0]) → movedlists1
  47. Sequence(Segment[Element[list2', i], Element[list2', i + 1]], i, 1, n') → lists2
  48. Sequence(Translate[Element[lists2, i], Vector[(If[t ≥ 0 ∧ t ≤ 1, t, 1] * w) + (If[t ≤ 1, 0, t > 1 ∧ t ≤ i, t - 1, i - 1] * s)]], i, 1, n' + If[¬more, 1, 0]) → movedlists2
  49. Union(Sequence[(x(F), ((m * x(C)) * i)), i, 0, n], {G}) → list3
  50. Sequence(Segment[Element[list3, i], Element[list3, i + 1]], i, 1, n') → lists3
  51. Sequence(Translate[Element[lists3, i], Vector[(If[t ≤ i, 0, If[t ≥ i ∧ t < i + 1, t - i, 1]] * s)]], i, 1, n') → movedlists3
  52. Translate(D, Vector[(If[t < 1, t, 1] * w) + (If[t < 1, 0, t - 1] * s)]) → D'
  53. Vector(N, O) → l
  54. Vector(O, N) → p