分式加法可视化:从分段图到结果分数
几何画板及绘图内容加载中,请稍等……
该范例演示如何通过图形化方式完成分式加法:将两个分式对应的几何/代数片段表示出来,再拼接与对比得到最终的分数表达。核心数学概念包括:分式的加法运算、同分母合并与等值变形;同时利用分段函数思想与图形曲线(如抛物线/一般曲线片段)的拼接来直观体现“条件不同、表达式不同”的结构。作图要点体现在构造摘要中:使用 Point、Segment、Polygon 组织关键点与连接边;用 If 与 Ray 指定分段条件与射线/方向约束;用 Sequence、Textfield、FractionText 生成并更新分数标注(fraction1、fraction2、finalfractional 等);用 Vector 与 Text(text3~text8)标记中间量与高度/位置;并通过列表与几何对象(list1~list4、poly1~poly4、c1~c2、poly3~poly4)完成图形拼接与“最终结果”显示。适合中学到大学基础数学学习者,用于代数运算可视化、函数图像理解与分段建模教学。
GeoGebra 命令及参数
Point(yAxis) → CPoint(Segment[C + (0, h), C + (0, (1.85 * h))]) → BIf(t ≤ 0.5, 0, (2 * (t - 0.5))) → t2If(t ≤ 0.5, (2 * t), 1) → t1Point(Segment[B + (0, h), B + (0, (1.85 * h))]) → ARay((0, 1.9), (0, 2.9)) → fPolygon({A, A + (l, 0), A + (l, h), A + (0, h)}) → poly1Polygon({B, B + (l, 0), B + (l, h), B + (0, h)}) → poly2Sequence(Segment[A + ((i * l / a1), 0), A + ((i * l / a1), h)], i, 1, a1 - 1) → list1Sequence(Segment[B + ((i * l / a2), 0), B + ((i * l / a2), h)], i, 1, a2 - 1) → list2Polygon({A, A + ((b1 * l / a1), 0), A + ((b1 * l / a1), h), A + (0, h)}) → poly3Polygon({B, B + ((b2 * l / a2), 0), B + ((b2 * l / a2), h), B + (0, h)}) → poly4Sequence(Sequence[Segment[A + ((i * l / a1) + (j * l / ((a1 * c1))), 0), A + ((i * l / a1) + (j * l / ((a1 * c1))), h)], j, 1, c1 - 1], i, 0, a1 - 1) → list3Sequence(Sequence[Segment[B + ((i * l / a2) + (j * l / ((a2 * c2))), 0), B + ((i * l / a2) + (j * l / ((a2 * c2))), h)], j, 1, c2 - 1], i, 0, a2 - 1) → list4If(a1 ≟ a2, true, false) → equaldIf(equald ∧ (Div[b1 + b2, a1] > 0 ∨ GCD[b1 + b2, a1] > 1), true, If[Div[(b1 * c1) + (b2 * c2), (a1 * c1)] > 0 ∨ GCD[(b1 * c1) + (b2 * c2), (a1 * c1)] > 1, true, false]) → simplifyTextfield(a1) → InputBox1Textfield(b1) → InputBox2Textfield(a2) → InputBox3Textfield(b2) → InputBox4Polygon({A', A' + (l, 0), A' + (l, h), A' + (0, h)}) → poly5Polygon({B', B' + ((b2 / a2 * l), 0), B' + ((b2 / a2 * l), h), B' + (0, h)}) → poly6Polygon({A', A' + ((b1 * l / a1), 0), A' + ((b1 * l / a1), h), A' + (0, h)}) → poly7Polygon({B', B' + ((b2 * l / a2), 0), B' + ((b2 * l / a2), h), B' + (0, h)}) → poly8Sequence(Sequence[Segment[A' + ((i * l / a1) + (j * l / ((a1 * c1))), 0), A' + ((i * l / a1) + (j * l / ((a1 * c1))), h)], j, 1, c1 - 1], i, 0, b1 - 1) → list8Sequence(Sequence[Segment[B' + ((i * l / a2) + (j * l / ((a2 * c2))), 0), B' + ((i * l / a2) + (j * l / ((a2 * c2))), h)], j, 1, c2 - 1], i, 0, b2 - 1) → list9Segment(C - (0, 0.5), C - (0, 1)) → gSegment(C + ((b1 / a1 * l), -0.5), C + ((b1 / a1 * l), -1)) → iSegment(C + ((b1 / a1 * l) + (b2 / a2 * l), -0.5), C + ((b1 / a1 * l) + (b2 / a2 * l), -1)) → jVector(Midpoint[g], Midpoint[i]) → uVector(Midpoint[i], Midpoint[g]) → vVector(Midpoint[i], Midpoint[j]) → wVector(Midpoint[j], Midpoint[i]) → aSequence(Segment[A' + ((i * l / a1), 0), A' + ((i * l / a1), h)], i, 0, b1) → list6Sequence(Segment[B' + ((i * l / a2), 0), B' + ((i * l / a2), h)], i, 0, b2) → list7Sequence(Polygon[{C + ((i * l), 0), C + ((i * l) + l, 0), C + ((i * l) + l, h), C + ((i * l), h)}], i, 1, floor(b1 / a1 + b2 / a2)) → list5Segment(B', B' + ((b2 / a2 * l), 0)) → kSegment(B' + ((b2 / a2 * l), h), B' + (0, h)) → mIf(b1 / a1 + b2 / a2 ≥ 1, true, false) → improperFractionText(b1 / a1 + b2 / a2) → text19FractionText(b1 / a1 + b2 / a2 - 1) → text20Sequence(Sequence[Segment[C + ((i * l / ((a1 * c1))) + (j * l), 0), C + ((i * l / ((a1 * c1))) + (j * l), h)], i, 1, (a1 * c1) - 1], j, 0, If[b1 / a1 + b2 / a2 ≤ 1, 0, 1]) → list10
AI 绘图提示语参考
画一个几何图形来演示分数加法。首先,在水平线上创建两个矩形,分别代表两个分数的分子和分母。然后,用不同颜色的线段将矩形分割成小部分,表示分数的各个部分。接着,将两个矩形组合在一起,用虚线连接对应的部分,展示分数加法的计算过程。最后,用一个大的矩形表示最终结果,并用文字标注每个部分的值和分数的总和。
以上提示语为根据原始绘图命令整理而来,仅供参考。