比率、速率与正比例问题的条形模型演示
几何画板及绘图内容加载中,请稍等……
该GeoGebra范例通过可交互的条形模型(Bar Model)直观演示比率(Ratio)、速率(Rate)和正比例(Direct Proportion)问题的算术解法。核心数学概念包括比例关系、单位量(unit part)的划分、以及通过条形长度表示数量之间的倍数关系。作图要点:使用Polygon命令绘制条形,Textfield创建输入框,Sequence生成重复结构,Vector和Midpoint用于标注和定位,Segment构建辅助线段;对象包括scalefactor(比例因子)、barwidth(条宽)、多个点(P_1至P_4)以及输入框(inputBox1-4)和文本标签(textTitle、NameItem等),通过滑块或输入框调整数值,条形长度动态变化,帮助学生理解“每份量”与“总份数”的关系。适合小学高年级至初中阶段学习比例和正比例概念,也可用于教师课堂演示或学生自主探索,培养从图形到代数建模的思维。
GeoGebra 命令及参数
Polygon(P_1, P_2, P_3, P_4) → ModelBar1, p_1, p_2, p_3, p_4Textfield(a) → inputBox1Textfield(NameItem1) → inputBox2Textfield(NameItem2) → inputBox3Textfield(b) → inputBox4Sequence(Segment[(x(P_1) + ((i * c) * scalefactor / a), y(P_1)), (x(P_1) + ((i * c) * scalefactor / a), barwidth)], i, 1, a, 1) → UnitPartforItem1Sequence(Segment[(x(P_1) + ((i * c) * scalefactor / b), y(P_1)), (x(P_1) + ((i * c) * scalefactor / b), barwidth)], i, 1, b, 1) → UnitPartforItem2Vector(P_{1s}, P_{1e}) → v_{1r}Vector(P_{1e}, P_{1s}) → v_{1l}Midpoint(P_{1s}, P_{1e}) → P_{1txt1}Vector(P_{2s}, P_{2e}) → v_{2r}Vector(P_{2e}, P_{2s}) → v_{2l}Midpoint(P_{2s}, P_{2e}) → P_{2txt1}Vector((x(P_1) + (c * scalefactor / a), barwidth + spacer / 3), (x(P_1), barwidth + spacer / 3)) → s_{1l}Vector((x(P_1), barwidth + spacer / 3), (x(P_1) + (c * scalefactor / a), barwidth + spacer / 3)) → s_{1r}Segment((x(P_1) + (c * scalefactor / a), barwidth), (x(P_1) + (c * scalefactor / a), barwidth + spacer / 3)) → g_1Segment((x(P_1), barwidth), (x(P_1), barwidth + spacer / 3)) → f_1Segment((x(P_1), 1), (x(P_1), 1 - spacer / 3)) → f_2Segment((x(P_1) + (c * scalefactor / a), 1), (x(P_1) + (c * scalefactor / a), 1 - spacer / 3)) → g_2Vector((x(P_1), 1 - spacer / 3), (x(P_1) + (c * scalefactor / a), 1 - spacer / 3)) → s_{12r}Vector((x(P_1) + (c * scalefactor / a), 1 - spacer / 3), (x(P_1), 1 - spacer / 3)) → s_{12l}Textfield(a_2) → inputBox5Textfield(b_2) → inputBox6Vector((x(P_1) + ((a_2 * c) * scalefactor / a), barwidth + (2 * spacer / 3)), (x(P_1), barwidth + (2 * spacer / 3))) → s_{1nl}Vector((x(P_1), barwidth + (2 * spacer / 3)), (x(P_1) + ((a_2 * c) * scalefactor / a), barwidth + (2 * spacer / 3))) → s_{1nr}Sequence(Segment[(x(P_1) + ((i * c) * scalefactor / a), y(P_1)), (x(P_1) + ((i * c) * scalefactor / a), barwidth)], i, 1, a_2, 1) → nPartsForItem1Polygon(P_1, P_{2n1}, P_{3n1}, P_4) → ModelBarn1, p_5, p_{2n1}, p_{3n1}, p_6Segment((x(P_1), barwidth), (x(P_1), barwidth + (2 * spacer / 3))) → f_{1n}Segment((x(P_{2n1}), barwidth), (x(P_{2n1}), barwidth + (2 * spacer / 3))) → g_{1n}Segment((x(P_1), barwidth), (x(P_1), barwidth + spacer)) → f_0Segment((x(P_2), barwidth), (x(P_2), barwidth + spacer)) → g_0Vector((x(P_1), 1 - (2 * spacer / 3)), (x(P_1) + ((a_2 * c) * scalefactor / a), 1 - (2 * spacer / 3))) → s_{1n2r}Vector((x(P_1) + ((a_2 * c) * scalefactor / a), 1 - (2 * spacer / 3)), (x(P_1), 1 - (2 * spacer / 3))) → s_{1n2l}Segment((x(P_1), 1), (x(P_1), 1 - (2 * spacer / 3))) → f_{1n2}Segment((x(P_{2n1}), 1), (x(P_{2n1}), 1 - (2 * spacer / 3))) → g_{1n2}Segment((x(P_1), 1), (x(P_1), 1 - spacer)) → d_0Segment((x(P_2), 1), (x(P_2), 1 - spacer)) → e_0Vector((x(P_1) + (c * scalefactor / b), 1 - spacer / 3), (x(P_1), 1 - spacer / 3)) → s_{2l}Vector((x(P_1), 1 - spacer / 3), (x(P_1) + (c * scalefactor / b), 1 - spacer / 3)) → s_{2r}Segment((x(P_1), 1), (x(P_1), 1 - spacer / 3)) → d_1Segment((x(P_1) + (c * scalefactor / b), 1), (x(P_1) + (c * scalefactor / b), 1 - spacer / 3)) → e_1Segment((x(P_1) + (c * scalefactor / b), barwidth), (x(P_1) + (c * scalefactor / b), barwidth + spacer / 3)) → e_2Segment((x(P_1), barwidth), (x(P_1), barwidth + spacer / 3)) → d_2Vector((x(P_1), barwidth + spacer / 3), (x(P_1) + (c * scalefactor / b), barwidth + spacer / 3)) → s_{21r}Vector((x(P_1) + (c * scalefactor / b), barwidth + spacer / 3), (x(P_1), barwidth + spacer / 3)) → s_{21l}Polygon(P_1, P_{2n2}, P_{3n2}, P_4) → ModelBarn2, p_7, p_{2n2}, p_{3n2}, p_8Sequence(Segment[(x(P_1) + ((i * c) * scalefactor / b), y(P_1)), (x(P_1) + ((i * c) * scalefactor / b), barwidth)], i, 1, b_2, 1) → nPartsForItem2Segment((x(P_{2n2}), 1), (x(P_{2n2}), 1 - (2 * spacer / 3))) → e_{1n}Segment((x(P_1), 1), (x(P_1), 1 - (2 * spacer / 3))) → d_{1n}Vector((x(P_{2n2}), 1 - (2 * spacer / 3)), (x(P_1), 1 - (2 * spacer / 3))) → s_{2nl}Vector((x(P_1), 1 - (2 * spacer / 3)), (x(P_{2n2}), 1 - (2 * spacer / 3))) → s_{2nr}Segment((x(P_{2n2}), barwidth), (x(P_{2n2}), barwidth + (2 * spacer / 3))) → e_{1n2}Segment((x(P_1), barwidth), (x(P_1), barwidth + (2 * spacer / 3))) → d_{1n2}Vector((x(P_1), barwidth + (2 * spacer / 3)), (x(P_{2n2}), barwidth + (2 * spacer / 3))) → s_{2n1r}Vector((x(P_{2n2}), barwidth + (2 * spacer / 3)), (x(P_1), barwidth + (2 * spacer / 3))) → s_{2n1l}
AI 绘图提示语参考
画一个条形模型,表示比例、速率和直接比例问题。首先画一个矩形条形,然后根据输入框 a 和 b 的值,分别在条形上画出 a 个和 b 个单位部分。接着画辅助线和向量,标注条形的起始和结束点。最后,根据输入框 a_2 和 b_2 的值,调整条形的单位部分数量,并画出新的辅助线和向量。
以上提示语为根据原始绘图命令整理而来,仅供参考。