无字证明:五边形与勾股定理的几何直观

无字证明:五边形与勾股定理的几何直观
几何画板及绘图内容加载中,请稍等……
2019-06-01 08:43
该范例通过纯几何构造,以“无字证明”的方式直观展示五边形中蕴含的勾股定理关系。核心数学概念包括勾股定理、等边三角形、几何平均以及连续性与分形几何的视觉联系。作图要点:利用GeoGebra的Point、Semicircle、Polygon、Centroid、Midpoint、Mirror、Line、Intersect、Rotate、Translate、Angle、Dilate、If等命令,创建了多个多边形(poly1、poly2、poly3)、半圆、镜像与旋转对象,并通过滑块n控制动态变化,最终形成一幅无需文字即可验证数学命题的图形。适合中学及以上学段用于几何直观教学、数学证明的启发式学习,也可作为数学艺术与分形探索的素材。

GeoGebra 命令及参数

  1. Point(yAxis) → A
  2. Point(yAxis) → B
  3. Semicircle(A, B) → c
  4. Point(c) → C
  5. Polygon(A, C, 5) → poly1, f, g, h, i, j, D, E, F
  6. Polygon(C, B, 5) → poly2, n, p, q, r, s, J, K, L
  7. Polygon(B, A, 5) → poly3, k, l, m, t, a, G, H, I
  8. Centroid(poly2) → V
  9. Midpoint(n) → M
  10. Midpoint(s) → N
  11. Midpoint(r) → O
  12. Midpoint(q) → P
  13. Midpoint(p) → Q
  14. Mirror(A, n) → A'
  15. Line(B, A') → b
  16. Line(V, M) → d
  17. Intersect(b, d) → R
  18. Polygon(V, R, B, Q) → q1, v, r_1, b_1, q_1
  19. Rotate(R, (2 * π / 5), V) → R'
  20. Rotate(R', (2 * π / 5), V) → R''
  21. Rotate(R'', (2 * π / 5), V) → R'''
  22. Rotate(R''', (2 * π / 5), V) → S
  23. Polygon(V, R', J, P) → q2, v_1, r', j_1, p_1
  24. Polygon(V, R'', K, O) → q3, v_2, r'', k_1, o_1
  25. Polygon(V, R''', L, N) → q4, v_3, r''', l_1, n_1
  26. Polygon(V, S, C, M) → q5, v_4, s_1, c_1, m_1
  27. Translate(R, Vector[B, H]) → R'_1
  28. Angle(R'_1, H, G) → aa
  29. Dilate(B, 1 - o, H) → B'
  30. 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]) → q6
  31. If(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]) → q7
  32. If(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]) → q8
  33. If(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]) → q9
  34. If(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]) → q10
  35. If(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]) → q11
  36. Polygon(B, R, M) → t1, m_2, b_2, r_2
  37. Polygon(Q, J, R') → t2, e, q_2, j_2
  38. Polygon(P, K, R'') → t3, f_1, p_2, k_2
  39. Polygon(R''', O, L) → t4, l_2, g_1, o_2
  40. Polygon(S, N, C) → t5, c_2, s_2, n_2
  41. Rotate(Translate[M, G - C], aa, G) → T
  42. Angle(H, G, T) → bb
  43. Line(I, B) → h_1
  44. Line(B, R) → i_1
  45. Angle(h_1, i_1) → cc
  46. If(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]) → t7
  47. If(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]) → t8
  48. If(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]) → t9
  49. If(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]) → t10
  50. If(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]) → t11
  51. Centroid(poly3) → U
  52. Centroid(poly1) → W
  53. Polygon(A, F, E, D, C) → poly4, a_1, f_2, e_1, d_1, c_3
  54. If(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]) → poly5
  55. Angle(A, C, B) → α