混合分数边长矩形面积分割

混合分数边长矩形面积分割
几何画板及绘图内容加载中,请稍等……
2023-05-23 19:24
本示例通过分割和计算单位面积来计算具有混合分数边长的矩形面积。使用网格来探索矩形面积与长度和宽度的关系,适合4-5年级学生。涉及GeoGebra命令:滑块动画、分割、最大值、多边形、序列等。

GeoGebra 命令及参数

  1. Shuffle({{2, 2}, {2, 4}, {4, 2}, {2, 6}, {6, 2}, {3, 3}, {3, 6}, {6, 3}, {4, 4}, {5, 5}}) → m1, {{6, 2}, {2, 6}, {2, 4}, {3, 3}, {6, 3}, {5, 5}, {3, 6}, {4, 4}, {4, 2}, {2, 2}}
  2. Shuffle(Sequence[maxInt1]) → integers1, {1, 3, 2}
  3. Shuffle(Sequence[maxInt2]) → integers2, {1, 5, 6, 4, 3, 2}
  4. Element(m1, Mod[example, Length[m1]] + 1) → Denominators
  5. Shuffle(Sequence[den1 - 1]) → numerators1, {1, 3, 4, 2, 5}
  6. Shuffle(Sequence[den2 - 1]) → numerators2, {1}
  7. LCM(Denominators) → comonDen
  8. Max(KeepIf[IsInteger[comonDen^(2) / kk], kk, Sequence[(num1 * comonDen / den1)]]) → hRecBelow
  9. Max(KeepIf[IsInteger[comonDen^(2) / kk], kk, Sequence[(num2 * comonDen / den2)]]) → wRecSide
  10. Polygon({(0, maxInt1 + 1 - int1), (0, maxInt1 + 1 - int1 - (hRecBelow * 1 / comonDen)), (wRecBelow / comonDen, maxInt1 + 1 - int1 - (hRecBelow * 1 / comonDen)), (wRecBelow / comonDen, maxInt1 + 1 - int1)}) → RecBelow
  11. Sequence(Sequence[Translate[RecBelow, Vector[((ii * wRecBelow / comonDen), (jj * ((-hRecBelow)) / comonDen))]], ii, 0, floor((int2 * comonDen / wRecBelow)) - 1], jj, 0, numberOfRowsBelow - 1) → rectanglesBelowTarget, {{}}
  12. Length(Flatten[rectanglesBelowTarget]) → numOfRecBelow
  13. Polygon({(int2, maxInt1 + 1), (int2, maxInt1 + 1 - hRecSide / comonDen), (int2 + wRecSide / comonDen, maxInt1 + 1 - hRecSide / comonDen), (int2 + wRecSide / comonDen, maxInt1 + 1)}) → RecSide
  14. Sequence(Sequence[Translate[RecSide, Vector[((jj * wRecSide / comonDen), (ii * ((-hRecSide)) / comonDen))]], ii, 0, floor((int1 * comonDen / hRecSide)) - 1], jj, 0, numberOfColumnsSide - 1) → rectanglesSideTarget, {{}}
  15. Length(Flatten[rectanglesSideTarget]) → numOfRecSide
  16. Polygon({(0, Max[integers1] + 1), (0, Max[integers1] + 1 - int1 - num1 / den1), (int2 + num2 / den2, Max[integers1] + 1 - int1 - num1 / den1), (int2 + num2 / den2, Max[integers1] + 1)}) → q1
  17. Mod(remainder, comonDen^(2)) → lastSquares
  18. Translate((int2, maxInt1 + 1), Vector[((numberOfColumnsSide * wRecSide / comonDen), (floor((int1 * comonDen / hRecSide)) * ((-hRecSide)) / comonDen))]) → EndPointLZone5
  19. Flatten(Sequence[Sequence[Polygon[EndPointLZone5 + (ii / comonDen, jj / comonDen), EndPointLZone5 + ((ii + 1) / comonDen, jj / comonDen), 4], ii, 0, ((x(EndPointRZone5) - x(EndPointLZone5)) * comonDen) - 1], jj, 0, ((y(EndPointRZone5) - y(EndPointLZone5)) * comonDen) - 1]) → Zone5
  20. Flatten(Sequence[Sequence[Polygon[EndPointLZone4 + (ii / comonDen, jj / comonDen), EndPointLZone4 + ((ii + 1) / comonDen, jj / comonDen), 4], ii, 0, ((x(EndPointRZone4) - x(EndPointLZone4)) * comonDen) - 1], jj, 0, ((y(EndPointRZone4) - y(EndPointLZone4)) * comonDen) - 1]) → Zone4
  21. Flatten(Sequence[Sequence[Polygon[EndPointLZone3 + (ii / comonDen, jj / comonDen), EndPointLZone3 + ((ii + 1) / comonDen, jj / comonDen), 4], ii, 0, ((x(EndPointRZone3) - x(EndPointLZone3)) * comonDen) - 1], jj, 0, ((y(EndPointRZone3) - y(EndPointLZone3)) * comonDen) - 1]) → Zone3
  22. Translate((0, maxInt1 + 1 - int1), Vector[((floor((int2 * comonDen / wRecBelow)) * wRecBelow / comonDen), (numberOfRowsBelow * ((-hRecBelow)) / comonDen))]) → EndPointRZone1
  23. Flatten(Sequence[Sequence[Polygon[EndPointLZone2 + (ii / comonDen, jj / comonDen), EndPointLZone2 + ((ii + 1) / comonDen, jj / comonDen), 4], ii, 0, ((x(EndPointRZone2) - x(EndPointLZone2)) * comonDen) - 1], jj, 0, ((y(EndPointRZone2) - y(EndPointLZone2)) * comonDen) - 1]) → Zone2
  24. Flatten(Sequence[Sequence[Polygon[EndPointLZone1 + (ii / comonDen, jj / comonDen), EndPointLZone1 + ((ii + 1) / comonDen, jj / comonDen), 4], ii, 0, (x(EndPointRZone1) * comonDen) - 1], jj, 0, ((y(EndPointRZone1) - y(EndPointLZone1)) * comonDen) - 1]) → Zone1
  25. Join({Zone1, Zone2, Zone3, Zone4, Zone5}) → ZoneAll
  26. Corner(5) → AppSize
  27. Polygon({CornerUS, CornerUS - (0, 1), CornerUS + (1, -1), CornerUS + (1, 0)}) → unitSquare
  28. Flatten(Sequence[Sequence[(ii, maxInt1 + 1 - jj), jj, 0, int1 - 1], ii, 0, int2 - 1]) → TargetPointsUS
  29. Zip(Translate[unitSquare, Vector[(Min[Max[sliderUS - kk, 0], 1] * Vector[CornerUS, PP])]], PP, TargetPointsUS, kk, Sequence[0, (int1 * int2) - 1]) → MovableUS
  30. Translate(RecBelow, Vector[(0, maxInt1 + 1 - int1), CornerURB]) → RecBelow'
  31. Translate(RecSide, Vector[(int2, maxInt1 + 1), CornerURS]) → RecSide'
  32. Point(Circle[(0, 5.5), int2 + num2 / den2]) → A
  33. Segment((0, maxInt1 + 1.3), (int2 + num2 / den2, maxInt1 + 1.3)) → segmenAbove
  34. Segment((-0.3, maxInt1 + 1), (-0.3, maxInt1 + 1 - int1 - num1 / den1)) → segmentSide
  35. Midpoint(segmenAbove) → LabelSegAbovePos
  36. Midpoint(segmentSide) → LablelSegmentSidePos
  37. Sequence(Segment[(0, ii), (maxInt2 + 1, ii)], ii, 0, maxInt1 + 1) → GridMH
  38. Sequence(Segment[(ii, 0), (ii, maxInt1 + 1)], ii, 0, maxInt2 + 1) → GridMV
  39. Sequence(Segment[(0, ii), (maxInt2 + 1, ii)], ii, 0, maxInt1 + 1, 1 / comonDen) → GridmH
  40. Sequence(Segment[(ii, 0), (ii, 1 + maxInt1)], ii, 0, maxInt2 + 1, 1 / comonDen) → GridmV
  41. Flatten(Sequence[Sequence[Translate[(int2, maxInt1 + 1), Vector[((jj * wRecSide / comonDen), (ii * ((-hRecSide)) / comonDen))]], ii, 0, floor((int1 * comonDen / hRecSide)) - 1], jj, 0, numberOfColumnsSide - 1]) → TargetPointsRecS
  42. Zip(Translate[RecSide', Vector[(Min[Max[sliderRS - kk, 0], 1] * Vector[CornerURS, PP])]], PP, TargetPointsRecS, kk, Sequence[0, numOfRecSide]) → rectanglesSideMovable
  43. Flatten(Sequence[Sequence[Translate[(0, maxInt1 + 1 - int1), Vector[((ii * wRecBelow / comonDen), (jj * ((-hRecBelow)) / comonDen))]], ii, 0, floor((int2 * comonDen / wRecBelow)) - 1], jj, 0, numberOfRowsBelow - 1]) → TargetPointsRecB
  44. Zip(Translate[RecBelow', Vector[(Min[Max[sliderRB - kk, 0], 1] * Vector[CornerURB, PP])]], PP, TargetPointsRecB, kk, Sequence[0, numOfRecBelow]) → rectanglesBelowMovable
  45. Sequence(Take[ZoneAll, (ii * comonDen^(2)) + 1, ((ii + 1) * comonDen^(2))], ii, 0, floor(sliderRemainder) - 1) → ZoneAllIntoParts
  46. Last(ZoneAll, sliderLastTiles) → ZoneAllLast
  47. Midpoint(Vertex[Element[ZoneAllLast, lastSquares / 2], 1], Vertex[Element[ZoneAllLast, lastSquares / 2], 3]) → Arrow1
  48. Text(fracAbove, LabelSegAbovePos, true, true, 0, 1) → fracAbovePlaced
  49. Sequence(Flatten[Zip[Sequence[Segment[Vertex[pp, ii], Vertex[pp, If[ii ≟ 4, 1, ii + 1]]], ii, 1, 4], pp, If[Length[ZoneAllIntoParts] ≟ 0, MovableUS, Element[ZoneAllIntoParts, jj]]]], jj, 1, Length[ZoneAllIntoParts]) → auxListForZoneAllBlack
  50. Sequence(Remove[Unique[Element[auxListForZoneAllBlack, ii]], Remove[Element[auxListForZoneAllBlack, ii], Unique[Element[auxListForZoneAllBlack, ii]]]], ii, 1, Length[auxListForZoneAllBlack]) → ZoneAllIntoPartsBlack
  51. Text(fracSide, LablelSegmentSidePos - (0.4, 0), true, true, 0, 0) → fracSidePlaced
  52. Translate(hGuideline, Vector[(Vector[Corner[4], Corner[1]] / 500 * 24)]) → hGuideline'_{1}
  53. Translate(vGuideline, Vector[(Vector[Corner[1], Corner[2]] / 800 * 16)]) → vGuideline'
  54. Translate(hGuideline, Vector[(Vector[Corner[4], Corner[1]] / 500 * 24)]) → hGuideline'
  55. If(numOfRecSide ≟ 0, 98, 24 + 98 + ((500 * hRecSide / comonDen) * 1 / (y(Cor3) - y(Cor1)))) → yPosSliderUT
  56. If(floor(remainder / comonDen^(2)) ≟ 0, yPosSliderUT, yPosSliderUT + 278 - 203.5) → yPosSliderRA

AI 绘图提示语参考

绘制一个坐标网格,其中包含一个由整数部分和分数部分组成的矩形,其长和宽均为带分数。将矩形划分为若干单位小方格,并进一步细分为更小的分数单位方格。在矩形下方和右侧分别生成两组可移动的小矩形块,用于表示面积的分割。矩形内部的不同区域用不同颜色或阴影区分,并显示分数标签。整体布局包含水平与垂直的网格线,以及用于交互的滑块。
以上提示语为根据原始绘图命令整理而来,仅供参考。