分式加法可视化:从分段图到结果分数

分式加法可视化:从分段图到结果分数
几何画板及绘图内容加载中,请稍等……
2020-08-10 11:59
该范例演示如何通过图形化方式完成分式加法:将两个分式对应的几何/代数片段表示出来,再拼接与对比得到最终的分数表达。核心数学概念包括:分式的加法运算、同分母合并与等值变形;同时利用分段函数思想与图形曲线(如抛物线/一般曲线片段)的拼接来直观体现“条件不同、表达式不同”的结构。作图要点体现在构造摘要中:使用 Point、Segment、Polygon 组织关键点与连接边;用 If 与 Ray 指定分段条件与射线/方向约束;用 Sequence、Textfield、FractionText 生成并更新分数标注(fraction1、fraction2、finalfractional 等);用 Vector 与 Text(text3~text8)标记中间量与高度/位置;并通过列表与几何对象(list1~list4、poly1~poly4、c1~c2、poly3~poly4)完成图形拼接与“最终结果”显示。适合中学到大学基础数学学习者,用于代数运算可视化、函数图像理解与分段建模教学。

GeoGebra 命令及参数

  1. Point(yAxis) → C
  2. Point(Segment[C + (0, h), C + (0, (1.85 * h))]) → B
  3. If(t ≤ 0.5, 0, (2 * (t - 0.5))) → t2
  4. If(t ≤ 0.5, (2 * t), 1) → t1
  5. Point(Segment[B + (0, h), B + (0, (1.85 * h))]) → A
  6. Ray((0, 1.9), (0, 2.9)) → f
  7. Polygon({A, A + (l, 0), A + (l, h), A + (0, h)}) → poly1
  8. Polygon({B, B + (l, 0), B + (l, h), B + (0, h)}) → poly2
  9. Sequence(Segment[A + ((i * l / a1), 0), A + ((i * l / a1), h)], i, 1, a1 - 1) → list1
  10. Sequence(Segment[B + ((i * l / a2), 0), B + ((i * l / a2), h)], i, 1, a2 - 1) → list2
  11. Polygon({A, A + ((b1 * l / a1), 0), A + ((b1 * l / a1), h), A + (0, h)}) → poly3
  12. Polygon({B, B + ((b2 * l / a2), 0), B + ((b2 * l / a2), h), B + (0, h)}) → poly4
  13. Sequence(Sequence[Segment[A + ((i * l / a1) + (j * l / ((a1 * c1))), 0), A + ((i * l / a1) + (j * l / ((a1 * c1))), h)], j, 1, c1 - 1], i, 0, a1 - 1) → list3
  14. Sequence(Sequence[Segment[B + ((i * l / a2) + (j * l / ((a2 * c2))), 0), B + ((i * l / a2) + (j * l / ((a2 * c2))), h)], j, 1, c2 - 1], i, 0, a2 - 1) → list4
  15. If(a1 ≟ a2, true, false) → equald
  16. If(equald ∧ (Div[b1 + b2, a1] > 0 ∨ GCD[b1 + b2, a1] > 1), true, If[Div[(b1 * c1) + (b2 * c2), (a1 * c1)] > 0 ∨ GCD[(b1 * c1) + (b2 * c2), (a1 * c1)] > 1, true, false]) → simplify
  17. Textfield(a1) → InputBox1
  18. Textfield(b1) → InputBox2
  19. Textfield(a2) → InputBox3
  20. Textfield(b2) → InputBox4
  21. Polygon({A', A' + (l, 0), A' + (l, h), A' + (0, h)}) → poly5
  22. Polygon({B', B' + ((b2 / a2 * l), 0), B' + ((b2 / a2 * l), h), B' + (0, h)}) → poly6
  23. Polygon({A', A' + ((b1 * l / a1), 0), A' + ((b1 * l / a1), h), A' + (0, h)}) → poly7
  24. Polygon({B', B' + ((b2 * l / a2), 0), B' + ((b2 * l / a2), h), B' + (0, h)}) → poly8
  25. Sequence(Sequence[Segment[A' + ((i * l / a1) + (j * l / ((a1 * c1))), 0), A' + ((i * l / a1) + (j * l / ((a1 * c1))), h)], j, 1, c1 - 1], i, 0, b1 - 1) → list8
  26. Sequence(Sequence[Segment[B' + ((i * l / a2) + (j * l / ((a2 * c2))), 0), B' + ((i * l / a2) + (j * l / ((a2 * c2))), h)], j, 1, c2 - 1], i, 0, b2 - 1) → list9
  27. Segment(C - (0, 0.5), C - (0, 1)) → g
  28. Segment(C + ((b1 / a1 * l), -0.5), C + ((b1 / a1 * l), -1)) → i
  29. Segment(C + ((b1 / a1 * l) + (b2 / a2 * l), -0.5), C + ((b1 / a1 * l) + (b2 / a2 * l), -1)) → j
  30. Vector(Midpoint[g], Midpoint[i]) → u
  31. Vector(Midpoint[i], Midpoint[g]) → v
  32. Vector(Midpoint[i], Midpoint[j]) → w
  33. Vector(Midpoint[j], Midpoint[i]) → a
  34. Sequence(Segment[A' + ((i * l / a1), 0), A' + ((i * l / a1), h)], i, 0, b1) → list6
  35. Sequence(Segment[B' + ((i * l / a2), 0), B' + ((i * l / a2), h)], i, 0, b2) → list7
  36. Sequence(Polygon[{C + ((i * l), 0), C + ((i * l) + l, 0), C + ((i * l) + l, h), C + ((i * l), h)}], i, 1, floor(b1 / a1 + b2 / a2)) → list5
  37. Segment(B', B' + ((b2 / a2 * l), 0)) → k
  38. Segment(B' + ((b2 / a2 * l), h), B' + (0, h)) → m
  39. If(b1 / a1 + b2 / a2 ≥ 1, true, false) → improper
  40. FractionText(b1 / a1 + b2 / a2) → text19
  41. FractionText(b1 / a1 + b2 / a2 - 1) → text20
  42. Sequence(Sequence[Segment[C + ((i * l / ((a1 * c1))) + (j * l), 0), C + ((i * l / ((a1 * c1))) + (j * l), h)], i, 1, (a1 * c1) - 1], j, 0, If[b1 / a1 + b2 / a2 ≤ 1, 0, 1]) → list10

AI 绘图提示语参考

画一个几何图形来演示分数加法。首先,在水平线上创建两个矩形,分别代表两个分数的分子和分母。然后,用不同颜色的线段将矩形分割成小部分,表示分数的各个部分。接着,将两个矩形组合在一起,用虚线连接对应的部分,展示分数加法的计算过程。最后,用一个大的矩形表示最终结果,并用文字标注每个部分的值和分数的总和。
以上提示语为根据原始绘图命令整理而来,仅供参考。