无字证明:平行四边形的面积
几何画板及绘图内容加载中,请稍等……
① 本范例通过动态几何演示平行四边形的面积等于底乘高,以无字证明的方式直观呈现面积公式的推导过程。② 核心数学概念包括平行四边形的面积、底和高、平移变换、向量以及几何构造中的等积变形。③ 作图要点:从构造摘要可见,使用了Point、Segment、DynamicCoordinates、Sequence、Sort、Intersect、Join、Take、Element、Midpoint、RotateText、Angle、Mirror、OrthogonalLine、Vector、Translate等GeoGebra命令,创建了多个点、线段、向量和动态对象,并通过平移和镜像等变换将平行四边形转化为矩形,从而直观展示面积不变性。④ 适合中学几何教学、数学教师课堂演示以及学生自主探索面积公式的直观理解,也可用于数学科普展示无字证明的魅力。
GeoGebra 命令及参数
Point(Line[B, B + (1, 0)]) → PPoint(Ray[B, B + (1, 0)]) → CSegment(B, C) → hDynamicCoordinates(Z, If[x(Z) > x(B) + 0.2, x(Z), x(B) + 0.2], y(Z)) → ASequence(B + (i * (c, d)), i, 0, n) → list1Sequence(C + (i * (c, d)), i, 0, n) → list2Sort(Union[list1, list2]) → list3Intersect(b, OrthogonalLine[Element[list3, (2 * n) + 2], b]) → EJoin({Sequence[Translate[Polygon[Element[list3, i], Element[list3, i + 1], Element[list3, i + 2]], Vector[(If[i ≤ floor(Animation), 1, If[i ≟ floor(Animation) + 1, Animation - floor(Animation), 0]] * Vector[Element[list3, i], (x(P), y(Element[list3, i]))])]], i, 1, (2 * n)], {Translate[Polygon[Element[list3, (2 * n) + 1], Element[list3, (2 * n) + 2], E, A], Vector[(If[Animation ≤ (2 * n), 0, If[floor(Animation) ≟ (2 * n), Animation - floor(Animation), 1]] * Vector[Element[list3, (2 * n) + 1], (x(P), y(Element[list3, (2 * n) + 1]))])]], Translate[Polygon[Element[list3, (2 * n) + 2], E, D], Vector[(If[Animation ≤ (2 * n) + 1, 0, If[floor(Animation) ≟ (2 * n) + 1, Animation - floor(Animation), 1]] * Vector[Element[list3, (2 * n) + 2], (x(P), y(Element[list3, (2 * n) + 2]))])]]}}) → list6Take(Join[{Sequence[Polygon[Element[list3, i], Element[list3, i + 1], Element[list3, i + 2]], i, 1, (2 * n)], {Polygon[Element[list3, (2 * n) + 1], Element[list3, (2 * n) + 2], E, A], Polygon[Element[list3, (2 * n) + 2], E, D]}}], 1, floor(Animation)) → list4Segment(Intersect[b, OrthogonalLine[P, a]], P) → fSegment(A, B) → eSegment(B, C) → gSegment(C, D) → iSegment(D, A) → jSegment(P, P + C - B) → lElement(list6, A1) → B1Element(list6, A2) → B2Element(list6, A3) → B3Element(list6, A4) → B4Element(list6, A5) → B5Element(list6, A6) → B6Element(list6, A7) → B7Element(list6, A8) → B8Element(list6, A9) → B9Element(list6, A10) → B10Element(list6, A11) → B11Element(list6, A12) → B12Element(list6, A13) → B13Element(list6, A14) → B14Element(list6, A15) → B15Element(list6, A16) → B16Element(list6, A17) → B17Element(list6, A18) → B18Element(list6, A19) → B19Element(list6, A20) → B20Element(list6, A1) → C1Element(list6, A2) → C2Element(list6, A3) → C3Element(list6, A4) → C4Element(list6, A5) → C5Element(list6, A6) → C6Element(list6, A7) → C7Element(list6, A8) → C8Element(list6, A9) → C9Element(list6, A10) → C10Element(list6, A11) → C11Element(list6, A12) → C12Element(list6, A13) → C13Element(list6, A14) → C14Element(list6, A15) → C15Element(list6, A16) → C16Element(list6, A17) → C17Element(list6, A18) → C18Element(list6, A19) → C19Element(list6, A20) → C20Midpoint(f) → FRotateText("Hauteur", 90°) → texte1Angle(Intersect[b, OrthogonalLine[P, a]], P, B) → αIntersect(f, b) → GMirror(B, P) → B'Angle(B', P, G) → βElement(list4, A1) → D1Element(list4, A2) → D2Element(list4, A3) → D3Element(list4, A4) → D4Element(list4, A5) → D5Element(list4, A6) → D6Element(list4, A7) → D7Element(list4, A8) → D8Element(list4, A9) → D9Element(list4, A10) → D10Element(list4, A11) → D11Element(list4, A12) → D12Element(list4, A13) → D13Element(list4, A14) → D14Element(list4, A15) → D15Element(list4, A16) → D16Element(list4, A17) → D17Element(list4, A18) → D18Element(list4, A19) → D19Element(list4, A20) → D20Midpoint(G, J) → KOrthogonalLine(D, b) → kIntersect(a, k) → LSegment(D, L) → mAngle(P, L, D) → γVector(L, P) → uTranslate(D, Vector[(Animation / ((2 * n) + 2) * u)]) → D'Translate(L, Vector[(Animation / ((2 * n) + 2) * u)]) → L'Segment(D', L') → m'Midpoint(m) → MRotateText("Hauteur", 90°) → texte6