广义滚动多边形:多边形沿曲线滚动的动态演示

广义滚动多边形:多边形沿曲线滚动的动态演示
几何画板及绘图内容加载中,请稍等……
2015-08-08 02:42
① 本范例演示一个多边形(poly1)沿给定路径(由圆和曲线构成)滚动,并实时生成滚动过程中各顶点与边的轨迹,直观展示滚动几何的动态过程。② 核心数学概念包括多边形的旋转、平移与复合变换,以及参数曲线(CurveCartesian)描述的滚动路径,涉及几何变换与轨迹生成。③ 作图要点:使用GeoGebra命令Circle、Intersect、Polygon、Rotate、CurveCartesian、CircleArc构造基础图形与滚动路径;通过对象Sides、A、c、B、C等定义多边形顶点,利用Rotate实现旋转,并用CurveCartesian生成滚动轨迹;最终通过滑块Roll控制滚动进度,动态更新多边形位置及顶点轨迹(如A1、B1~B6、C1~C6等)。④ 适合高中及以上学段,用于几何变换、参数方程与动态轨迹的教学,也可作为数学实验或探究滚动多边形性质的互动工具。

GeoGebra 命令及参数

  1. Circle(A, 1) → c
  2. Intersect(c, xAxis) → B, C
  3. Polygon(B, C, Sides) → poly1, a, k, D, E, F, G, H, I, J, K, b, d, e, f, g, h, i, j
  4. Rotate(D, (-2 * π / Sides), C) → A1
  5. CurveCartesian(x(C) + (b * cos((2 * π / Sides) - t)), (b * sin((2 * π / Sides) - t)), t, 0, (2 * π / Sides)) → l
  6. Rotate(poly1, (-2 * π / Sides), C) → poly1'
  7. Rotate(poly1, (-2 * π / Sides), C) → C1
  8. Rotate(C1, (-2 * π / Sides), B2) → C2
  9. Rotate(C2, (-2 * π / Sides), B3) → C3
  10. Rotate(C3, (-2 * π / Sides), B4) → C4
  11. Rotate(C4, (-2 * π / Sides), B5) → C5
  12. Rotate(C5, (-2 * π / Sides), B6) → C6
  13. Rotate(C6, (-2 * π / Sides), B7) → C7
  14. Rotate(C7, (-2 * π / Sides), B8) → C8
  15. Rotate(C8, (-2 * π / Sides), B9) → C9
  16. Rotate(C9, (-2 * π / Sides), B10) → C10
  17. Rotate(D1, (-2 * π / Sides), B3) → D2
  18. Rotate(D2, (-2 * π / Sides), B4) → D3
  19. Rotate(D3, (-2 * π / Sides), B5) → D4
  20. Rotate(D4, (-2 * π / Sides), B6) → D5
  21. Rotate(D5, (-2 * π / Sides), B7) → D6
  22. Rotate(D6, (-2 * π / Sides), B8) → D7
  23. Rotate(D7, (-2 * π / Sides), B9) → D8
  24. Rotate(D8, (-2 * π / Sides), B10) → D9
  25. CircleArc(B3, D2, B2) → p
  26. CircleArc(B4, D3, D2) → q
  27. CircleArc(B5, D4, D3) → r
  28. CircleArc(B6, D5, D4) → s
  29. CircleArc(B6, D5, D4) → E1
  30. CircleArc(B7, D6, D5) → E2
  31. CircleArc(B8, D7, D6) → E3
  32. CircleArc(B9, D8, D7) → E4
  33. CircleArc(B10, D9, D8) → E5
  34. Rotate(D9, (-2 * π / Sides), B11) → D10
  35. CircleArc(B11, D10, D9) → E6
  36. Rotate(D10, (-2 * π / Sides), B12) → D11
  37. CircleArc(B12, D11, D10) → E7
  38. Rotate(D11, (-2 * π / Sides), B13) → D12
  39. CircleArc(B13, D12, D11) → E8
  40. CircleArc(B1, B2, D) → t
  41. Rotate(C10, (-2 * π / Sides), B11) → C11
  42. Rotate(C11, (-2 * π / Sides), B12) → C12
  43. Rotate(C12, (-2 * π / Sides), B13) → C13
  44. Rotate(D12, (-2 * π / Sides), B14) → D13
  45. Rotate(C13, (-2 * π / Sides), B14) → C14
  46. Rotate(D13, (-2 * π / Sides), B15) → D14
  47. CircleArc(B14, D13, D12) → E9
  48. CircleArc(B15, D14, D13) → E10
  49. CircleArc(B16, D15, D14) → E11
  50. CircleArc(B17, D16, D15) → E12
  51. Rotate(poly1, If[Roll < (2 * π / Sides), (-Roll), (-2 * π / Sides)], B1) → poly1'_1
  52. Rotate(poly1'_1, If[Roll < (4 * π / Sides), (-(Roll - (2 * π / Sides))), (-2 * π / Sides)], B2) → poly2
  53. Rotate(poly2, If[Roll < (6 * π / Sides), (-(Roll - (4 * π / Sides))), (-2 * π / Sides)], B3) → poly2'
  54. Rotate(poly2', If[Roll < (8 * π / Sides), (-(Roll - (6 * π / Sides))), (-2 * π / Sides)], B4) → poly2''
  55. Rotate(poly2'', If[Roll < (10 * π / Sides), (-(Roll - (8 * π / Sides))), (-2 * π / Sides)], B5) → poly2'''
  56. Rotate(poly2''', If[Roll < (12 * π / Sides), (-(Roll - (10 * π / Sides))), (-2 * π / Sides)], B6) → poly3
  57. Rotate(poly3, If[Roll < (14 * π / Sides), (-(Roll - (12 * π / Sides))), (-2 * π / Sides)], B7) → poly3'
  58. Rotate(poly3', If[Roll < (16 * π / Sides), (-(Roll - (14 * π / Sides))), (-2 * π / Sides)], B8) → poly3''
  59. Rotate(poly3'', If[Roll < (18 * π / Sides), (-(Roll - (16 * π / Sides))), (-2 * π / Sides)], B9) → poly3'''
  60. Rotate(poly3''', If[Roll < (20 * π / Sides), (-(Roll - (18 * π / Sides))), (-2 * π / Sides)], B10) → poly4
  61. Rotate(poly4, If[Roll < (22 * π / Sides), (-(Roll - (20 * π / Sides))), (-2 * π / Sides)], B11) → poly4'
  62. Rotate(D, If[Roll < (2 * π / Sides), (-Roll), (-2 * π / Sides)], B1) → D'
  63. Rotate(D', If[Roll < (4 * π / Sides), (-(Roll - (2 * π / Sides))), (-2 * π / Sides)], B2) → D''
  64. Rotate(D'', If[Roll < (6 * π / Sides), (-(Roll - (4 * π / Sides))), (-2 * π / Sides)], B3) → D'''
  65. Rotate(D''', If[Roll < (8 * π / Sides), (-(Roll - (6 * π / Sides))), (-2 * π / Sides)], B4) → L
  66. Rotate(L, If[Roll < (10 * π / Sides), (-(Roll - (8 * π / Sides))), (-2 * π / Sides)], B5) → L'
  67. Rotate(L', If[Roll < (12 * π / Sides), (-(Roll - (10 * π / Sides))), (-2 * π / Sides)], B6) → L''
  68. Rotate(L'', If[Roll < (14 * π / Sides), (-(Roll - (12 * π / Sides))), (-2 * π / Sides)], B7) → L'''
  69. Rotate(L''', If[Roll < (16 * π / Sides), (-(Roll - (14 * π / Sides))), (-2 * π / Sides)], B8) → M
  70. Rotate(M, If[Roll < (18 * π / Sides), (-(Roll - (16 * π / Sides))), (-2 * π / Sides)], B9) → M'
  71. Rotate(M', If[Roll < (20 * π / Sides), (-(Roll - (18 * π / Sides))), (-2 * π / Sides)], B10) → M''
  72. Rotate(M'', If[Roll < (22 * π / Sides), (-(Roll - (20 * π / Sides))), (-2 * π / Sides)], B11) → M'''
  73. Circle((0, 1), 1) → c_1
  74. CurveCartesian(t - sin(t), 1 - cos(t), t, 0, 15.70796) → n

AI 绘图提示语参考

绘制一个正多边形沿一条由圆弧和曲线组成的路径滚动的动态示意图。路径起点是一个圆与水平轴的交点,多边形以该交点为旋转中心,按固定角度逐次旋转,每次旋转后沿路径移动,形成一系列连续的位置。同时,多边形的顶点在滚动过程中留下轨迹点,相邻轨迹点之间用圆弧连接,展示滚动路径的平滑性。整个图形包含一个控制滚动进度的滑块,以及多边形各顶点在不同滚动阶段的轨迹曲线,直观呈现旋转、平移和复合变换的几何过程。
以上提示语为根据原始绘图命令整理而来,仅供参考。