平行四边形的面积演示

平行四边形的面积演示
几何画板及绘图内容加载中,请稍等……
2019-02-15 12:56
①本范例演示平行四边形面积的计算方法,通过动态演示底边长度和高的变化影响面积;②涉及核心概念包括平行四边形性质、面积公式、向量运算、坐标几何;③构造中运用了点、向量、线段、旋转、中点等命令,实现动态作图与参数化调整;④适合初中及以上数学教学,用于直观理解面积公式推导与几何变换应用。

GeoGebra 命令及参数

  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