配方法(二次)——交互式练习与即时反馈 by Tim Brzezinski
几何画板及绘图内容加载中,请稍等……
该范例演示了如何通过几何与代数结合的方式,直观展示二次函数配方法(Completing the Square)的步骤与结果。核心数学概念是二次函数的顶点式变换、完全平方公式以及代数恒等变形。作图要点包括:使用GeoGebra的Segment、Polygon、Sequence、Point、Dilate、Rotate、Vector、Translate、Distance、Textfield等命令,构建了动态的几何图形(如多边形、线段、点)和文本输入框,通过滑块或拖动点来改变二次项系数,实时更新配方法的过程与图形面积表示。适合中学数学(初中高年级至高中)的代数与函数教学,也可用于学生自主练习与教师课堂演示,提供即时反馈以强化理解。
GeoGebra 命令及参数
Segment(A, B) → fSegment(D, C) → hSegment(C, A) → iPolygon(A, B, D, C) → poly1, a_1, b_1, d, cSequence((a + i, 0), i, 0, abs(b / 2), 1) → bottomsSequence((a + i, a), i, 0, abs(b / 2), 1) → topsSequence((0, a + i), i, 0, abs(b / 2), 1) → leftsSequence((a, a + i), i, 0, abs(b / 2), 1) → rightsSequence(Dilate[Element[bottoms, i], If[0 < g ≤ 1, 1 - g, 0], Element[tops, i]], i, 0, abs(b / 2) + 1, 1) → bottomsmoveSequence(Dilate[Element[lefts, i], If[1 < g ≤ 2, 2 - g, 0], Element[rights, i]], i, 0, abs(b / 2) + 1, 1) → leftsmovePoint(bottomsmove) → ESegment(B, E) → jDilate(C, If[1 < g ≤ 2, 2 - g, 0], D) → C'Segment(C, C') → kPolygon(D, H, F, G) → poly2, d_1, h_1, f_1, g_1Dilate(H, If[2 < g ≤ 3, 3 - g, 0], F) → H'Dilate(G, If[2 < g ≤ 3, 3 - g, 0], F) → G'Dilate(I, If[2 < g ≤ 3, 3 - g, 0], A) → I'Segment(I, I') → lRotate(I, If[3 < g ≤ 4, ((-(g - 3)) * π / 2), ((-π)) / 2], A) → I'_1Rotate(I', If[3 < g ≤ 4, ((-(g - 3)) * π / 2), ((-π)) / 2], A) → I''Segment(I'_1, I'') → l'Rotate(I'_1, If[4 < g ≤ 5, ((-(g - 4)) * π / 2), ((-π)) / 2], I'_1) → JRotate(I'', If[4 < g ≤ 5, ((-(g - 4)) * π / 2), ((-π)) / 2], I'_1) → I'''Segment(J, I''') → l''Dilate(A, If[5 < g ≤ 6, 6 - g, 0], I) → A'Vector(A, A') → uTranslate(I'_1, u) → KTranslate(I'', u) → I'''_1Segment(K, I'''_1) → l''_1Sequence(Segment[Element[bottoms, i + 1], Element[bottomsmove, i + 2]], i, 1, abs(b / 2), 1) → list1Sequence(Segment[Element[lefts, i + 1], Element[leftsmove, i + 2]], i, 1, abs(b / 2), 1) → list2Sequence(Polygon[Element[bottoms, i], Element[bottoms, i + 1], Element[tops, i + 1], Element[tops, i]], i, 1, abs(b / 2), 1) → list3Sequence(Polygon[Element[lefts, i], Element[lefts, i + 1], Element[rights, i + 1], Element[rights, i]], i, 1, abs(b / 2), 1) → list4Distance(D, F) → distanceDFTextfield(b) → InputBox1Textfield(e) → InputBox2