分数乘以整数的可视化

分数乘以整数的可视化
几何画板及绘图内容加载中,请稍等……
2019-02-14 21:57
①本范例通过动态演示,直观展示分数乘以整数的几何意义,将抽象运算转化为可视图形;②涉及核心数学概念包括分数乘法、几何表示、单位分割与累加;③构造中运用了 GeoGebra 命令 Sequence(序列生成)、Sort(排序)、First(取首元素)、Flatten(展平)、Textfield(文本框)、Text(文本显示)、If(条件判断)、Point(点)、Circle(圆)、Sector(扇形)、Segment(线段);对象包括 wedgeMover(扇形移动器)、circleCenters(圆心集合)、dividend(被乘数)、dWidth(宽度)、den(分母)、repeatedCenters(重复中心点)、destinationCenters(目标中心点)、dc_h(高)、dc_s(扇形高)、num(分子)、numberFinalGroups(最终分组数)、fgc2(分组中心2)、realFGC(真实分组中心)、wedgemover2(扇形移动器2)、dividendText(被乘数文本)、numText(分子文本)、denText(分母文本)、InputBox1(输入框1)、text1(文本1)、InputBox2(输入框2)、InputBox3(输入框3)、button1(按钮1)、circles(圆集合)、movingCenters(移动中心点)、wedges(扇形集合)、movingCircles(移动圆)、secondMovingCenters(第二移动中心点)、movingWedges(移动扇形)、finalGroupedCenters(最终分组中心)、secondMovingCircles(第二移动圆)、step(步进)、a(参数)、button2(按钮2)、opacity(透明度)、button3(按钮3)、b(参数)、ghostWedges(幽灵扇形)、B(参数)、wholeNumber(整数)、fraction(分数);④适合初中及以上数学教学,用于分数运算的可视化教学与理解。

GeoGebra 命令及参数

  1. Sequence(Point[{(-1.5 * (dividend - 1)) + (3 * Mod[i, dWidth]), -3 - (3 * Div[i, dWidth])}], i, 0, (den * dividend) - 1) → destinationCenters
  2. Sort(Sequence[(x(Element[Reverse[destinationCenters], i]), i), i, 1, Length[destinationCenters]]) → dc_h
  3. Sequence(Element[Reverse[destinationCenters], y(Element[dc_h, i])], i, 1, Length[destinationCenters]) → dc_s
  4. First(destinationCenters, numberFinalGroups) → fgc2
  5. Flatten(Sequence[Sequence[Element[fgc2, i], j, 1, num], i, 1, Length[fgc2]]) → realFGC
  6. Textfield(dividendText) → InputBox1
  7. Textfield(numText) → InputBox2
  8. Textfield(denText) → InputBox3
  9. Sequence(Circle[Element[circleCenters, i], 0.5], i, 1, 4) → circles
  10. Sequence((Element[repeatedCenters, i] * (1 - wedgeMover)) + (Element[dc_s, i] * wedgeMover), i, 1, (den * dividend)) → movingCenters
  11. Sequence(Sequence[Sector[Element[circles, i], (((2 * π)) / den * j), (((2 * π)) / den * (j + 1))], j, 1, den], i, 1, 4) → wedges
  12. Sequence(Circle[Element[movingCenters, i], 0.5], i, 1, 2) → movingCircles
  13. Sequence((Element[dc_s, i] * (1 - wedgemover2)) + (Element[realFGC, i] * wedgemover2), i, 1, (den * 2)) → secondMovingCenters
  14. Sequence(Sector[Element[movingCircles, i], ((i * 2) * π / den), (((i + 1) * 2) * π / den)], i, 1, (den * dividend)) → movingWedges
  15. Sequence(Take[destinationCenters, i, i + num - 1], i, 1, (den * dividend), num) → finalGroupedCenters
  16. Sequence(Circle[Element[secondMovingCenters, i], 0.5], i, 1, 2) → secondMovingCircles
  17. Text(floor((den * dividend / num))) → wholeNumber
  18. If(floor((den * dividend / num)) ≟ (den * dividend / num), "", FractionText[(den * dividend / num) - floor((den * dividend / num))]) → fraction
  19. Point({0, (top + bottom) / 2}) → center
  20. Sequence(Sector[Element[secondMovingCircles, i], (i * ((2 * π)) / den), ((i + 1) * ((2 * π)) / den)], i, 1, (den * dividend)) → movingWedges2
  21. Point(xAxis) → C
  22. Point(xAxis) → D
  23. Circle(C, D) → d
  24. Point(xAxis) → E
  25. Point(xAxis) → G
  26. Point(xAxis) → H
  27. Circle(G, H) → g
  28. Point(xAxis) → I
  29. Point(circles) → J
  30. Circle(I, J) → h
  31. Sequence(Rotate[D, (360° * i / den), C], i, 1, den) → l1
  32. Sequence(Segment[C, Element[l1, i]], i, 1, den) → l2
  33. Sequence(Rotate[F, (360° * i / den), E], i, 1, den) → l3
  34. Sequence(Segment[E, Element[l3, i]], i, 1, den) → l4
  35. Circle(E, F) → e
  36. Sector(e, F, Element[l3, 1]) → k
  37. Sequence(Rotate[H, (360° * i / den), G], i, 1, den) → l5
  38. Sequence(Segment[G, Element[l5, i]], i, 1, den) → l6
  39. Sequence(Rotate[J, (360° * i / den), I], i, 1, den) → l7
  40. Sequence(Segment[I, Element[l7, i]], i, 1, den) → l8
  41. Sector(h, J, Element[l7, 1]) → p
  42. Point(movingWedges2) → K
  43. Circle(L, M) → q
  44. Sequence(Rotate[M, (360° * i / den), L], i, 1, den) → l9
  45. Sequence(Segment[L, Element[l9, i]], i, 1, den) → l10
  46. Sector(q, M, Element[l9, 2]) → r
  47. Point(movingWedges2) → O
  48. Point(yAxis) → P
  49. Circle(P, Q) → t
  50. Sequence(Rotate[Q, (360° * i / den), P], i, 1, den) → l13
  51. Sequence(Segment[P, Element[l13, i]], i, 1, den) → l14
  52. Circle(N, R) → s
  53. Sequence(Rotate[R, (360° * i / den), N], i, 1, den) → l11
  54. Sequence(Segment[N, Element[l11, i]], i, 1, den) → l12
  55. If(bruno > 0, 1, 0) → lal
  56. Segment(A, S) → f