使用较小分母创建等值分数

使用较小分母创建等值分数
几何画板及绘图内容加载中,请稍等……
2023-08-23 20:18
本范例通过条形图演示如何创建分母更小的等值分数。涉及的核心数学概念是分数的基本性质和等值分数的表示。作图要点使用了GeoGebra命令如Shuffle, Vector, Translate, If, KeepIf, Zip, Point, IndexOf, Numerator, Denominator, Join, Polygon, Vertex, Corner, Length, Sequence, Segment, Text, PixelsToPoint, circlePixels等来构建分数模型和交互界面。适合小学中高年级学生学习分数的等值变换和数感培养。

GeoGebra 命令及参数

  1. Shuffle({4, 6, 8, 9, 10, 12, 14, 15, 16, 18, 20}) → bList, {12, 6, 18, 15, 20, 14, 8, 4, 10, 9, 16}
  2. Shuffle(Sequence[10]) → indices, {7, 4, 9, 10, 5, 2, 8, 6, 1, 3}
  3. Vector((0, -1.8)) → hei
  4. Translate(A', hei) → A''_{1}
  5. If(example ≟ 0, 10, Element[bList, Mod[example, Length[bList]] + 1]) → b
  6. Translate(A''_{1}, Vector[wid / b]) → J
  7. Vector(A''_{1}, J) → wid1part
  8. KeepIf(Length[Intersection[PrimeFactors[ii], PrimeFactors[b]]] ≠ 0, ii, Sequence[b]) → relativePrimes
  9. Zip(Translate[(x(A'), 6.8), Vector[(wid1part * kk)]], kk, Take[relativePrimes, 1, Length[relativePrimes] - 1]) → PositionsFakeSlider
  10. Point(PositionsFakeSlider) → FakeSliderPoint
  11. IndexOf(FakeSliderPoint, PositionsFakeSlider) → a
  12. If(Length[denominators] ≟ 0, {}, Zip[(Element[relativePrimes, a] * kk / b), kk, denominators]) → numerators
  13. Numerator(Element[relativePrimes, a] / b) → simpNum
  14. Denominator(Element[relativePrimes, a] / b) → simpDen
  15. Zip((((((((If[n ≟ dd, "=\tiny{\colorbox{#d2e4e2}{\normalsize", "\normalsize{{="] * "\frac{") * nn) * "}{\textcolor{") * colorPurpleButton_{1}) * "}{") * dd) * "}}}}"), nn, numerators, dd, denominators) → l1
  16. Join({Zip[(((((((((("=\frac{" * simpNum) * "\times ") * nn) * "}{\textcolor{") * colorPurpleButton_{1}) * "}{") * simpDen) * "\times") * dd) * "}}"), nn, l2, dd, l3], Last[l1]}) → l4
  17. Polygon(Zip[PixelsToPoint[Corner[1], Corner[3], Corner[5], A], A, {(pixelsLeft, pixelsTop), (pixelsLeft, y(Corner[5]) - pixelsBottom), Corner[5] - (pixelsRight, pixelsBottom), (x(Corner[5]) - pixelsRight, pixelsTop)}]) → borderBox
  18. Vertex(borderBox) → A, B, C, D
  19. Corner(5) → AppSize
  20. Translate(A, wid) → A'_{1}
  21. Translate(A', wid) → A''
  22. Polygon(A, A', A'', A'_{1}) → q1, a_{1}, a', a'', a'_{1}
  23. Translate(A, hei) → A'_{2}
  24. Translate(A'', hei) → A'''
  25. Translate(A'_{1}, hei) → E
  26. Polygon(A'_{2}, A''_{1}, A''', E) → q1', a'_{2}, a''_{1}, a''', e
  27. Translate(A''_{1}, Vector[(0.8 * hei)]) → F
  28. Translate(F, hei) → G
  29. Translate(G, wid) → H
  30. Translate(E, Vector[(2 * hei)]) → E'
  31. Polygon(F, G, H, E') → q1'', f, g, h, e'
  32. Length(relativePrimes) → maxA
  33. Translate(A', Vector[wid / b]) → I
  34. Polygon(A''_{1}, J, I, A') → q2, i, j, i_1, k
  35. Sequence(Polygon[Translate[A''_{1}, Vector[(wid1part * ii)]], Translate[J, Vector[(wid1part * ii)]], Translate[I, Vector[(wid1part * ii)]], Translate[A', Vector[(wid1part * ii)]]], ii, 0, b - 1) → denMod1
  36. Sequence(Polygon[Translate[A''_{1}, Vector[(wid1part * ii)]], Translate[J, Vector[(wid1part * ii)]], Translate[I, Vector[(wid1part * ii)]], Translate[A', Vector[(wid1part * ii)]]], ii, 0, Element[relativePrimes, a] - 1) → numMod1
  37. Translate(G, Vector[(wid1part * Element[relativePrimes, a])]) → G'
  38. Translate(F, Vector[(wid1part * Element[relativePrimes, a])]) → F'
  39. Polygon({F, G, G', F'}) → GreenRectangleBelow
  40. Translate(F, Vector[wid / n]) → F'_{1}
  41. Translate(G, Vector[wid / n]) → G'_{1}
  42. Sequence(Translate[Polygon[{F, G, G'_{1}, F'_{1}}], Vector[(wid / n * ii)]], ii, 0, n - 1) → DivisionsBelow
  43. Segment(FakeSlider1, FakeSlider2) → fakeSlider_{1}
  44. Polygon(A', A''_{1}, A''', A'') → q4, l, m, p, q
  45. Polygon({F, G, H, (x(H), y(F))}) → q5
  46. Segment(Element[PositionsFakeSlider, 1], Element[PositionsFakeSlider, Length[PositionsFakeSlider]]) → fakeSlider
  47. Text(sliderALabel, FakeSliderPoint, true, true, 0, 1) → fakeSliderLabel
  48. Segment((x(A), y(A) - (3 / 5 * (y(A) - y(A')))), (x(A), y(A) - (3 / 5 * (y(A) - y(A')))) + wid) → fackeSliderDash
  49. Translate(FakeSliderPoint, Vector[A', G]) → FakeSliderPoint'
  50. Segment(FakeSliderPoint, FakeSliderPoint') → verticalSegment
  51. Translate(numMod1, Vector[(Vector[A', F] * anim)]) → numMod1'
  52. Translate(hGL, Vector[(Vector[Corner[4], Corner[1]] / 500 * 24)]) → hGL'
  53. PixelsToPoint(Corner[1], Corner[3], Corner[5], L) → K
  54. circlePixels(K, 9 + (7 * pulsing), Corner[1], Corner[3], Corner[5]) → pulsingObject
  55. If(example ≟ 0, 1, ceil((Element[indices, Mod[example, 10] + 1] / 10 * Length[PositionsFakeSlider]))) → ind

AI 绘图提示语参考

绘制一个分数等值表示的几何模型,用一组“带状图/条形分割”来展示把同一份图形划分成不同分母的等价分数。先画出上方矩形边框并形成主分割区域,然后在下方根据一条可切换的分母滑块位置,把同一宽度条按若干份等分。再在每个分割单元下方放置对应的数量标记,联动显示该选择分母下的分子与分母的乘法形式,并在顶部出现化简后的分数表达。最后给出分母刻度线与虚线刻度,确保滑块可移动并实时改变条形的分割数量与显示文本。
以上提示语为根据原始绘图命令整理而来,仅供参考。