勾股定理的“无字证明”:铰接拼图分割演示

勾股定理的“无字证明”:铰接拼图分割演示
几何画板及绘图内容加载中,请稍等……
2021-03-01 00:40
这个范例用一组“铰接分割”(hinged dissection)的拼合方式,将直角三角形的面积关系直观转化为平方之间的相等关系,从而实现勾股定理的无字证明。核心数学概念包括:直角三角形的两直角边与斜边对应的平方面积关系、面积守恒/拼接等价、以及通过几何约束构造直角与中线/角平分结构来驱动分割块的对应。作图要点可从构造摘要提炼为:通过 Intersect 生成关键交点,使用 Point 与 Polygon 组织分割区域;用 Midpoint、Centroid 提供几何支撑点并确定构件;借助 Line、OrthogonalLine、LineBisector 与 AngularBisector 建立垂线、角平分与辅助对称结构;用 Circle 与 Angle 进行必要的圆/角关系定位;再利用 If 处理条件分支与旋转/反射的构造逻辑;最后通过 Rotate、Mirror 把若干多边形块在平面内铰接式地移动与翻转,使“一个大平方由多个小块拼成”的对应在图形中保持成立。适合中学几何学习者用于引导理解“拼接证明”和面积等价思想,也可用于数学课堂的可视化教学或竞赛备课。

GeoGebra 命令及参数

  1. Intersect(xAxis, yAxis) → A
  2. Point(xAxis) → B
  3. Polygon(A, B, 4) → poly1, f, g, h, i, C, D
  4. Point(h) → E
  5. Midpoint(h) → F
  6. Midpoint(i) → G
  7. Midpoint(f) → H
  8. Midpoint(g) → I
  9. Centroid(poly1) → J
  10. Line(E, B) → j
  11. OrthogonalLine(D, j) → k
  12. OrthogonalLine(C, j) → l
  13. OrthogonalLine(D, l) → m
  14. OrthogonalLine(A, m) → n
  15. Line(F, H) → p
  16. Line(G, I) → q
  17. Intersect(l, p) → K
  18. Intersect(j, q) → L
  19. Intersect(m, q) → N
  20. Polygon(D, F, J, N) → q1, d_1, f_1, j_1, n_2
  21. Line(C, B) → r
  22. Intersect(k, r) → O
  23. LineBisector(D, O) → s
  24. AngularBisector(k, m) → t, e
  25. Intersect(s, t) → P
  26. Circle(J, Segment[P, D]) → e_1
  27. Line(D, B) → p_1
  28. Line(A, C) → q_1
  29. Intersect(e_1, p_1) → Q, R
  30. Intersect(e_1, q_1) → S, T
  31. OrthogonalLine(Q, q) → r_1
  32. Intersect(q, r_1) → U
  33. LineBisector(Q, D) → s_1
  34. LineBisector(U, N) → t_1
  35. Intersect(t_1, s_1) → V
  36. Angle(Q, V, D) → α
  37. If(0 ≤ o ≤ 1, Polygon[Rotate[D, (o * (-α)), V], Rotate[F, (o * (-α)), V], Rotate[J, (o * (-α)), V], Rotate[N, (o * (-α)), V]]) → q2
  38. Polygon(F, K, C) → t2, c, f_2, k_1
  39. If(0 ≤ o ≤ 1, Rotate[N, (o * (-α)), V]) → NN
  40. If(0 ≤ o ≤ 1, Rotate[F, (o * (-α)), V]) → FF
  41. If(0 ≤ o ≤ 1, Rotate[J, (o * (-α)), V]) → JJ
  42. If(0 ≤ o ≤ 1, Rotate[D, (o * (-α)), V]) → DD
  43. Circle(NN, Segment[K, F]) → c_1
  44. Rotate(If[0 ≤ o ≤ 1, Polygon[Rotate[D, (o * (-α)), V], Rotate[G, (o * (-α)), V], Rotate[N, (o * (-α)), V]]], (o * π), NN) → t3
  45. Rotate(If[0 ≤ o ≤ 1, Rotate[G, (o * (-α)), V]], (o * π), NN) → GG
  46. Mirror(K, J) → K'
  47. Polygon(A, G, J, K') → q3, a, g_1, j_2, k'
  48. Rotate(Rotate[If[0 ≤ o ≤ 1, Polygon[Rotate[A, (o * (-α)), V], Rotate[G, (o * (-α)), V], Rotate[J, (o * (-α)), V], Rotate[K', (o * (-α)), V]]], (o * π), NN], ((-o) * π), GG) → q4
  49. Rotate(Rotate[If[0 ≤ o ≤ 1, Rotate[J, (o * (-α)), V]], (o * π), NN], ((-o) * π), GG) → M
  50. Rotate(Rotate[If[0 ≤ o ≤ 1, Rotate[K', (o * (-α)), V]], (o * π), NN], ((-o) * π), GG) → W
  51. Polygon(A, K', H) → t1, h_1, a_1, b
  52. Rotate(Rotate[Rotate[If[0 ≤ o ≤ 1, Polygon[Rotate[A, (o * (-α)), V], Rotate[K', (o * (-α)), V], Rotate[H, (o * (-α)), V]]], (o * π), NN], ((-o) * π), GG], (o * π), W) → t4
  53. Rotate(Rotate[Rotate[If[0 ≤ o ≤ 1, Rotate[A, (o * (-α)), V]], (o * π), NN], ((-o) * π), GG], (o * π), W) → Z
  54. Rotate(Rotate[Rotate[If[0 ≤ o ≤ 1, Rotate[H, (o * (-α)), V]], (o * π), NN], ((-o) * π), GG], (o * π), W) → A_1
  55. Polygon(B, H, J, L) → q5, b_1, h_2, j_3, l_1
  56. Rotate(Rotate[Rotate[Rotate[If[0 ≤ o ≤ 1, Polygon[Rotate[B, (o * (-α)), V], Rotate[H, (o * (-α)), V], Rotate[J, (o * (-α)), V], Rotate[L, (o * (-α)), V]]], (o * π), NN], ((-o) * π), GG], (o * π), W], ((-o) * π), A_1) → q6
  57. Rotate(Rotate[Rotate[Rotate[If[0 ≤ o ≤ 1, Rotate[J, (o * (-α)), V]], (o * π), NN], ((-o) * π), GG], (o * π), W], ((-o) * π), A_1) → B_1
  58. Rotate(Rotate[Rotate[Rotate[If[0 ≤ o ≤ 1, Rotate[L, (o * (-α)), V]], (o * π), NN], ((-o) * π), GG], (o * π), W], ((-o) * π), A_1) → C_1
  59. Polygon(L, I, B) → t5, b_2, l_2, i_1
  60. Rotate(Rotate[Rotate[Rotate[Rotate[If[0 ≤ o ≤ 1, Polygon[Rotate[L, (o * (-α)), V], Rotate[I, (o * (-α)), V], Rotate[B, (o * (-α)), V]]], (o * π), NN], ((-o) * π), GG], (o * π), W], ((-o) * π), A_1], (o * π), C_1) → t6
  61. Rotate(Rotate[Rotate[Rotate[Rotate[If[0 ≤ o ≤ 1, Rotate[I, (o * (-α)), V]], (o * π), NN], ((-o) * π), GG], (o * π), W], ((-o) * π), A_1], (o * π), C_1) → D_1
  62. Polygon(I, C, K, J) → q7, i_2, c_2, k_2, j_4
  63. Rotate(Rotate[Rotate[Rotate[Rotate[Rotate[If[0 ≤ o ≤ 1, Polygon[Rotate[I, (o * (-α)), V], Rotate[C, (o * (-α)), V], Rotate[K, (o * (-α)), V], Rotate[J, (o * (-α)), V]]], (o * π), NN], ((-o) * π), GG], (o * π), W], ((-o) * π), A_1], (o * π), C_1], ((-o) * π), D_1) → q8
  64. Rotate(Rotate[Rotate[Rotate[Rotate[Rotate[If[0 ≤ o ≤ 1, Rotate[K, (o * (-α)), V]], (o * π), NN], ((-o) * π), GG], (o * π), W], ((-o) * π), A_1], (o * π), C_1], ((-o) * π), D_1) → E_1
  65. Polygon(K, F, C) → t7, c_3, k_3, f_3
  66. Rotate(Rotate[Rotate[Rotate[Rotate[Rotate[Rotate[If[0 ≤ o ≤ 1, Polygon[Rotate[K, (o * (-α)), V], Rotate[F, (o * (-α)), V], Rotate[C, (o * (-α)), V]]], (o * π), NN], ((-o) * π), GG], (o * π), W], ((-o) * π), A_1], (o * π), C_1], ((-o) * π), D_1], (o * π), E_1) → t8

AI 绘图提示语参考

画一个直角三角形,将其切割成若干多边形碎片,然后通过旋转和反射重新组合成两个直角三角形的拼图,展示勾股定理的面积相等关系。关键对象包括直角三角形、切割后的多边形、旋转和反射的变换点,以及相关的线段和圆。构造顺序:先画出直角三角形,再切割出碎片,然后通过旋转和反射重新排列碎片,使两个直角三角形的面积匹配,体现几何等价性。
以上提示语为根据原始绘图命令整理而来,仅供参考。