吃豆人(AR友好版):用向量引导吃豆人吃豆

吃豆人(AR友好版):用向量引导吃豆人吃豆
几何画板及绘图内容加载中,请稍等……
2020-05-20 01:09
① 本范例以经典游戏吃豆人为情境,演示如何通过分解向量分量来引导吃豆人沿正确方向移动并吃到食物,将抽象的向量概念融入趣味互动。② 核心数学概念包括二维/三维向量的分解与合成、向量加法、方向与模长,以及利用随机序列和参数方程生成动态路径。③ 作图要点:使用GeoGebra的Random、Sequence、Union、Vector、RandomElement、CurveCartesian、Translate、Rotate、Line、Surface、Dilate等命令,构建了吃豆人(由圆弧和旋转构成)、食物点、辅助向量及按钮控件(button1、button2),并通过滑块(MouthSpeed)控制嘴巴开合动画,实现AR友好的交互体验。④ 适合中学数学(尤其是向量教学)及大学入门线性代数课程,也可用于STEM教育或游戏化学习场景,帮助学生直观理解向量分量在导航和路径规划中的作用。

GeoGebra 命令及参数

  1. Random(-5, 5) → a
  2. Sequence(i, i, a + 1, 5, 1) → l3
  3. Sequence(i, i, -5, a - 1, 1) → l2
  4. Union(l2, l3) → l4
  5. Vector((xc, yc, zc)) → u
  6. Random(-5, 5) → c
  7. RandomElement(l4) → b
  8. CurveCartesian(x(A) - sin(t), y(A) + cos(t), z(A), t, 0, π) → g
  9. Translate(A, u) → A'
  10. Vector(A, A') → v
  11. Rotate(A - (0, 1.5, 0), If[yc ≥ 0, α, (2 * π) - α], A, Line[A, A + (0, 0, 1)]) → D
  12. Rotate(A + (0, 1.5, 0), If[yc ≥ 0, α, (2 * π) - α], A, Line[A, A + (0, 0, 1)]) → C
  13. Rotate(g, If[yc ≥ 0, α, (2 * π) - α], A, Line[A, A + (0, 0, 1)]) → g'
  14. Rotate(g', If[zc ≥ 0, β, (2 * π) - β], A, If[zc ≥ 0, Line[C, D], Line[D, C]]) → g''
  15. Random(-5, 5) → d
  16. Random(-5, 5) → e
  17. Random(-5, 5) → f
  18. Line(C, D) → j
  19. Surface(g'', (3 * π / 4) + m, Line[C, D]) → k
  20. Dilate(A, If[0 < PlayToSee ≤ 1, 1 - PlayToSee, 0], A') → A'_1
  21. Surface(g'', (3 * π / 4) + m, Line[D, C]) → i
  22. Vector(A, A'_1) → w
  23. Translate(i, w) → i'
  24. Translate(k, w) → k'
  25. Sequence(i, i, -5, 5, 1) → l1