分数乘法演示 by John Ulbright (2)

分数乘法演示 by John Ulbright (2)
几何画板及绘图内容加载中,请稍等……
2017-03-08 01:41
所属专题 Working with fractions
①本范例演示了如何使用 GeoGebra 将带分数进行乘法运算,并通过饼图直观展示结果;②涉及核心数学概念包括分数乘法、带分数转换、几何图形表示;③作图要点:使用Textfield, Point, Intersect, Segment, Polygon, Flatten, First, If, Sequence, Remove, Sort, Take, Max等命令创建输入框、点、线段、多边形等对象,实现动态交互;④适合初中及以上数学学习者,用于理解分数运算与几何可视化。

GeoGebra 命令及参数

  1. Textfield(w1T) → InputBox1
  2. Textfield(n1T) → InputBox2
  3. Textfield(d1T) → InputBox3
  4. Textfield(w2T) → InputBox4
  5. Textfield(d2T) → InputBox6
  6. Textfield(n2T) → InputBox5
  7. Point({(f1 * grow), 0}) → A
  8. Point({0, (f2 * grow)}) → B
  9. Intersect(xAxis, yAxis) → C
  10. Segment(C, A) → f
  11. Segment(C, B) → g
  12. Point({f1, (grow2 * f2)}) → D
  13. Point({(f1 * grow2), f2}) → E
  14. Segment(A, D) → h
  15. Segment(B, E) → i
  16. Polygon(C, (floor(f1), 0), (floor(f1), floor(f2)), (0, floor(f2))) → poly1, c, j, k, l
  17. Flatten(Sequence[Sequence[Point[{i, j}], i, w1 + (n1 - 1) / d1, 0, -1 / d1], j, w2, w2 + (n2 - 1) / d2, 1 / d2]) → topAndCorner
  18. Polygon((w1, 0), (f1, 0), (f1, f2), (0, f2), (0, w2), (w1, w2)) → poly2, m, n, p, q, r, s
  19. Polygon((0, 0), (f1, 0), (f1, f2), (0, f2)) → poly3, t, d, e, f_1
  20. Polygon((w1, 0), (f1, 0), (f1, w2), (w1, w2)) → poly4, g_1, h_1, i_1, j_1
  21. Polygon((0, w2), (f1, w2), (f1, f2), (0, f2)) → poly5, a, k_1, l_1, m_1
  22. First(Flatten[Sequence[Sequence[Polygon[(i, j), (i + 1, j), 4], j, 0, w2 - 1], i, w1, w1 + ceil(newOnes / w2)]], newOnes) → newWholesInBrown
  23. If(w2T ≟ "", "0", w2T) → w2BT
  24. If(w1T ≟ "", "0", w1T) → w1BT
  25. If(n1T ≟ "", "0", n1T) → n1BT
  26. If(n2T ≟ "", "0", n2T) → n2BT
  27. If(d1T ≟ "", "1", d1T) → d1BT
  28. If(d2T ≟ "", "1", d2T) → d2BT
  29. Sequence(Sequence[Point[{i, j}], i, w1, f1 - 1 / d1, 1 / d1], j, 0, w2 - 1 / d2, 1 / d2) → right
  30. Flatten(Join[{right, topAndCorner}]) → origFractionPoints
  31. First(Flatten[Sequence[Sequence[Sequence[Sequence[Point[{i + k, j + m}], i, 0, 1 - 1 / d1, 1 / d1], j, 0, 1 - 1 / d2, 1 / d2], m, 0, w2 - 1], k, w1, w1 + ceil(newOnes / w2)]], Length[origFractionPoints]) → destinationFractionPoints
  32. Remove(origFractionPoints, destinationFractionPoints) → thesePointsWillMove
  33. Sort(Remove[destinationFractionPoints, origFractionPoints]) → movingTargets
  34. First(Flatten[Sequence[Sequence[Polygon[(i, j), (i + 1, j), 4], j, 0, Max[0, w2 - 1]], i, w1, w1 + newOnes]], newOnes) → newWholesInGreen
  35. Sort(Remove[Unique[Flatten[Join[{right, destinationFractionPoints}]]], thesePointsWillMove]) → finalRight
  36. Sequence(y(Element[finalRight, i]), i, 1, Length[finalRight]) → finalYvalues
  37. Sort(finalRight, finalYvalues) → sortedFinalRight
  38. Take(destinationFractionPoints, ((newOnes * d1) * d2) + 1, Length[destinationFractionPoints]) → leftoverFractionPoints
  39. Polygon((w1, 0), (f1, 0), (f1, Min[w2, newOnes]), (w1, Min[w2, newOnes])) → poly6, b, n_1, p_1, q_1
  40. Sequence(Polygon[Element[leftoverFractionPoints, i], Element[leftoverFractionPoints, i] + (1 / d1, 0), Element[leftoverFractionPoints, i] + (1 / d1, 1 / d2), Element[leftoverFractionPoints, i] + (0, 1 / d2)], i, 1, Length[leftoverFractionPoints]) → leftoverFractionPolys
  41. Sequence((Element[thesePointsWillMove, i] * (1 - partMover)) + (Element[movingTargets, i] * partMover), i, 1, Length[movingTargets]) → movingPoints
  42. Sequence(Polygon[Element[movingPoints, i], Element[movingPoints, i] + (1 / d1, 0), Element[movingPoints, i] + (1 / d1, 1 / d2), Element[movingPoints, i] + (0, 1 / d2)], i, 1, Length[movingPoints]) → movingPolys
  43. Remove(leftoverFractionPoints, movingTargets) → addthesePoints
  44. Sequence(Polygon[Element[addthesePoints, i], Element[addthesePoints, i] + (1 / d1, 0), Element[addthesePoints, i] + (1 / d1, 1 / d2), Element[addthesePoints, i] + (0, 1 / d2)], i, 1, Length[addthesePoints]) → addThesePolys
  45. Point(yAxis) → G
  46. Segment(F, G) → r_1
  47. Segment(H, I) → s_1
  48. Max({f2, 2, f1 + If[w2 > 0, ceil(newOnes / w2), newOnes]}) → scale
  49. Sequence(Sequence[Polygon[Element[leftoverFractionPoints, 1] + (i, j), Element[leftoverFractionPoints, 2] + (i, j), Element[leftoverFractionPoints, d1 + 2] + (i, j), Element[leftoverFractionPoints, d1 + 1] + (i, j)], i, 0, 1 - 1 / d1, 1 / d1], j, 0, 1 - 1 / d2, 1 / d2) → leftoveroutlines

AI 绘图提示语参考

画一个分数乘法演示图,包含两个输入框分别输入两个带分数,用饼图可视化结果。首先画出坐标轴和原点,然后根据输入的带分数画出代表分数的几何图形,包括整部分和分数部分。接着用动态的饼图展示乘法结果,饼图的颜色和数量要能体现乘法运算的过程。最后,用动态效果展示分数乘法的结果变化,使图形具有交互性。
以上提示语为根据原始绘图命令整理而来,仅供参考。