双曲镶嵌{p,q}:用GeoGebra生成{p,q}规则铺砌

双曲镶嵌{p,q}:用GeoGebra生成{p,q}规则铺砌
几何画板及绘图内容加载中,请稍等……
2025-08-19 02:08
所属专题 Teselaciones regulares
本范例展示在双曲几何中,如何根据参数{p,q}生成规则双曲镶嵌(镶嵌图案会向外展开并可配合动画观察扩展过程)。核心数学概念包括:双曲平面中的正多边形镶嵌、{p,q} Schläfli 符号(每个顶点处q个p边形围绕)、圆弧与角度相关的几何约束,以及通过构造循环序列实现镶嵌单元的逐步生成。作图要点:利用 GeoGebra 的命令 Circle、Intersect 计算圆与圆交点,Sequence 迭代产生新顶点,Polygon 构造多边形单元,CircumcircleArc 与 Join 连接圆弧边界,If 控制迭代/停止条件,Flatten 将嵌套对象摊平成平面集合,并配合动画相关对象(如动画开关、速度等)驱动生成过程;对象层面使用了诸如 p、q、初始点P0、方向/向量V、重置与开始/停止标记等来组织生成。适合中学后段到大学的几何与可视化学习,用于双曲几何与镶嵌的直观理解、课堂演示或研究性

GeoGebra 命令及参数

  1. Circle((0, 0), 1) → c
  2. Intersect(Circle[((1 - (sin(pi / p) / cos(pi / q))^(2))^(-1 / 2), 0), ((cos(pi / q) / sin(pi / p))^(2) - 1)^(-1 / 2)], Ray[(0, 0), Rotate[(1, 0), pi / p]], 1) → P0
  3. Sequence(Rotate[P0, ((k * 2) * pi / p)], k, 0, p - 1) → V
  4. Circle(Mirror[V(p), c], V(p), V(1)) → hc1
  5. Polygon(pV) → actualp
  6. Flatten(Join[{{Vac(p)}, {Vac \ {Vac(p)}}}]) → Vacp
  7. Flatten(Join[{{Vac \ {Vac(1)}}, {Vac(1)}}]) → Vac2
  8. Intersect(hc1, Ray[(V(1) + V(p)) / 2, (0, 0)]) → V0,
  9. CircumcircleArc(V(p), V0, V(1)) → arcoCelda
  10. Join(Sequence[Rotate[Sequence[Point[arcoCelda, s], s, 0, 0.9, 0.1], ((2 * k) * pi / p)], k, 0, p - 1]) → celda0
  11. Polygon(celda0) → pol
  12. Sequence({Vac(k), q - 1, ncActual}, k, 3, p - 1) → Vplus
  13. If(floor(p / 2) ≠ p / 2 ∧ q ≟ 3, 4, floor(q / 2) ≟ q / 2, 2, 3) → nc
  14. Sequence({V(k), q - 1, 0}, k, 1, p) → vert0
  15. Flatten(Join[{{Vac \ {Vac(1), Vac(2)}}, {Vac(1), Vac(2)}}]) → Vac2'
  16. Flatten(Join[{{Vac(p - 1), Vac(p)}, {Vac \ {Vac(p - 1), Vac(p)}}}]) → Vacp'