分数加减法可视化

分数加减法可视化
几何画板及绘图内容加载中,请稍等……
2020-07-22 18:20
本范例通过可视化方式演示了真分数的加法和减法。涉及的核心数学概念包括分数的表示、真分数的定义、分数加减法的运算规则。作图要点包括使用 GeoGebra 命令如 Circle(画圆)、Point(点)、LCM(最小公倍数)、Sequence(数列)、Midpoint(中点)、If(条件判断)、Vector(向量)、Translate(平移)、GCD(最大公约数)、Textfield(文本字段)等对象,以及 ShiftCircleLeftRight(左右移动圆)、r、A_1、c、C_1、B、C_2、numerator_1、denominator_1、numerator_2、denominator_2、textFraction_1、A_2、d、equivalentfraction、equivalentdenominator、numerator_{1E}、numerator_{2E}、textEquivalentsign1、textFraction_2、textEquivalentFraction2、PIEALL_2、PIEALL_1、PIESECTION_1、PIESECTION_2、PIEALL_{1E}、PIEALL_{2E}、PIESECTION_{1E}、equivalentnumerator、PIESECTION_{2E}、A_{mid}、A_{1textfraction}、commonfactor_1、textcommonfactor_1、PIESECTION_{1whole}、commonfactor_2、PIESECTION_{2whole}、textcommonfactor_2、mixednumwhole、mixednumerator。适合小学高年级及初中生学习分数运算,帮助理解分数加减法的几何意义。

GeoGebra 命令及参数

  1. Circle(A_1, r) → c
  2. Point(c) → B
  3. Circle(A_2, r) → d
  4. LCM(denominator_1, denominator_2) → equivalentdenominator
  5. Sequence(Segment[A_2, Rotate[C_2, r°, A_2]], r, 0, 360, 360 / denominator_2) → PIEALL_2
  6. Sequence(Segment[A_1, Rotate[C_1, r°, A_1]], r, 360 / denominator_1, 360, 360 / denominator_1) → PIEALL_1
  7. Sequence(CircleSector[A_1, Rotate[C_1, r°, A_1], Rotate[C_1, (r + 360 / denominator_1)°, A_1]], r, 0, (360 / denominator_1 * numerator_1) - 360 / denominator_1, 360 / denominator_1) → PIESECTION_1
  8. Sequence(CircleSector[A_2, Rotate[C_2, ((-r) - 360 / denominator_2)°, A_2], Rotate[C_2, (-(r°)), A_2]], r, 0, (360 / denominator_2 * numerator_2) - 360 / denominator_2, 360 / denominator_2) → PIESECTION_2
  9. Sequence(Segment[A_1, Rotate[C_1, r°, A_1]], r, 0, 360, 360 / equivalentdenominator) → PIEALL_{1E}
  10. Sequence(Segment[A_2, Rotate[C_2, r°, A_2]], r, 0, 360, 360 / equivalentdenominator) → PIEALL_{2E}
  11. Sequence(CircleSector[A_1, Rotate[C_1, r°, A_1], Rotate[C_1, (r + 360 / equivalentdenominator)°, A_1]], r, 0, (360 / equivalentdenominator * numerator_{1E}) - 360 / equivalentdenominator, 360 / equivalentdenominator) → PIESECTION_{1E}
  12. Sequence(CircleSector[A_2, Rotate[C_2, ((-r) - 360 / equivalentdenominator)°, A_2], Rotate[C_2, (-(r°)), A_2]], r, 0, (360 / equivalentdenominator * numerator_{2E}) - 360 / equivalentdenominator, 360 / equivalentdenominator) → PIESECTION_{2E}
  13. Midpoint(A_1, A_2) → A_{mid}
  14. Circle(A_1, r) → PIESECTION_{1whole}
  15. Circle(A_2, r) → PIESECTION_{2whole}
  16. Sequence(CircleSector[A_2, Rotate[C_2, r°, A_2], Rotate[C_2, (r + 360 / denominator_2)°, A_2]], r, 0, (360 / denominator_2 * numerator_2) - 360 / denominator_2, 360 / denominator_2) → PIESECTION_{2subtract}
  17. Sequence(CircleSector[A_2, Rotate[C_2, r°, A_2], Rotate[C_2, (r + 360 / equivalentdenominator)°, A_2]], r, 0, (360 / equivalentdenominator * numerator_{2E}) - 360 / equivalentdenominator, 360 / equivalentdenominator) → PIESECTION_{2Esubtract}
  18. If(ShiftCircleLeftRight ≟ (2.5 * r), 1, 0) → trigger
  19. Sequence(CircleSector[A_2, Rotate[C_2, r°, A_2], Rotate[C_2, (r + 360 / equivalentdenominator)°, A_2]], r, (numerator_{2E} * 360 / equivalentdenominator), (360 / equivalentdenominator * (numerator_{1E} - 1)), 360 / equivalentdenominator) → PIESECTION_{finalsubtract1}
  20. Vector(A_2, A_{2end1}) → u
  21. Translate(PIESECTION_{finalsubtract1}, Vector[(DetachPie * u)]) → PIESECTION_{finalsubtract2}
  22. Vector(A_2, A_{2end2}) → v
  23. Circle(A_2, r) → PIESECTION_{whole1}
  24. Sequence(CircleSector[A_2, Rotate[C_2, r°, A_2], Rotate[C_2, (r + 360 / equivalentdenominator)°, A_2]], r, ((equivalentdenominator - numerator_{2E}) * 360 / equivalentdenominator), (360 / equivalentdenominator * (mixednumerator + equivalentdenominator - numerator_{2E} - 1)), 360 / equivalentdenominator) → PIESECTION_{part1}
  25. Circle(A_2, r) → PIESECTION_{whole2}
  26. Translate(PIESECTION_{whole2}, Vector[(DetachPie * v)]) → PIESECTION_{whole2v}
  27. Translate(PIESECTION_{part1}, Vector[(DetachPie * v)]) → PIESECTION_{part2}
  28. Translate(PIESECTION_{whole1}, Vector[(DetachPie * u)]) → PIESECTION_{whole1u}
  29. If(subtractfractions, "Subtraction of Fractions", "Addition of Fractions") → textTitle
  30. GCD(equivalentnumerator, equivalentdenominator) → ResultGCD
  31. GCD(abs(equivalentnumerator_{subtract}), equivalentdenominator) → ResultGCD_{subtract}
  32. If(abs(equivalentnumerator) < equivalentdenominator, If[ResultGCD ≟ 1, (4.5 * r), (3.5 * r)], If[ResultGCD ≟ 1, 0, (-2 * r)]) → x_{textEquivalentsign3}
  33. If(ResultGCD ≟ 1, (-0.25 * r), If[equivalentnumerator < equivalentdenominator, (5 * r), (-0.25 * r)]) → x_{textposition2}
  34. Sequence(CircleSector[A_2, Rotate[C_2, r°, A_2], Rotate[C_2, (r + 360 / equivalentdenominator)°, A_2]], r, (numerator_{1E} * 360 / equivalentdenominator), (360 / equivalentdenominator * (numerator_{2E} - 1)), 360 / equivalentdenominator) → PIESECTION_{negativefinalsubtract1}
  35. Vector(A_2, A_{2end3}) → w
  36. Translate(PIESECTION_{negativefinalsubtract1}, Vector[(DetachPie * v)]) → PIESECTION_{negativefinalsubtract2}
  37. Textfield(numerator_1) → InputBox1
  38. Textfield(denominator_1) → InputBox2
  39. Textfield(numerator_2) → InputBox3
  40. Textfield(denominator_2) → InputBox4
  41. If(¬subtractfractions, " + ", " − ") → addsign2

AI 绘图提示语参考

绘制两个大小相同的圆形,分别代表两个真分数。每个圆被等分成若干扇形区域,用不同颜色或阴影突出显示分子对应的部分。两个圆并排,中间显示加号或减号。在下方或旁边,再绘制两个等分更细的圆,表示通分后的等价分数,并突出显示通分后的分子部分。对于减法,还需展示从第二个圆中移除相应扇形的过程,并可能将剩余部分平移拼接,以直观显示结果。整个图形应包含用于输入分子和分母的文本框,以及用于切换加减法的控件。
以上提示语为根据原始绘图命令整理而来,仅供参考。