大转盘挑战:概率直觉训练
几何画板及绘图内容加载中,请稍等……
该范例是一个名为“大转盘挑战”的交互式概率练习,通过模拟转盘抽奖场景,帮助学生直观理解概率概念。核心数学概念是概率统计中的随机事件、等可能性以及用概率量化不确定性。作图要点包括:使用RandomElement、If、Element、Remove、Join等命令生成随机题目和选项;通过Circle、CircleSector、Sequence、Polygon、PolyLine等绘制转盘图形;利用Textfield、Button等创建交互界面;通过Index、IndexOf、Point等管理状态和位置。适合7-8年级学生,用于培养基于直觉的概率思维,并可通过GeoGebra Classroom分享给学生进行课堂练习。
GeoGebra 命令及参数
RandomElement(1…3) → Cat1If(Cat1 ≠ 1, 1, RandomElement[{2, 3}]) → Cat2Element(Remove[1…3, {Cat1, Cat2}], 1) → Cat3Remove(1…7, Join[{Set1, Set2}]) → Set3If(shuffled, Join[{Set1, Set2, Set3}], 1…numberOfQuestions) → randomQuestionsElement(randomQuestions, Mod[questionCount - 1, Length[randomQuestions]] + 1) → randomQuestionIf(questionCount ≟ 0 ∨ showGoal, einteilung0, EinteilungsListe(randomQuestion)) → einteilungIf(randomQuestion ≟ 5, 90, 60) → indexJoin({Sequence[MP + ((2 * radius / 3) * (cos(((-index))° - (360° * (Sum[einteilung, k] - einteilung(k) / 2) / Sum[einteilung])), sin(((-index))° - (360° * (Sum[einteilung, k] - einteilung(k) / 2) / Sum[einteilung])))), k, 1, Length[einteilung]] + (-0.5, 0.48), Reverse[Sequence[StartStar + (k * (MP + ((-radius) - 1, 0) - StartStar)), k, 0, 1, 0.05]]}) → PosStarListPoint(PosStarList) → PosStarIndexOf(PosStar, PosStarList) → StarIndexIf(randomQuestion ≟ 1, correct1, randomQuestion ≟ 6, correct6, randomQuestion ≟ 7, correct7, false, randomQuestion ≟ 2, correct2, randomQuestion ≟ 3, correct3, randomQuestion ≟ 4, correct4, randomQuestion ≟ 5, correct5) → correctTextfield(input) → inputBoxCircle(MP, radius) → glücksrad1Circle(MP, radius + 0.3) → glücksrad2Sequence(MP + (radius * (cos(360° - k°), sin(360° - k°))), k, 1, 360) → PGRListSequence(MP + (radius * (cos(((-index))° - (360° * Sum[einteilung, k] / Sum[einteilung])), sin(((-index))° - (360° * Sum[einteilung, k] / Sum[einteilung])))), k, 1, Length[einteilung]) → PosGRListSequence(Segment[PosGRList(k), MP], k, 1, Length[PosGRList]) → SegListCircleSector(MP, PosGRList(1), PosGRList(Length[PosGRList])) → sek1CircleSector(MP, PosGRList(2), PosGRList(1)) → sek2CircleSector(MP, PosGRList(3), PosGRList(2)) → sek3CircleSector(MP, PosGRList(4), PosGRList(3)) → sek4CircleSector(MP, PosGRList(5), PosGRList(4)) → sek5CircleSector(MP, PosGRList(6), PosGRList(5)) → sek6CircleSector(MP, PosGRList(7), PosGRList(6)) → sek7Polygon(PosStar, PosStar + (1, 0), PosStar + (1, -0.96), PosStar + (0, -0.96)) → polyStar, posstar, f, g, hPolyLine({PosSB, Corner[txt001, 1] + (0.25 * (Corner[txt001, 4] - Corner[txt001, 1])), Corner[txt001, 1], Corner[txt001, 2] + (0.2, 0), Corner[txt001, 3] + (0.2, 0.15), Corner[txt001, 4] + (0, 0.15), Corner[txt001, 1] + (0.25 * (Corner[txt001, 4] - Corner[txt001, 1])) + (0, 0.75), PosSB}) → sb00Circle(MP1, radius2) → gr11Circle(MP1, (radius2 * 1.13)) → gr12Circle(MP2, radius2) → gr21Circle(MP3, radius2) → gr31Circle(MP4, radius2) → gr41Circle(MP2, (radius2 * 1.13)) → gr22Circle(MP3, (radius2 * 1.13)) → gr32Circle(MP4, (radius2 * 1.13)) → gr42Sequence(MP1 + (radius2 * (cos((-(indexGR1°)) - (360° * Sum[einteilungGR1, k] / Sum[einteilungGR1])), sin((-(indexGR1°)) - (360° * Sum[einteilungGR1, k] / Sum[einteilungGR1])))), k, 1, Length[einteilungGR1]) → PosGR1ListSequence(Segment[PosGR1List(k), MP1], k, 1, Length[PosGR1List]) → SegList1If(randomQuestion ≟ 1 ∨ randomQuestion ≟ 6, {30, 20, 5, 45}, {25, 12.5, 12.5, 25, 25}) → einteilungGR2Sequence(MP2 + (radius2 * (cos((-(indexGR2°)) - (360° * Sum[einteilungGR2, k] / Sum[einteilungGR2])), sin((-(indexGR2°)) - (360° * Sum[einteilungGR2, k] / Sum[einteilungGR2])))), k, 1, Length[einteilungGR2]) → PosGR2ListSequence(Segment[PosGR2List(k), MP2], k, 1, Length[PosGR2List]) → SegList2If(randomQuestion ≟ 1 ∨ randomQuestion ≟ 6, {25, 25, 25, 12.5, 12.5}, {1, 1, 1, 1}) → einteilungGR3If(randomQuestion ≟ 3, 25, 60) → indexGR4If(randomQuestion ≟ 1 ∨ randomQuestion ≟ 6, {25, 25, 50}, {1 / 3, 1 / 4, 5 / 36, 5 / 36, 5 / 36}) → einteilungGR4Sequence(MP3 + (radius2 * (cos(((-indexGR3))° - (360° * Sum[einteilungGR3, k] / Sum[einteilungGR3])), sin(((-indexGR3))° - (360° * Sum[einteilungGR3, k] / Sum[einteilungGR3])))), k, 1, Length[einteilungGR3]) → PosGR3ListSequence(MP4 + (radius2 * (cos(((-indexGR4))° - (360° * Sum[einteilungGR4, k] / Sum[einteilungGR4])), sin(((-indexGR4))° - (360° * Sum[einteilungGR4, k] / Sum[einteilungGR4])))), k, 1, Length[einteilungGR4]) → PosGR4ListSequence(Segment[PosGR3List(k), MP3], k, 1, Length[PosGR3List]) → SegList3Sequence(Segment[PosGR4List(k), MP4], k, 1, Length[PosGR4List]) → SegList4CircleSector(MP1, PosGR1List(1), PosGR1List(Length[PosGR1List])) → sek11CircleSector(MP1, PosGR1List(2), PosGR1List(1)) → sek12CircleSector(MP1, PosGR1List(3), PosGR1List(2)) → sek13CircleSector(MP1, PosGR1List(4), PosGR1List(3)) → sek14CircleSector(MP3, PosGR3List(1), PosGR3List(Length[PosGR3List])) → sek32CircleSector(MP3, PosGR3List(2), PosGR3List(1)) → sek31CircleSector(MP3, PosGR3List(3), PosGR3List(2)) → sek33CircleSector(MP3, PosGR3List(4), PosGR3List(3)) → sek34CircleSector(MP3, PosGR3List(5), PosGR3List(4)) → sek35CircleSector(MP2, PosGR2List(1), PosGR2List(Length[PosGR2List])) → sek21CircleSector(MP2, PosGR2List(2), PosGR2List(1)) → sek22CircleSector(MP2, PosGR2List(3), PosGR2List(2)) → sek23CircleSector(MP2, PosGR2List(4), PosGR2List(3)) → sek24CircleSector(MP2, PosGR2List(5), PosGR2List(4)) → sek25CircleSector(MP4, PosGR4List(1), PosGR4List(Length[PosGR4List])) → sek41CircleSector(MP4, PosGR4List(2), PosGR4List(1)) → sek42CircleSector(MP4, PosGR4List(3), PosGR4List(2)) → sek43CircleSector(MP4, PosGR4List(4), PosGR4List(3)) → sek44CircleSector(MP4, PosGR4List(5), PosGR4List(4)) → sek45Text("\textsf{✘}", MP1 + (0, (-radius2) - GRHöhe2 - 1.25), false, true, 0, 0) → FB11Text(If[randomQuestion ≟ 3, "\textsf{✓}", "\textsf{✘}"], MP2 + (0, (-radius2) - GRHöhe2 - 1.25), false, true, 0, 0) → FB12Text(If[randomQuestion ≟ 6, "\textsf{✓}", "\textsf{✘}"], MP3 + (0, (-radius2) - GRHöhe2 - 1.25), false, true, 0, 0) → FB13Text(If[randomQuestion ≟ 1, "\textsf{✓}", "\textsf{✘}"], MP4 + (0, (-radius2) - GRHöhe2 - 1.25), false, true, 0, 0) → FB14Text("\textsf{✘}", Midpoint[Corner[txtOptionSC2, 1], Corner[txtOptionSC2, 4]] + (8, 0.15), false, true, 0, 0) → FB22Text(If[randomQuestion ≟ 2, "\textsf{✓}", "\textsf{✘}"], Midpoint[Corner[txtOptionSC1, 1], Corner[txtOptionSC1, 4]] + (8, 0.15), false, true, 0, 0) → FB21Text(If[randomQuestion ≟ 7, "\textsf{✓}", "\textsf{✘}"], Midpoint[Corner[txtOptionSC3, 1], Corner[txtOptionSC3, 4]] + (8, 0.15), false, true, 0, 0) → FB23If(randomQuestion ∈ {1, 3, 6}, optionGR1 ∨ optionGR2 ∨ optionGR3 ∨ optionGR4, randomQuestion ∈ {2, 7}, optionSC1 ∨ optionSC2 ∨ optionSC3, randomQuestion ≟ 4, StarIndex ∈ (1…Length[einteilung4]), randomQuestion ≟ 5, StarIndex ∈ (1…Length[einteilung5]), true) → clickableBtnValidatePolyLine({PosSB, Corner[txtGoal, 1] + (0.25 * (Corner[txtGoal, 4] - Corner[txtGoal, 1])), Corner[txtGoal, 1], Corner[txtGoal, 2] + (0.2, 0), Corner[txtGoal, 3] + (0.2, 0.15), Corner[txtGoal, 4] + (0, 0.15), Corner[txtGoal, 1] + (0.25 * (Corner[txtGoal, 4] - Corner[txtGoal, 1])) + (0, 0.75), PosSB}) → sbGoalText(If[correct, "\textsf{✓ Richtig}", "\textsf{✘ Falsch}"], MP4 + (radius2, (-radius2) - GRHöhe2 - 2.25) + (-6.15, 0), false, true, 0, 0) → txtFeedback136Text(If[correct, "\textsf{✓ Richtig}", "\textsf{✘ Falsch}"], (0.2, 0.15) + (1, 0), false, true, 1, 0) → txtFeedback27
AI 绘图提示语参考
在平面中央画一个大圆轮盘,圆心作为旋转基准,轮盘外再叠加一圈略大或略小的同心圆以体现边界。把圆面沿圆周均分成多个扇形区域:先给定若干扇形分界点的方向与相邻角跨度,再在圆心与圆周分界点之间连线生成扇形边界,并用扇形填充/描边表现各区。再在轮盘周边放置一个由多条点到点的折线或箭头形状指示组件,包含一个由折线转折形成的标记,位置与轮盘圆心相对固定。最后在轮盘上方或侧边加上输入文字框样式的标注,并为扇形区补充一组标记文字以对应概率题的不同选项。
以上提示语为根据原始绘图命令整理而来,仅供参考。