平方根螺旋(Theodorus螺旋)的 GeoGebra 动态构造
几何画板及绘图内容加载中,请稍等……
① 本范例演示平方根螺旋(Theodorus螺旋)的逐步生成过程,展示一系列直角三角形的斜边长度依次为 √2、√3、√4… 形成的螺旋曲线。② 涉及核心数学概念:无理数/根式、勾股定理、数列与递推、平面几何变换。③ 作图要点:使用 Point 创建初始点,Segment 构建直角边,Rotate 与 Translate 实现三角形的旋转平移,Polygon 生成三角形区域,Sequence 批量生成 17 组顶点 A1‑B17,Intersect 确定交点,Text 标注边长。④ 适用于初中/高中数学课堂演示根式几何意义,也可作为 GeoGebra 建模教学素材。
GeoGebra 命令及参数
Intersect(xAxis, yAxis) → APoint(xAxis) → BPolygon(A, B, C) → t1, c, a, bRotate(Vector[UnitVector[Vector[A1, (0, 0)]]], ((-π)) / 2, A1) → B1Translate(A1, B1) → A2Rotate(Vector[UnitVector[Vector[A2, (0, 0)]]], ((-π)) / 2, A2) → B2Translate(A2, B2) → A3Rotate(Vector[UnitVector[Vector[A3, (0, 0)]]], ((-π)) / 2, A3) → B3Translate(A3, B3) → A4Rotate(Vector[UnitVector[Vector[A4, (0, 0)]]], ((-π)) / 2, A4) → B4Translate(A4, B4) → A5Rotate(Vector[UnitVector[Vector[A5, (0, 0)]]], ((-π)) / 2, A5) → B5Translate(A5, B5) → A6Rotate(Vector[UnitVector[Vector[A6, (0, 0)]]], ((-π)) / 2, A6) → B6Translate(A6, B6) → A7Rotate(Vector[UnitVector[Vector[A7, (0, 0)]]], ((-π)) / 2, A7) → B7Translate(A7, B7) → A8Rotate(Vector[UnitVector[Vector[A8, (0, 0)]]], ((-π)) / 2, A8) → B8Translate(A8, B8) → A9Rotate(Vector[UnitVector[Vector[A9, (0, 0)]]], ((-π)) / 2, A9) → B9Translate(A9, B9) → A10Rotate(Vector[UnitVector[Vector[A10, (0, 0)]]], ((-π)) / 2, A10) → B10Translate(A10, B10) → A11Rotate(Vector[UnitVector[Vector[A11, (0, 0)]]], ((-π)) / 2, A11) → B11Translate(A11, B11) → A12Rotate(Vector[UnitVector[Vector[A12, (0, 0)]]], ((-π)) / 2, A12) → B12Translate(A12, B12) → A13Rotate(Vector[UnitVector[Vector[A13, (0, 0)]]], ((-π)) / 2, A13) → B13Translate(A13, B13) → A14Rotate(Vector[UnitVector[Vector[A14, (0, 0)]]], ((-π)) / 2, A14) → B14Translate(A14, B14) → A15Rotate(Vector[UnitVector[Vector[A15, (0, 0)]]], ((-π)) / 2, A15) → B15Translate(A15, B15) → A16Rotate(Vector[UnitVector[Vector[A16, (0, 0)]]], ((-π)) / 2, A16) → B16Translate(A16, B16) → A17Rotate(Vector[UnitVector[Vector[A17, (0, 0)]]], ((-π)) / 2, A17) → B17Translate(A17, B17) → A18Rotate(Vector[UnitVector[Vector[A18, (0, 0)]]], ((-π)) / 2, A18) → B18Translate(A18, B18) → A19Rotate(Vector[UnitVector[Vector[A19, (0, 0)]]], ((-π)) / 2, A19) → B19Translate(A19, B19) → A20Rotate(Vector[UnitVector[Vector[A20, (0, 0)]]], ((-π)) / 2, A20) → B20Translate(A20, B20) → A21Rotate(Vector[UnitVector[Vector[A21, (0, 0)]]], ((-π)) / 2, A21) → B21Translate(A21, B21) → A22Rotate(Vector[UnitVector[Vector[A22, (0, 0)]]], ((-π)) / 2, A22) → B22Segment(A1, A2) → C2Segment(A2, A3) → C3Segment(A3, A4) → C4Segment(A4, A5) → C5Segment(A5, A6) → C6Segment(A6, A7) → C7Segment(A7, A8) → C8Segment(A8, A9) → C9Segment(A9, A10) → C10Segment(A10, A11) → C11Segment(A11, A12) → C12Segment(A12, A13) → C13Segment(A13, A14) → C14Segment(A14, A15) → C15Segment(A15, A16) → C16Segment(A16, A17) → C17Segment(A17, A18) → C18Segment(A18, A19) → C19Segment(A19, A20) → C20Segment(A20, A21) → C21Segment(A21, A22) → C22Segment(A2, (0, 0)) → D2Segment(A3, (0, 0)) → D3Segment(A4, (0, 0)) → D4Segment(A5, (0, 0)) → D5Segment(A6, (0, 0)) → D6Segment(A7, (0, 0)) → D7Segment(A8, (0, 0)) → D8Segment(A9, (0, 0)) → D9Segment(A10, (0, 0)) → D10Segment(A11, (0, 0)) → D11Segment(A12, (0, 0)) → D12Segment(A13, (0, 0)) → D13Segment(A14, (0, 0)) → D14Segment(A15, (0, 0)) → D15Segment(A16, (0, 0)) → D16Segment(A17, (0, 0)) → D17Segment(A18, (0, 0)) → D18Segment(A19, (0, 0)) → D19Segment(A20, (0, 0)) → D20Segment(A21, (0, 0)) → D21Segment(A22, (0, 0)) → D22Translate(A22, B22) → A23Rotate(Vector[UnitVector[Vector[A23, (0, 0)]]], ((-π)) / 2, A23) → B23Segment(A22, A23) → C23Segment(A23, (0, 0)) → D23Translate(A23, B23) → A24Rotate(Vector[UnitVector[Vector[A24, (0, 0)]]], ((-π)) / 2, A24) → B24Segment(A23, A24) → C24Segment(A24, (0, 0)) → D24Translate(A24, B24) → A25Rotate(Vector[UnitVector[Vector[A25, (0, 0)]]], ((-π)) / 2, A25) → B25Segment(A24, A25) → C25Segment(A25, (0, 0)) → D25Translate(A25, B25) → A26Rotate(Vector[UnitVector[Vector[A26, (0, 0)]]], ((-π)) / 2, A26) → B26Segment(A25, A26) → C26Segment(A26, (0, 0)) → D26Translate(A26, B26) → A27Rotate(Vector[UnitVector[Vector[A27, (0, 0)]]], ((-π)) / 2, A27) → B27Segment(A26, A27) → C27Segment(A27, (0, 0)) → D27Translate(A27, B27) → A28Rotate(Vector[UnitVector[Vector[A28, (0, 0)]]], ((-π)) / 2, A28) → B28Segment(A27, A28) → C28Segment(A28, (0, 0)) → D28Translate(A28, B28) → A29Rotate(Vector[UnitVector[Vector[A29, (0, 0)]]], ((-π)) / 2, A29) → B29Segment(A28, A29) → C29Segment(A29, (0, 0)) → D29Translate(A29, B29) → A30Rotate(Vector[UnitVector[Vector[A30, (0, 0)]]], ((-π)) / 2, A30) → B30Segment(A29, A30) → C30Segment(A30, (0, 0)) → D30Translate(A30, B30) → A31Rotate(Vector[UnitVector[Vector[A31, (0, 0)]]], ((-π)) / 2, A31) → B31Segment(A30, A31) → C31Segment(A31, (0, 0)) → D31Translate(A31, B31) → A32Rotate(Vector[UnitVector[Vector[A32, (0, 0)]]], ((-π)) / 2, A32) → B32Segment(A31, A32) → C32Segment(A32, (0, 0)) → D32Translate(A32, B32) → A33Rotate(Vector[UnitVector[Vector[A33, (0, 0)]]], ((-π)) / 2, A33) → B33Segment(A32, A33) → C33Segment(A33, (0, 0)) → D33Translate(A33, B33) → A34Rotate(Vector[UnitVector[Vector[A34, (0, 0)]]], ((-π)) / 2, A34) → B34Segment(A33, A34) → C34Segment(A34, (0, 0)) → D34Translate(A34, B34) → A35Rotate(Vector[UnitVector[Vector[A35, (0, 0)]]], ((-π)) / 2, A35) → B35Segment(A34, A35) → C35Segment(A35, (0, 0)) → D35Translate(A35, B35) → A36Rotate(Vector[UnitVector[Vector[A36, (0, 0)]]], ((-π)) / 2, A36) → B36Segment(A35, A36) → C36Segment(A36, (0, 0)) → D36Translate(A36, B36) → A37Rotate(Vector[UnitVector[Vector[A37, (0, 0)]]], ((-π)) / 2, A37) → B37Segment(A36, A37) → C37Segment(A37, (0, 0)) → D37Translate(A37, B37) → A38Rotate(Vector[UnitVector[Vector[A38, (0, 0)]]], ((-π)) / 2, A38) → B38Segment(A37, A38) → C38Segment(A38, (0, 0)) → D38Translate(A38, B38) → A39Rotate(Vector[UnitVector[Vector[A39, (0, 0)]]], ((-π)) / 2, A39) → B39Segment(A38, A39) → C39Segment(A39, (0, 0)) → D39Translate(A39, B39) → A40Rotate(Vector[UnitVector[Vector[A40, (0, 0)]]], ((-π)) / 2, A40) → B40Segment(A39, A40) → C40Segment(A40, (0, 0)) → D40Translate(A40, B40) → A41Rotate(Vector[UnitVector[Vector[A41, (0, 0)]]], ((-π)) / 2, A41) → B41Segment(A40, A41) → C41Segment(A41, (0, 0)) → D41Translate(A41, B41) → A42Rotate(Vector[UnitVector[Vector[A42, (0, 0)]]], ((-π)) / 2, A42) → B42Segment(A41, A42) → C42Segment(A42, (0, 0)) → D42Translate(A42, B42) → A43Rotate(Vector[UnitVector[Vector[A43, (0, 0)]]], ((-π)) / 2, A43) → B43Segment(A42, A43) → C43Segment(A43, (0, 0)) → D43Translate(A43, B43) → A44Rotate(Vector[UnitVector[Vector[A44, (0, 0)]]], ((-π)) / 2, A44) → B44Segment(A43, A44) → C44Segment(A44, (0, 0)) → D44Translate(A44, B44) → A45Rotate(Vector[UnitVector[Vector[A45, (0, 0)]]], ((-π)) / 2, A45) → B45Segment(A44, A45) → C45Segment(A45, (0, 0)) → D45Translate(A45, B45) → A46Rotate(Vector[UnitVector[Vector[A46, (0, 0)]]], ((-π)) / 2, A46) → B46Segment(A45, A46) → C46Segment(A46, (0, 0)) → D46Polygon(A1, A2, (0, 0)) → E2, F2, G2, H2Polygon(A2, A3, (0, 0)) → E3, F3, G3, H3Polygon(A3, A4, (0, 0)) → E4, F4, G4, H4Polygon(A4, A5, (0, 0)) → E5, F5, G5, H5Polygon(A5, A6, (0, 0)) → E6, F6, G6, H6Polygon(A6, A7, (0, 0)) → E7, F7, G7, H7Polygon(A7, A8, (0, 0)) → E8, F8, G8, H8Polygon(A8, A9, (0, 0)) → E9, F9, G9, H9Polygon(A9, A10, (0, 0)) → E10, F10, G10, H10Polygon(A10, A11, (0, 0)) → E11, F11, G11, H11Polygon(A11, A12, (0, 0)) → E12, F12, G12, H12Polygon(A12, A13, (0, 0)) → E13, F13, G13, H13Polygon(A13, A14, (0, 0)) → E14, F14, G14, H14Polygon(A14, A15, (0, 0)) → E15, F15, G15, H15Polygon(A15, A16, (0, 0)) → E16, F16, G16, H16Polygon(A16, A17, (0, 0)) → E17, F17, G17, H17Polygon(A17, A18, (0, 0)) → E18, F18, G18, H18Polygon(A18, A19, (0, 0)) → E19, F19, G19, H19Polygon(A19, A20, (0, 0)) → E20, F20, G20, H20Polygon(A20, A21, (0, 0)) → E21, F21, G21, H21Polygon(A21, A22, (0, 0)) → E22, F22, G22, H22Polygon(A22, A23, (0, 0)) → E23, F23, G23, H23Polygon(A23, A24, (0, 0)) → E24, F24, G24, H24Polygon(A24, A25, (0, 0)) → E25, F25, G25, H25Polygon(A25, A26, (0, 0)) → E26, F26, G26, H26Polygon(A26, A27, (0, 0)) → E27, F27, G27, H27Polygon(A27, A28, (0, 0)) → E28, F28, G28, H28Polygon(A28, A29, (0, 0)) → E29, F29, G29, H29Polygon(A29, A30, (0, 0)) → E30, F30, G30, H30Polygon(A30, A31, (0, 0)) → E31, F31, G31, H31Polygon(A31, A32, (0, 0)) → E32, F32, G32, H32Polygon(A32, A33, (0, 0)) → E33, F33, G33, H33Polygon(A33, A34, (0, 0)) → E34, F34, G34, H34Polygon(A34, A35, (0, 0)) → E35, F35, G35, H35Polygon(A35, A36, (0, 0)) → E36, F36, G36, H36Polygon(A36, A37, (0, 0)) → E37, F37, G37, H37Polygon(A37, A38, (0, 0)) → E38, F38, G38, H38Polygon(A38, A39, (0, 0)) → E39, F39, G39, H39Polygon(A39, A40, (0, 0)) → E40, F40, G40, H40Polygon(A40, A41, (0, 0)) → E41, F41, G41, H41Polygon(A41, A42, (0, 0)) → E42, F42, G42, H42Polygon(A42, A43, (0, 0)) → E43, F43, G43, H43Polygon(A43, A44, (0, 0)) → E44, F44, G44, H44Polygon(A44, A45, (0, 0)) → E45, F45, G45, H45Polygon(A45, A46, (0, 0)) → E46, F46, G46, H46Translate(A46, B46) → A47Rotate(Vector[UnitVector[Vector[A47, (0, 0)]]], ((-π)) / 2, A47) → B47Translate(A47, B47) → A48Rotate(Vector[UnitVector[Vector[A48, (0, 0)]]], ((-π)) / 2, A48) → B48Translate(A48, B48) → A49Rotate(Vector[UnitVector[Vector[A49, (0, 0)]]], ((-π)) / 2, A49) → B49Translate(A49, B49) → A50Rotate(Vector[UnitVector[Vector[A50, (0, 0)]]], ((-π)) / 2, A50) → B50Translate(A50, B50) → A51Rotate(Vector[UnitVector[Vector[A51, (0, 0)]]], ((-π)) / 2, A51) → B51Translate(A51, B51) → A52Rotate(Vector[UnitVector[Vector[A52, (0, 0)]]], ((-π)) / 2, A52) → B52Translate(A52, B52) → A53Rotate(Vector[UnitVector[Vector[A53, (0, 0)]]], ((-π)) / 2, A53) → B53Translate(A53, B53) → A54Rotate(Vector[UnitVector[Vector[A54, (0, 0)]]], ((-π)) / 2, A54) → B54Translate(A54, B54) → A55Rotate(Vector[UnitVector[Vector[A55, (0, 0)]]], ((-π)) / 2, A55) → B55Translate(A55, B55) → A56Rotate(Vector[UnitVector[Vector[A56, (0, 0)]]], ((-π)) / 2, A56) → B56Translate(A56, B56) → A57Rotate(Vector[UnitVector[Vector[A57, (0, 0)]]], ((-π)) / 2, A57) → B57Translate(A57, B57) → A58Rotate(Vector[UnitVector[Vector[A58, (0, 0)]]], ((-π)) / 2, A58) → B58Translate(A58, B58) → A59Rotate(Vector[UnitVector[Vector[A59, (0, 0)]]], ((-π)) / 2, A59) → B59Translate(A59, B59) → A60Rotate(Vector[UnitVector[Vector[A60, (0, 0)]]], ((-π)) / 2, A60) → B60Translate(A60, B60) → A61Rotate(Vector[UnitVector[Vector[A61, (0, 0)]]], ((-π)) / 2, A61) → B61Translate(A61, B61) → A62Rotate(Vector[UnitVector[Vector[A62, (0, 0)]]], ((-π)) / 2, A62) → B62Translate(A62, B62) → A63Rotate(Vector[UnitVector[Vector[A63, (0, 0)]]], ((-π)) / 2, A63) → B63Translate(A63, B63) → A64Rotate(Vector[UnitVector[Vector[A64, (0, 0)]]], ((-π)) / 2, A64) → B64Translate(A64, B64) → A65Rotate(Vector[UnitVector[Vector[A65, (0, 0)]]], ((-π)) / 2, A65) → B65Translate(A65, B65) → A66Rotate(Vector[UnitVector[Vector[A66, (0, 0)]]], ((-π)) / 2, A66) → B66Translate(A66, B66) → A67Rotate(Vector[UnitVector[Vector[A67, (0, 0)]]], ((-π)) / 2, A67) → B67Translate(A67, B67) → A68Rotate(Vector[UnitVector[Vector[A68, (0, 0)]]], ((-π)) / 2, A68) → B68Translate(A68, B68) → A69Rotate(Vector[UnitVector[Vector[A69, (0, 0)]]], ((-π)) / 2, A69) → B69Translate(A69, B69) → A70Rotate(Vector[UnitVector[Vector[A70, (0, 0)]]], ((-π)) / 2, A70) → B70Translate(A70, B70) → A71Rotate(Vector[UnitVector[Vector[A71, (0, 0)]]], ((-π)) / 2, A71) → B71Translate(A71, B71) → A72Rotate(Vector[UnitVector[Vector[A72, (0, 0)]]], ((-π)) / 2, A72) → B72Translate(A72, B72) → A73Rotate(Vector[UnitVector[Vector[A73, (0, 0)]]], ((-π)) / 2, A73) → B73Translate(A73, B73) → A74Rotate(Vector[UnitVector[Vector[A74, (0, 0)]]], ((-π)) / 2, A74) → B74Translate(A74, B74) → A75Rotate(Vector[UnitVector[Vector[A75, (0, 0)]]], ((-π)) / 2, A75) → B75Translate(A75, B75) → A76Rotate(Vector[UnitVector[Vector[A76, (0, 0)]]], ((-π)) / 2, A76) → B76Translate(A76, B76) → A77Rotate(Vector[UnitVector[Vector[A77, (0, 0)]]], ((-π)) / 2, A77) → B77Translate(A77, B77) → A78Rotate(Vector[UnitVector[Vector[A78, (0, 0)]]], ((-π)) / 2, A78) → B78Translate(A78, B78) → A79Rotate(Vector[UnitVector[Vector[A79, (0, 0)]]], ((-π)) / 2, A79) → B79Translate(A79, B79) → A80Rotate(Vector[UnitVector[Vector[A80, (0, 0)]]], ((-π)) / 2, A80) → B80Translate(A80, B80) → A81Rotate(Vector[UnitVector[Vector[A81, (0, 0)]]], ((-π)) / 2, A81) → B81Translate(A81, B81) → A82Rotate(Vector[UnitVector[Vector[A82, (0, 0)]]], ((-π)) / 2, A82) → B82Translate(A82, B82) → A83Rotate(Vector[UnitVector[Vector[A83, (0, 0)]]], ((-π)) / 2, A83) → B83Translate(A83, B83) → A84Rotate(Vector[UnitVector[Vector[A84, (0, 0)]]], ((-π)) / 2, A84) → B84Translate(A84, B84) → A85Rotate(Vector[UnitVector[Vector[A85, (0, 0)]]], ((-π)) / 2, A85) → B85Translate(A85, B85) → A86Rotate(Vector[UnitVector[Vector[A86, (0, 0)]]], ((-π)) / 2, A86) → B86Translate(A86, B86) → A87Rotate(Vector[UnitVector[Vector[A87, (0, 0)]]], ((-π)) / 2, A87) → B87Translate(A87, B87) → A88Rotate(Vector[UnitVector[Vector[A88, (0, 0)]]], ((-π)) / 2, A88) → B88Translate(A88, B88) → A89Rotate(Vector[UnitVector[Vector[A89, (0, 0)]]], ((-π)) / 2, A89) → B89Translate(A89, B89) → A90Rotate(Vector[UnitVector[Vector[A90, (0, 0)]]], ((-π)) / 2, A90) → B90Translate(A90, B90) → A91Rotate(Vector[UnitVector[Vector[A91, (0, 0)]]], ((-π)) / 2, A91) → B91Translate(A91, B91) → A92Rotate(Vector[UnitVector[Vector[A92, (0, 0)]]], ((-π)) / 2, A92) → B92Translate(A92, B92) → A93Rotate(Vector[UnitVector[Vector[A93, (0, 0)]]], ((-π)) / 2, A93) → B93Translate(A93, B93) → A94Rotate(Vector[UnitVector[Vector[A94, (0, 0)]]], ((-π)) / 2, A94) → B94Translate(A94, B94) → A95Rotate(Vector[UnitVector[Vector[A95, (0, 0)]]], ((-π)) / 2, A95) → B95Translate(A95, B95) → A96Rotate(Vector[UnitVector[Vector[A96, (0, 0)]]], ((-π)) / 2, A96) → B96Translate(A96, B96) → A97Rotate(Vector[UnitVector[Vector[A97, (0, 0)]]], ((-π)) / 2, A97) → B97Translate(A97, B97) → A98Rotate(Vector[UnitVector[Vector[A98, (0, 0)]]], ((-π)) / 2, A98) → B98Translate(A98, B98) → A99Rotate(Vector[UnitVector[Vector[A99, (0, 0)]]], ((-π)) / 2, A99) → B99Translate(A99, B99) → A100Rotate(Vector[UnitVector[Vector[A100, (0, 0)]]], ((-π)) / 2, A100) → B100Sequence(Text["1", Midpoint[Element[spoints2, n], Element[spoints2, n + 1]], true, true], n, 1, k) → L_1Sequence(Polygon[(0, 0), Element[spoints2, n], Element[spoints2, n + 1]], n, 1, k) → strisSequence(Text[("\sqrt" * (n + 1)), Midpoint[(0, 0), Element[spoints2, n + 1]], true, true], n, 1, k) → slabelsText("1", Midpoint[(0, 0), (1, 0)], true, true) → text133Sequence(Angle[Rotate[(0, 0), ((-π)) / 2, Element[spoints2, n]], Element[spoints2, n], (0, 0)], n, 1, k) → L_2
AI 绘图提示语参考
绘制一个由直角三角形组成的螺旋曲线,每个三角形的直角边依次为√2, √3, √4等,通过旋转和平移构建17个三角形,形成螺旋形状。首先在x轴上创建点A和B,然后构建多边形t1,并通过旋转和平移生成后续的三角形顶点,最后连接相邻顶点形成螺旋曲线。
以上提示语为根据原始绘图命令整理而来,仅供参考。