无字证明:五边形与勾股定理的几何直观
几何画板及绘图内容加载中,请稍等……
该范例通过纯几何构造,以“无字证明”的方式直观展示五边形中蕴含的勾股定理关系。核心数学概念包括勾股定理、等边三角形、几何平均以及连续性与分形几何的视觉联系。作图要点:利用GeoGebra的Point、Semicircle、Polygon、Centroid、Midpoint、Mirror、Line、Intersect、Rotate、Translate、Angle、Dilate、If等命令,创建了多个多边形(poly1、poly2、poly3)、半圆、镜像与旋转对象,并通过滑块n控制动态变化,最终形成一幅无需文字即可验证数学命题的图形。适合中学及以上学段用于几何直观教学、数学证明的启发式学习,也可作为数学艺术与分形探索的素材。
GeoGebra 命令及参数
Point(yAxis) → APoint(yAxis) → BSemicircle(A, B) → cPoint(c) → CPolygon(A, C, 5) → poly1, f, g, h, i, j, D, E, FPolygon(C, B, 5) → poly2, n, p, q, r, s, J, K, LPolygon(B, A, 5) → poly3, k, l, m, t, a, G, H, ICentroid(poly2) → VMidpoint(n) → MMidpoint(s) → NMidpoint(r) → OMidpoint(q) → PMidpoint(p) → QMirror(A, n) → A'Line(B, A') → bLine(V, M) → dIntersect(b, d) → RPolygon(V, R, B, Q) → q1, v, r_1, b_1, q_1Rotate(R, (2 * π / 5), V) → R'Rotate(R', (2 * π / 5), V) → R''Rotate(R'', (2 * π / 5), V) → R'''Rotate(R''', (2 * π / 5), V) → SPolygon(V, R', J, P) → q2, v_1, r', j_1, p_1Polygon(V, R'', K, O) → q3, v_2, r'', k_1, o_1Polygon(V, R''', L, N) → q4, v_3, r''', l_1, n_1Polygon(V, S, C, M) → q5, v_4, s_1, c_1, m_1Translate(R, Vector[B, H]) → R'_1Angle(R'_1, H, G) → aaDilate(B, 1 - o, H) → B'If(0 < o ≤ 1, Rotate[Polygon[Translate[V, B' - B], Translate[R, B' - B], Translate[B, B' - B], Translate[Q, B' - B]], ((o - 0) * aa), B'], Rotate[Polygon[Translate[V, H - B], Translate[R, H - B], Translate[B, H - B], Translate[Q, H - B]], aa, H]) → q6If(2 < o ≤ 3, Rotate[Polygon[Translate[V, Vector[J, Dilate[J, 3 - o, I]]], Translate[R', Vector[J, Dilate[J, 3 - o, I]]], Translate[J, Vector[J, Dilate[J, 3 - o, I]]], Translate[P, Vector[J, Dilate[J, 3 - o, I]]]], ((o - 2) * aa), Dilate[J, 3 - o, I]], Rotate[Polygon[Translate[V, I - J], Translate[R', I - J], Translate[J, I - J], Translate[P, I - J]], aa, I]) → q7If(4 < o ≤ 5, Rotate[Polygon[Translate[V, Vector[K, Dilate[K, 5 - o, B]]], Translate[R'', Vector[K, Dilate[K, 5 - o, B]]], Translate[K, Vector[K, Dilate[K, 5 - o, B]]], Translate[O, Vector[K, Dilate[K, 5 - o, B]]]], ((o - 4) * aa), Dilate[K, 5 - o, B]], Rotate[Polygon[Translate[V, B - K], Translate[R'', B - K], Translate[K, B - K], Translate[O, B - K]], aa, B]) → q8If(4 < o ≤ 5, Rotate[Polygon[Translate[V, Vector[K, Dilate[K, 5 - o, B]]], Translate[R'', Vector[K, Dilate[K, 5 - o, B]]], Translate[K, Vector[K, Dilate[K, 5 - o, B]]], Translate[O, Vector[K, Dilate[K, 5 - o, B]]]], ((o - 4) * aa), Dilate[K, 5 - o, B]], Rotate[Polygon[Translate[V, B - K], Translate[R'', B - K], Translate[K, B - K], Translate[O, B - K]], aa, B]) → q9If(6 < o ≤ 7, Rotate[Polygon[Translate[V, Vector[L, Dilate[L, 7 - o, A]]], Translate[R''', Vector[L, Dilate[L, 7 - o, A]]], Translate[L, Vector[L, Dilate[L, 7 - o, A]]], Translate[N, Vector[L, Dilate[L, 7 - o, A]]]], ((o - 6) * aa), Dilate[L, 7 - o, A]], Rotate[Polygon[Translate[V, A - L], Translate[R''', A - L], Translate[L, A - L], Translate[N, A - L]], aa, A]) → q10If(8 < o ≤ 9, Rotate[Polygon[Translate[V, Vector[C, Dilate[C, 9 - o, G]]], Translate[S, Vector[C, Dilate[C, 9 - o, G]]], Translate[C, Vector[C, Dilate[C, 9 - o, G]]], Translate[M, Vector[C, Dilate[C, 9 - o, G]]]], ((o - 8) * aa), Dilate[C, 9 - o, G]], Rotate[Polygon[Translate[V, G - C], Translate[S, G - C], Translate[C, G - C], Translate[M, G - C]], aa, G]) → q11Polygon(B, R, M) → t1, m_2, b_2, r_2Polygon(Q, J, R') → t2, e, q_2, j_2Polygon(P, K, R'') → t3, f_1, p_2, k_2Polygon(R''', O, L) → t4, l_2, g_1, o_2Polygon(S, N, C) → t5, c_2, s_2, n_2Rotate(Translate[M, G - C], aa, G) → TAngle(H, G, T) → bbLine(I, B) → h_1Line(B, R) → i_1Angle(h_1, i_1) → ccIf(10 < o ≤ 11, Rotate[Polygon[Translate[B, Vector[B, Dilate[B, 11 - o, I]]], Translate[R, Vector[B, Dilate[B, 11 - o, I]]], Translate[M, Vector[B, Dilate[B, 11 - o, I]]]], ((-(o - 10)) * cc), Dilate[B, 11 - o, I]], Rotate[Polygon[Translate[B, I - B], Translate[R, I - B], Translate[M, I - B]], (-cc), I]) → t7If(12 < o ≤ 13, Rotate[Polygon[Translate[Q, Vector[J, Dilate[J, 13 - o, B]]], Translate[J, Vector[J, Dilate[J, 13 - o, B]]], Translate[R', Vector[J, Dilate[J, 13 - o, B]]]], ((-(o - 12)) * cc), Dilate[J, 13 - o, B]], Rotate[Polygon[Translate[Q, B - J], Translate[J, B - J], Translate[R', B - J]], (-cc), B]) → t8If(14 < o ≤ 15, Rotate[Polygon[Translate[P, Vector[K, Dilate[K, 15 - o, A]]], Translate[K, Vector[K, Dilate[K, 15 - o, A]]], Translate[R'', Vector[K, Dilate[K, 15 - o, A]]]], ((-(o - 14)) * cc), Dilate[K, 15 - o, A]], Rotate[Polygon[Translate[P, A - K], Translate[K, A - K], Translate[R'', A - K]], (-cc), A]) → t9If(16 < o ≤ 17, Rotate[Polygon[Translate[R''', Vector[L, Dilate[L, 17 - o, G]]], Translate[O, Vector[L, Dilate[L, 17 - o, G]]], Translate[L, Vector[L, Dilate[L, 17 - o, G]]]], ((-(o - 16)) * cc), Dilate[L, 17 - o, G]], Rotate[Polygon[Translate[R''', G - L], Translate[O, G - L], Translate[L, G - L]], (-cc), G]) → t10If(18 < o ≤ 19, Rotate[Polygon[Translate[S, Vector[C, Dilate[C, 19 - o, H]]], Translate[N, Vector[C, Dilate[C, 19 - o, H]]], Translate[C, Vector[C, Dilate[C, 19 - o, H]]]], ((-(o - 18)) * cc), Dilate[C, 19 - o, H]], Rotate[Polygon[Translate[S, H - C], Translate[N, H - C], Translate[C, H - C]], (-cc), H]) → t11Centroid(poly3) → UCentroid(poly1) → WPolygon(A, F, E, D, C) → poly4, a_1, f_2, e_1, d_1, c_3If(20 < o ≤ 21, Rotate[Polygon[Translate[A, Vector[W, Dilate[W, 21 - o, U]]], Translate[F, Vector[W, Dilate[W, 21 - o, U]]], Translate[E, Vector[W, Dilate[W, 21 - o, U]]], Translate[D, Vector[W, Dilate[W, 21 - o, U]]], Translate[C, Vector[W, Dilate[W, 21 - o, U]]]], ((-(o - 20)) * cc), Dilate[W, 21 - o, U]], Rotate[Polygon[Translate[A, U - W], Translate[F, U - W], Translate[E, U - W], Translate[D, U - W], Translate[C, U - W]], (-cc), U]) → poly5Angle(A, C, B) → α