多边形面积计算与代数表达式应用

多边形面积计算与代数表达式应用
几何画板及绘图内容加载中,请稍等……
2024-06-26 16:55
该范例演示了如何通过几何图形计算面积,并结合代数表达式进行问题解决。核心数学概念包括面积公式、代数展开与化简。作图要点涉及使用GeoGebra命令如Point、Segment、Join等来构造多边形图形。适合小学高年级(7-8年级)学生,用于培养几何与代数结合的数学能力。

GeoGebra 命令及参数

  1. Point(Line[Zettel1a, xAxis]) → Zettel2a
  2. Sequence(Zettel2a + (m * (0, (-zettelsize))), m, 0, 50) → listZettel2c
  3. Point(listZettel2c) → Zettel2d
  4. Sequence(Zettel1a + (m * (zettelsize, 0)), m, 0, 50) → listZettel1b
  5. Point(listZettel1b) → Zettel1b
  6. Point(Segment[Zettel2a, Zettel2PEnde]) → Zettel2P
  7. Sequence(Zettel1a + (m * (0, (-zettelsize))), m, 0, 50) → listZettel1c
  8. Point(listZettel1c) → Zettel1d
  9. Sequence(Zettel2a + (m * (zettelsize, 0)), m, 0, 50) → listZettel2b
  10. If(step < 5, 1, If[step < 8, 2, 3]) → exnum
  11. Flatten(Sequence[Sequence[P1 + (m * (size, 0)) + (j * (0, size)), m, 2, 9], j, 2, 5]) → listPoints1
  12. Point(listPoints1) → P2c
  13. Element({P2a, P2b, P2c}, exnum) → P2
  14. KeepIf(x(P) < x(P2c) ∧ y(P) < y(P2c), P, Flatten[Sequence[Sequence[P1 + (m * (size, 0)) + (j * (0, size)), m, 1, 8], j, 1, 4]]) → listPoints3
  15. Point(listPoints3) → P3c
  16. Flatten(Sequence[Sequence[P1 + (m * (size, 0)) + (j * (0, size)), m, 1, 6], j, 1, 3]) → listPoints2
  17. Point(listPoints2) → P3b
  18. Element({P3a, P3b, P3c}, exnum) → P3
  19. Segment(P2 + (streckenabs, 0), (x(P2) + streckenabs, y(P3))) → s4
  20. Segment((x(P2) + streckenabs, y(P3)), (x(P2) + streckenabs, y(P1))) → s3
  21. Segment((x(P3), y(P1) - streckenabs), (x(P2), y(P1) - streckenabs)) → s2
  22. Segment(P1 + (0, (-streckenabs)), (x(P3), y(P1) - streckenabs)) → s1
  23. UnicodeToText(Remove[TextToUnicode[input19], Sequence[32, m, 1, 100]]) → input19clean
  24. UnicodeToText(Remove[TextToUnicode[input20], Sequence[32, m, 1, 100]]) → input20clean
  25. Textfield(input1) → Eingabefeld1
  26. Textfield(input2) → Eingabefeld2
  27. Point(Line[Tr1, xAxis]) → Tr2
  28. Segment(P1 + (0, (-3 * streckenabs)), (x(P2), y(P1) - (3 * streckenabs))) → s5
  29. Segment((x(P2) + (4.5 * streckenabs), y(P2)), (x(P2) + (4.5 * streckenabs), y(P1))) → s6
  30. SelectedIndex(DropDown15) → input15
  31. Textfield(input4) → Eingabefeld4
  32. Textfield(input5) → Eingabefeld5
  33. Textfield(input6) → Eingabefeld6
  34. Textfield(input7) → Eingabefeld7
  35. Textfield(input8) → Eingabefeld8
  36. Textfield(input9) → Eingabefeld9
  37. Textfield(input10) → Eingabefeld10
  38. Textfield(input11) → Eingabefeld11
  39. Textfield(input12) → Eingabefeld12
  40. Textfield(input13) → Eingabefeld13
  41. Textfield(input14) → Eingabefeld14
  42. Textfield(input16) → Eingabefeld16
  43. Textfield(input17) → Eingabefeld17
  44. Textfield(input3) → Eingabefeld3
  45. Segment((x(P1), y(P2)) + (0, streckenabs), (x(P3), y(P2) + streckenabs)) → s1b
  46. Segment((x(P3), y(P2) + streckenabs), (x(P2), y(P2) + streckenabs)) → s2b
  47. Segment((x(P1), y(P2)) + ((-streckenabs), 0), (x(P1) - streckenabs, y(P3))) → s4b
  48. Segment((x(P1) - streckenabs, y(P3)), (x(P1) - streckenabs, y(P1))) → s3b
  49. Rotate(Segment[ArrowCentera + (ArrowDistance, 0), ArrowCentera + (ArrowDistance + ArrowLength, 0)], ArrowAngle + ((1 - 1) * (360°) / ArrowNumber), ArrowCentera) → arrow1a
  50. Rotate(Segment[ArrowCentera + (ArrowDistance, 0), ArrowCentera + (ArrowDistance + ArrowLength, 0)], ArrowAngle + ((2 - 1) * (360°) / ArrowNumber), ArrowCentera) → arrow2a
  51. Rotate(Segment[ArrowCentera + (ArrowDistance, 0), ArrowCentera + (ArrowDistance + ArrowLength, 0)], ArrowAngle + ((3 - 1) * (360°) / ArrowNumber), ArrowCentera) → arrow3a
  52. Rotate(Segment[ArrowCentera + (ArrowDistance, 0), ArrowCentera + (ArrowDistance + ArrowLength, 0)], ArrowAngle + ((4 - 1) * (360°) / ArrowNumber), ArrowCentera) → arrow4a
  53. Rotate(Segment[ArrowCenterb + (ArrowDistance, 0), ArrowCenterb + (ArrowDistance + ArrowLength, 0)], ArrowAngle + ((1 - 1) * (360°) / ArrowNumber), ArrowCenterb) → arrow1b
  54. Rotate(Segment[ArrowCenterc + (ArrowDistance, 0), ArrowCenterc + (ArrowDistance + ArrowLength, 0)], ArrowAngle + ((1 - 1) * (360°) / ArrowNumber), ArrowCenterc) → arrow1c
  55. Rotate(Segment[ArrowCenterb + (ArrowDistance, 0), ArrowCenterb + (ArrowDistance + ArrowLength, 0)], ArrowAngle + ((2 - 1) * (360°) / ArrowNumber), ArrowCenterb) → arrow2b
  56. Rotate(Segment[ArrowCenterb + (ArrowDistance, 0), ArrowCenterb + (ArrowDistance + ArrowLength, 0)], ArrowAngle + ((3 - 1) * (360°) / ArrowNumber), ArrowCenterb) → arrow3b
  57. Rotate(Segment[ArrowCenterb + (ArrowDistance, 0), ArrowCenterb + (ArrowDistance + ArrowLength, 0)], ArrowAngle + ((4 - 1) * (360°) / ArrowNumber), ArrowCenterb) → arrow4b
  58. Rotate(Segment[ArrowCenterc + (ArrowDistance, 0), ArrowCenterc + (ArrowDistance + ArrowLength, 0)], ArrowAngle + ((2 - 1) * (360°) / ArrowNumber), ArrowCenterc) → arrow2c
  59. Rotate(Segment[ArrowCenterc + (ArrowDistance, 0), ArrowCenterc + (ArrowDistance + ArrowLength, 0)], ArrowAngle + ((3 - 1) * (360°) / ArrowNumber), ArrowCenterc) → arrow3c
  60. Rotate(Segment[ArrowCenterc + (ArrowDistance, 0), ArrowCenterc + (ArrowDistance + ArrowLength, 0)], ArrowAngle + ((4 - 1) * (360°) / ArrowNumber), ArrowCenterc) → arrow4c
  61. Segment((x(P2) + (3 * streckenabs), y(P2)), (x(P2) + (3 * streckenabs), y(P1))) → s6b
  62. Element(Last[listPoints3], 1) → P3cLetztes
  63. Point(Flatten[Sequence[Sequence[P1 + (m * (size, 0)) + (j * (0, size)), m, 1, 9], j, 1, 5]]) → P3cHelp
  64. Midpoint(P1, P3) → M1
  65. Midpoint(P2, P3) → M2
  66. Midpoint((x(P1), y(P2)), P3) → M3
  67. Midpoint((x(P2), y(P1)), P3) → M4
  68. Sequence(Pos2 + (5.7, -0.1) + (m * (0, -1)), m, 0, 2) → listPSol2
  69. Sequence(Pos3 + (2, -1.1) + (m * (0, -0.9)), m, 0, 2) → listPSol3
  70. If((¬correct1) ∨ (¬correct2), listPSol2(1), If[(¬correct3) ∨ (¬correct4), listPSol2(2), listPSol2(3)]) → PSol2
  71. If((¬correct6) ∨ (¬correct7), listPSol3(1), If[(¬correct8) ∨ (¬correct9) ∨ (¬correct10) ∨ (¬correct11), listPSol3(2), listPSol3(2)]) → PSol3
  72. Point(listZettel1c) → Zettel1c
  73. Join({Zip[Segment[A, (x(Zettel1b), y(A))], A, Sequence[Zettel1a + (m * (0, (-zettelsize))), m, 0, Distance[Zettel1c, Zettel1a] / zettelsize]], Zip[Segment[B, (x(B), y(Zettel1c))], B, Sequence[Zettel1a + (m * (zettelsize, 0)), m, 0, Distance[Zettel1b, Zettel1a] / zettelsize]]}) → zettel1
  74. Point(listZettel2b) → Zettel2b
  75. Point(listZettel2c) → Zettel2c
  76. Join({Zip[Segment[A, (x(Zettel2b), y(A))], A, Sequence[Zettel2a + (m * (0, (-zettelsize))), m, 0, Distance[Zettel2c, Zettel2a] / zettelsize]], Zip[Segment[B, (x(B), y(Zettel2c))], B, Sequence[Zettel2a + (m * (zettelsize, 0)), m, 0, Distance[Zettel2b, Zettel2a] / zettelsize]]}) → zettel2
  77. Point(Line[K1a, xAxis]) → K2a
  78. Point(Line[K1a, xAxis]) → K3a
  79. Point(Line[K1a, xAxis]) → K4a
  80. Point(Line[K1b, xAxis]) → K2b
  81. Point(Line[K1b, xAxis]) → K4b
  82. Point(Line[K1b, xAxis]) → K3b
  83. Sequence(Pos7 + (0.09, 0.05) + (m * (kasterlx + kasterlabs, 0)), m, 0, 3) → listKasterlPoints2
  84. Sequence(Pos10 + (4.2, -1.73) + (m * (kasterlx + kasterlabs3, 0)), m, 0, 3) → listKasterlPoints3
  85. If(step < 9, Zettel2a + (4.5, -3.3), Zettel2a + (4, -2.2)) → PosText18
  86. Sequence(Zettel1a + ((m * zettelsize), 0) + ((0.5 * zettelsize), ((-(abstandzettel1 + 0.5)) * zettelsize)), m, 0, Distance[Zettel1b, Zettel1a] / zettelsize - 1) → zettel1ZackenPoints2
  87. Sequence(Zettel1a + ((m * zettelsize), 0) + (0, ((-abstandzettel1) * zettelsize)), m, 0, Distance[Zettel1b, Zettel1a] / zettelsize) → zettel1ZackenPoints1
  88. Join({Zip[Segment[A, (x(Zettel1b), y(A))], A, Sequence[Zettel1d + (m * (0, (-zettelsize))), m, 1, Distance[Zettel1c, Zettel1d] / zettelsize]], Zip[Segment[B, (x(B), y(Zettel1c))], B, Sequence[Zettel1d + (m * (zettelsize, 0)), m, 0, Distance[Zettel1b, Zettel1d] / zettelsize]]}) → zettel1unten
  89. Point(Segment[Zettel1a, Zettel1PEnde]) → Zettel1P
  90. Join({Zip[Segment[A, A + ((11 * zettelsize), 0)], A, Sequence[Zettel1P + (m * (0, (-zettelsize))), m, 0, abstandzettel1]], Zip[Segment[B, B + (0, ((-abstandzettel1) * zettelsize))], B, Sequence[Zettel1P + (m * (zettelsize, 0)), m, 0, 11]]}) → zettel1oben
  91. Translate({PolyLine[Sort[Join[{zettel1ZackenPoints1, zettel1ZackenPoints2}]]]}, Vector[Zettel1a, Zettel1P]) → zettelZacken1oben
  92. Join({Zip[Segment[A, A + ((15 * zettelsize), 0)], A, Sequence[Zettel2P + (m * (0, (-zettelsize))), m, 0, abstandzettel2]], Zip[Segment[B, B + (0, ((-abstandzettel2) * zettelsize))], B, Sequence[Zettel2P + (m * (zettelsize, 0)), m, 0, 15]]}) → zettel2oben
  93. Join({Zip[Segment[A, (x(Zettel2b), y(A))], A, Sequence[Zettel2d + (m * (0, (-zettelsize))), m, 1, Distance[Zettel2c, Zettel2d] / zettelsize]], Zip[Segment[B, (x(B), y(Zettel2c))], B, Sequence[Zettel2d + (m * (zettelsize, 0)), m, 0, Distance[Zettel2b, Zettel2d] / zettelsize]]}) → zettel2unten
  94. Sequence(Zettel2a + ((m * zettelsize), 0) + (0, ((-abstandzettel2) * zettelsize)), m, 0, Distance[Zettel2b, Zettel2a] / zettelsize) → zettel2ZackenPoints1
  95. Sequence(Zettel2a + ((m * zettelsize), 0) + ((0.5 * zettelsize), ((-(abstandzettel2 + 0.5)) * zettelsize)), m, 0, Distance[Zettel2b, Zettel2a] / zettelsize - 1) → zettel2ZackenPoints2
  96. Translate({PolyLine[Sort[Join[{zettel2ZackenPoints1, zettel2ZackenPoints2}]]]}, Vector[Zettel2a, Zettel2P]) → zettelZacken2oben
  97. Join({Sequence[Segment[Corner[4] + (RasterPixMat * ((k * RasterStepXY), 0)), Corner[4] + (RasterPixMat * ((k * RasterStepXY), RasterMaxY))], k, 0, RasterMaxX / RasterStepXY], Sequence[Segment[Corner[4] + (RasterPixMat * (0, (k * RasterStepXY))), Corner[4] + (RasterPixMat * (RasterMaxX, (k * RasterStepXY)))], k, 0, RasterMaxY / RasterStepXY]}) → RasterStrecken
  98. Join({Sequence[Segment[Corner[4] + (RasterPixMat * ((k * RasterStepXY), 0)), Corner[4] + (RasterPixMat * ((k * RasterStepXY), RasterMaxY))], k, RasterMaxX / RasterStepXY, RasterMaxX / RasterStepXY], Sequence[Segment[Corner[4] + (RasterPixMat * (0, (k * RasterStepXY))), Corner[4] + (RasterPixMat * (RasterMaxX, (k * RasterStepXY)))], k, RasterMaxY / RasterStepXY, RasterMaxY / RasterStepXY]}) → RasterAussen
  99. If(correct16, Pos3 + (2.2, -0.65), Pos2 + (2.2, -1.15)) → PSol9