弧度角作图游戏:用随机角提升角感

弧度角作图游戏:用随机角提升角感
几何画板及绘图内容加载中,请稍等……
2024-04-09 23:30
该范例通过“随机给出目标角→用户用工具精确作图→系统即时判断对错并计时”的互动过程,帮助学习者提升按弧度作角的准确性与角感。核心数学概念包括:弧度制与角的度量、角的几何表示(端点、射线、角符号)、以半圆/圆弧区域组织角度范围、以及角的等值判断(对照目标角与用户作图角的度量/位置误差)。作图与交互要点可从构造摘要提炼:使用 Shuffle 随机打乱生成 randomAngles 与 randomAngle;用 Semicircle 与 Circle/Segment/Sector 定义角的可视与可用范围;通过 Point/Element/Angle 生成可操作的 MovablePoint(如 AngEndpoint)、测量角 α、β 等并显示角度相关信息;借助 Translate、Dilate、Vector 完成位置/缩放/向量化的几何表达;用 If、Text、CountIf、Last、Sequence 进行判断与计数;timer、btnCheck、btnResetApp、scriptTimer1、scriptWait1 实现计时与交互控制;并用 Angle/Corner 相关对象管理角的端点与开口呈现。适合九到十二年级学生用于课堂练习或自学巩固:在弧度模式下练习角的作图与测量,训练从“目标角”到“正确弧度角”的建模能力。

GeoGebra 命令及参数

  1. Shuffle({1 / 2, 1 / 3, 2 / 3, 1 / 4, 3 / 4, 1 / 6, 5 / 6, 1, 1 / 12, 5 / 12, 7 / 12, 1 / 10, 3 / 10, 9 / 10}) → randomAngles, {0.8333333333333334, 0.08333333333333333, 0.3333333333333333, 0.4166666666666667, 0.5833333333333334, 0.25, 0.1, 0.75, 0.6666666666666666, 0.5, 1, 0.9, 0.3, 0.16666666666666666}
  2. Semicircle((-4, 0), (4, 0)) → c
  3. Point(c) → MovablePoint
  4. Angle(AngEndpoint, CentAng, MovablePoint) → α
  5. Element(randomAngles, Mod[questionCount, Length[randomAngles]] + 1) → randomAngle
  6. Corner(5) → AppSize
  7. Circle(CentAng, 3.5) → d
  8. Circle(CentAng, 4.5) → e
  9. Segment(CentAng, AnimP) → animSeg
  10. Angle(AngEndpoint, CentAng, AnimP) → β
  11. Sector(e, Max[angRad - Rad5, 0], Min[angRad + Rad5, pi]) → f
  12. Translate((0, 0), Vector[If[β ≤ 30°, Vector[(0.5 * (cos((2 * angRad)), sin((2 * angRad))))], Vector[(1.1 * (cos(angRad / 3), sin(angRad / 3)))]]]) → PosLabelCorrectA
  13. Translate((0, 0), Vector[If[α ≤ 30°, Vector[(2 * (cos((3 * α / 2)), sin((3 * α / 2))))], Vector[(2 * (cos(α / 2), sin(α / 2)))]]]) → PosLabelAlfa
  14. Dilate(MovablePoint, 1.3) → AnimP'
  15. If(perfect, 5, If[moreCorrect, 3, If[correct, 1, 0]]) → PointsToAdd
  16. Sector(e, angRad + (3 * Rad5), pi) → p
  17. Vector(AnimP', Target) → vec
  18. Sector(e, Max[angRad - (3 * Rad5), 0], Min[angRad - Rad5, pi]) → g
  19. Sector(e, Max[angRad + Rad5, 0], Min[angRad + (3 * Rad5), pi]) → h
  20. Sector(e, 0, angRad - (3 * Rad5)) → k
  21. Text(((("\textsf{+" * PointsToAdd) * If[perfect, " Perfect!", ""]) * "}"), AnimP' + (vec * wait^(2)), true, true, 0, 0) → textPlus1
  22. Last(histCorrect, Min[Length[histCorrect], 3]) → histCorrectLast3
  23. If(Length[histCorrect] ≟ 0, {}, Last[histCorrect, Min[5, Length[histCorrect]]]) → histCorrectLast5
  24. Sequence(Rotate[(4, 0), ii], ii, 0, 180°, If[hint2, 45°, 90°]) → pointsHint1
  25. Sequence(Rotate[(4.3, 0), ii], ii, 0, 180°, If[hint2, 45°, 90°]) → pointsHint2
  26. Zip(Dilate[AA, 1.15], AA, pointsHint1) → PointsHintLabels
  27. Sequence(Text[ii], ii, 0, 180, If[hint2, 45, 90]) → hintLabels
  28. Zip(Segment[AA, BB], AA, pointsHint1, BB, pointsHint2) → hintSegments
  29. Zip(Text[(tt * "°"), AA, true, true, 0, 1], AA, PointsHintLabels, tt, hintLabels) → hintlabelsPositioned
  30. CountIf(x ≟ false, histCorrectLast3) → falseIn3
  31. CountIf(x ≟ false, histCorrectLast5) → falseIn5
  32. Semicircle((-4.5, 0), (4.5, 0)) → graySemicircle
  33. Segment(CentAng, Dilate[AngEndpoint, 1.15]) → FixedSegment
  34. Segment(CentAng, Dilate[MovablePoint, 1.15]) → MovableSegment
  35. onboardingTextOffset(Corner[onboardingText_{1}, 1], Corner[onboardingText_{1}, 3], onboardingCase_{1}, Corner[1], Corner[3], Corner[5]) → OnboardingTextOffset_{1}
  36. circlePixels(MovablePoint, 7 + (7 * pulsing), Corner[1], Corner[3], Corner[5]) → pulsingObject
  37. Text((FractionText[β / pi] * "\pi"), PosLabelCorrectA, true, true, 0, 1) → labelCorrectAng
  38. Text((FractionText[α / pi] * "\pi"), PosLabelAlfa, true, true, 0, 1) → labelStudAng

AI 绘图提示语参考

绘制一个交互式角度绘制练习游戏界面。首先在画面下方绘制一条水平的半圆弧作为基准线,在半圆上设置一个可拖动的控制点。以画面中心为圆心分别绘制半径为3.5和4.5的两个同心圆作为参照。画面中显示目标角度区域(扇形),用不同颜色的扇形分别表示正确答案范围、偏小范围和偏大范围。标注显示当前角度和目标角度,角度以π的分数形式表示(如1/2π、1/3π等)。设置分数显示、正确反馈文字和提示系统,提示系统显示0°到180°的刻度。整体呈现为几何角度测量与构造的随机练习场景。
以上提示语为根据原始绘图命令整理而来,仅供参考。