可视化加法交换律:瓶子弹珠交互演示
几何画板及绘图内容加载中,请稍等……
本范例通过将蓝色和粉色弹珠分别装入两个透明瓶子,直观演示加法交换律(a+b=b+a)。核心数学概念是加法的交换性质,即交换加数位置和不变。构造要点:使用Translate命令平移弹珠位置,Flatten命令整理坐标点,Zip命令生成弹珠集合,If命令控制条件显示,通过Corner、PointToPixels实现自适应布局,并用Text命令显示动态方程。瓶子高度(jarHeight)、宽度(jarWidth)、弹珠数量(numBlue、numPink)等参数均可调整。适合四至五年级学生理解交换律与结合律,也可用于教师示范加法基本性质。
GeoGebra 命令及参数
Flatten(Sequence[Sequence[Jar1Start + ((k * marbleWidth), (j * marbleWidth)), k, 0, floor(jarWidth / marbleWidth) - 2], j, 0, floor(jarHeight / marbleWidth) - 2]) → allJar1PointsTranslate(allJar1Points, Vector[Jar1Start, Jar1Start + (jarWidth + spaceBetween, 0)]) → allJar2PointsTake(allJar1Points, 1, numPink) → jar1PinkPointsTake(allJar1Points, numPink + 1, numPink + numBlue) → jar1BluePointsZip(Translate[marbleBlue, Vector[imgStart, A]], A, jar1BluePoints) → jar1MarblesBlueZip(Translate[marblePink, Vector[imgStart, A]], A, jar1PinkPoints) → jar1MarblesPinkTake(allJar2Points, numBlue + 1, numPink + numBlue) → jar2PinkPointsTake(allJar2Points, 1, numBlue) → jar2BluePointsZip(Translate[marbleBlue, Vector[imgStart, A]], A, jar2BluePoints) → jar2MarblesBlueZip(Translate[marblePink, Vector[imgStart, A]], A, jar2PinkPoints) → jar2MarblesPinkFlatten(Sequence[Sequence[pinkTopStart + ((k * marbleWidth), ((-j) * marbleWidth)), k, 0, 7], j, 0, 1]) → pinkTopPointsFlatten(Sequence[Sequence[blueTopStart + ((k * marbleWidth), ((-j) * marbleWidth)), k, 0, 7], j, 0, 1]) → blueTopPointsZip(Translate[marblePink, Vector[imgStart, A]], A, Take[pinkTopPoints, 1, numPink]) → topMarblesPinkZip(Translate[marbleBlue, Vector[imgStart, A]], A, Take[blueTopPoints, 1, numBlue]) → topMarblesBlueCorner(5) → appSizeZip(Vector[A, B], A, Take[pinkTopPoints, 1, numPink], B, jar1PinkPoints) → jar1PinkVectorsZip(Vector[A, B], A, Take[pinkTopPoints, 1, numPink], B, jar2PinkPoints) → jar2PinkVectorsZip(Vector[A, B], A, Take[blueTopPoints, 1, numBlue], B, jar1BluePoints) → jar1BlueVectorsZip(Vector[A, B], A, Take[blueTopPoints, 1, numBlue], B, jar2BluePoints) → jar2BlueVectorsIf(animateEquation ≤ 1, animateEquation, 1) → animateJar1PinkIf(animateEquation ≤ 1, 0, If[1 < animateEquation < 2, animateEquation - 1, 1]) → animateJar1BlueIf(animateEquation ≤ 2, 0, If[2 < animateEquation < 3, animateEquation - 2, 1]) → animateJar2BlueIf(animateEquation ≤ 3, 0, If[3 < animateEquation < 4, animateEquation - 3, 1]) → animateJar2PinkZip(Translate[B, A], B, topMarblesBlue, A, (animateJar1Blue * jar1BlueVectors)) → jar1BlueMarblesMovingZip(Translate[B, A], B, topMarblesPink, A, (animateJar1Pink * jar1PinkVectors)) → jar1PinkMarblesMovingZip(Translate[B, A], B, topMarblesPink, A, (animateJar2Pink * jar2PinkVectors)) → jar2PinkMarblesMovingZip(Translate[B, A], B, topMarblesBlue, A, (animateJar2Blue * jar2BlueVectors)) → jar2BlueMarblesMovingIf(animateEquation ≥ 1, (((("\textbf\textcolor{" * colorPink) * "}{") * numPink) * "}"), "") → textNum1If(animateEquation ≥ 2, (((("\textbf\textcolor{" * colorMarble2) * "}{") * numBlue) * "}"), "") → textNum2If(animateEquation ≥ 3, (((("\textbf\textcolor{" * colorMarble2) * "}{") * numBlue) * "}"), "") → textNum3If(animateEquation ≥ 4, (((("\textbf\textcolor{" * colorPink) * "}{") * numPink) * "}"), "") → textNum4If(animateEquation > 1, "\text{ + }", "") → textPlus1If(animateEquation > 3, "\text{ + }", "") → textPlus2If(animateEquation > 2, "\text{ = }", "") → textEqualText("=", pointJarStart + (jarWidth + spaceBetween / 2, jarHeight / 2), true, true, 0, 0) → textEqualsPointToPixels(Corner[1], Corner[3], Corner[5], midPoint) → midPointPixels
AI 绘图提示语参考
创建一个交互式示例,展示加法的交换律。有两个透明的玻璃罐,每个罐中装有不同的蓝色和粉色弹珠。通过平移和旋转操作,将弹珠从一个罐移动到另一个罐,同时显示弹珠数量的动态方程,如“3 + 4 = 4 + 3”。调整弹珠的数量和玻璃罐的大小,以适应不同年级的学生。
以上提示语为根据原始绘图命令整理而来,仅供参考。