Geogebra Rope Span Demo

Geogebra Rope Span Demo
Loading the math board and drawing, please wait…
2024-09-26 21:25
This example demonstrates how to construct and explore right-angled triangles using ropes. It involves core math concepts: the Pythagorean theorem and its formulation with different notations. Key GeoGebra commands/objects used include Rotate, Distance, Sequence, Point, CircleArc, SelectedIndex, Vector, Translate, Zip, If, Textfield, Element, Circle, and Angle. Suitable for 7-8 grade students to understand and apply the Pythagorean theorem.

GeoGebra Commands & Parameters

  1. Rotate(Sequence[Rotate[OCircle + (rad1, 0), (m * (360 / 12)°), OCircle], m, -3, 9], 15°, OCircle) → listPointsCircle
  2. Distance(listPointsCircle(1), listPointsCircle(2)) → seilsize
  3. Sequence(OLine + (m * ((-seilsize), 0)), m, 0, 12) → listPointsLine
  4. Point(Segment[listPointsLine(6), listPointsCircle(6)]) → A6
  5. CircleArc(A7, A7 + ((-seilsize), 0), Rotate[A7 + ((-seilsize), 0), 30°, A7]) → bogenA8
  6. Point(bogenA8) → A8
  7. CircleArc(A8, A8 + ((-seilsize), 0), Rotate[A8 + ((-seilsize), 0), (2 * 30°), A8]) → bogenA9
  8. Point(bogenA9) → A9
  9. CircleArc(A9, A9 + ((-seilsize), 0), Rotate[A9 + ((-seilsize), 0), (3 * 30°), A9]) → bogenA10
  10. Point(bogenA10) → A10
  11. CircleArc(A10, A10 + ((-seilsize), 0), Rotate[A10 + ((-seilsize), 0), (4 * 30°), A10]) → bogenA11
  12. Point(bogenA11) → A11
  13. CircleArc(A11, A11 + ((-seilsize), 0), Rotate[A11 + ((-seilsize), 0), (5 * 30°), A11]) → bogenA12
  14. Point(bogenA12) → A12
  15. CircleArc(A12, A12 + ((-seilsize), 0), Rotate[A12 + ((-seilsize), 0), (6 * 30°), A12]) → bogenA13
  16. Point(bogenA13) → A13
  17. CircleArc(A6, Rotate[A6 + (seilsize, 0), -30°, A6], A6 + (seilsize, 0)) → bogenA5
  18. Point(bogenA5) → A5
  19. CircleArc(A5, Rotate[A5 + (seilsize, 0), -60°, A5], A5 + (seilsize, 0)) → bogenA4
  20. Point(bogenA4) → A4
  21. CircleArc(A4, Rotate[A4 + (seilsize, 0), (-((3 * 30°))), A4], A4 + (seilsize, 0)) → bogenA3
  22. Point(bogenA3) → A3
  23. CircleArc(A3, Rotate[A3 + (seilsize, 0), (-((4 * 30°))), A3], A3 + (seilsize, 0)) → bogenA2
  24. Point(bogenA2) → A2
  25. CircleArc(A2, Rotate[A2 + (seilsize, 0), (-((5 * 30°))), A2], A2 + (seilsize, 0)) → bogenA1
  26. Point(bogenA1) → A1
  27. SelectedIndex(DropDown6) → input6
  28. SelectedIndex(DropDown5) → input5
  29. SelectedIndex(DropDown4) → input4
  30. SelectedIndex(DropDown3) → input3
  31. Vector(O1, O1 + (seilsize, 0)) → v1
  32. Rotate(Join[{Sequence[O1 - (l * Rotate[v1, (-asind(3 / 5))]), l, 1, 4], Sequence[O1 - (4 * Rotate[v1, (-asind(3 / 5))]) - (n * Rotate[v1, asind(4 / 5)]), n, 1, 3], Sequence[O1 + (m * v1), m, -4, 0]}], -60°, O1) → listL54
  33. Rotate(Join[{Sequence[O1 - (l * Rotate[v1, (-asind(4 / 5))]), l, 1, 3], Sequence[O1 - (3 * Rotate[v1, (-asind(4 / 5))]) - (n * Rotate[v1, asind(3 / 5)]), n, 1, 4], Sequence[O1 + (m * v1), m, -4, 0]}], -60°, O1) → listL53
  34. Rotate(Join[{Sequence[O1 - (n * Rotate[v1, (-asind(3 / 5))]), n, 1, 5], Sequence[O1 - (l * OrthogonalVector[v1]) + (3 * OrthogonalVector[v1]) - (4 * v1), l, 1, 3], Sequence[O1 + (m * v1), m, -3, 0]}], -45°, O1) → listL45
  35. Rotate(Join[{Sequence[O1 + (l * OrthogonalVector[v1]), l, 1, 3], Sequence[O1 + (3 * OrthogonalVector[v1]) - (n * Rotate[v1, asind(3 / 5)]), n, 1, 5], Sequence[O1 + (m * v1), m, -3, 0]}], -45°, O1) → listL43
  36. Rotate(Join[{Sequence[O1 - (n * Rotate[v1, (-asind(4 / 5))]), n, 1, 4], Sequence[O1 - (3 * v1) - (l * OrthogonalVector[v1]) + (4 * OrthogonalVector[v1]), l, 0, 4], Sequence[O1 + (m * v1), m, -2, 0]}], -30°, O1) → listL35
  37. Rotate(Join[{Sequence[O1 + (l * OrthogonalVector[v1]), l, 1, 4], Sequence[O1 + (4 * OrthogonalVector[v1]) - (n * Rotate[v1, asind(4 / 5)]), n, 1, 5], Sequence[O1 + (m * v1), m, -2, 0]}], -30°, O1) → listL34
  38. Rotate(Join[{Sequence[O1 + (m * v1), m, 1, 5], Sequence[O1 + (5 * v1) - (l * Rotate[v1, (-asind(3 / 5))]), l, 1, 4], Sequence[O1 + (5 * v1) - (4 * Rotate[v1, (-asin(3 / 5))]) - (n * Rotate[v1, asin(4 / 5)]), n, 1, 3]}], 60°, O1) → listR59
  39. Rotate(Join[{Sequence[O1 + (m * v1), m, 1, 5], Sequence[O1 + (5 * v1) - (l * Rotate[v1, (-asind(4 / 5))]), l, 1, 3], Sequence[O1 + (5 * v1) - (3 * Rotate[v1, (-asind(4 / 5))]) - (n * Rotate[v1, asind(3 / 5)]), n, 1, 4]}], 60°, O1) → listR58
  40. Rotate(Join[{Sequence[O1 + (m * v1), m, 1, 4], Sequence[O1 + (l * OrthogonalVector[v1]) + (4 * v1), l, 1, 3], Sequence[O1 + (4 * v1) + (3 * OrthogonalVector[v1]) - (n * Rotate[v1, asind(3 / 5)]), n, 1, 5]}], 45°, O1) → listR47
  41. Rotate(Join[{Sequence[O1 + (m * v1), m, 1, 4], Sequence[O1 + (4 * v1) - (n * Rotate[v1, (-asind(3 / 5))]), n, 1, 5], Sequence[O1 - (l * OrthogonalVector[v1]) + (3 * OrthogonalVector[v1]), l, 1, 3]}], 45°, O1) → listR49
  42. Rotate(Join[{Sequence[O1 + (m * v1), m, 1, 3], Sequence[O1 + (l * OrthogonalVector[v1]) + (3 * v1), l, 1, 4], Sequence[O1 + (3 * v1) + (4 * OrthogonalVector[v1]) - (n * Rotate[v1, asind(4 / 5)]), n, 1, 5]}], 30°, O1) → listR37
  43. Rotate(Join[{Sequence[O1 + (m * v1), m, 1, 3], Sequence[O1 + (3 * v1) - (n * Rotate[v1, (-asind(4 / 5))]), n, 1, 4], Sequence[O1 - (l * OrthogonalVector[v1]) + (4 * OrthogonalVector[v1]), l, 0, 4]}], 30°, O1) → listR38
  44. Point(pointsB) → O2
  45. Rotate(Join[{Sequence[Rotate[O1 + (5 * v1), (m * 22.68°), M5] - (5 * v1), m, 1, 7], Sequence[O1 + (n * v1), n, -4, 0]}], -60°, O1) → listB7
  46. Rotate(Join[{Sequence[O1 + (n * v1), n, 1, 4], Sequence[Rotate[O1 + (5 * v1), (m * 22.68°), M5], m, 0, 7]}], 60°, O1) → listB5
  47. Rotate(Join[{Sequence[Rotate[O1 + (3 * v1), (m * 29.1°), M3] - (3 * v1), m, 1, 9], Sequence[O1 + (n * v1), n, -2, 0]}], -30°, O1) → listB9
  48. Rotate(Join[{Sequence[Rotate[O1 + (4 * v1), (m * 27.29°), M4] - (4 * v1), m, 1, 8], Sequence[O1 + (n * v1), n, -3, 0]}], -45°, O1) → listB8
  49. Rotate(Join[{{O1 + v1}, Sequence[Rotate[O1 + (2 * v1), (m * 29.8°), M2], m, 0, 10]}], 15°, O1) → listB2
  50. Rotate(Join[{{O1 + v1, O1 + (2 * v1)}, Sequence[Rotate[O1 + (3 * v1), (m * 29.1°), M3], m, 0, 9]}], 30°, O1) → listB3
  51. Translate(Rotate[Sequence[Rotate[OCircle + (rad1, 0), (m * (360 / 12)°), OCircle], m, -2, 10], 15°, OCircle], Vector[(-v1)]) → listB11
  52. Rotate(Join[{Sequence[Rotate[O1 + (2 * v1), (m * 29.8°), M2] - (2 * v1), m, 1, 10], {O1 - v1, O1}}], -15°, O1) → listB10
  53. Rotate(Join[{Sequence[O1 + (n * v1), n, 1, 6], Sequence[O1 - (n * v1), n, -5, 0]}], 90°, O1) → listB6
  54. Rotate(Join[{Sequence[O1 + (n * v1), n, 1, 3], Sequence[Rotate[O1 + (4 * v1), (m * 27.29°), M4], m, 0, 8]}], 45°, O1) → listB4
  55. Zip(Sequence[A + ((m * 0.2) * Vector[A, B]), m, 0, 4], A, {B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12}, B, {B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B1}) → allPoints
  56. Zip(Angle[xAxis, Line[A, B]], A, {B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12}, B, {B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12, B13}) → listWinkel2
  57. Zip(Angle[xAxis, Line[A, B]], A, {A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12}, B, {A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12, A13}) → listWinkel1
  58. Vector(A7 + vseil1, A6 + vseil2) → vlang
  59. Zip(P + Rotate[vseil1, m], m, listWinkel2, P, {B1, B2, B3, B4, B5, B6, B7, B8, B9, B10, B11, B12}) → drehPointsA2
  60. If(step < 3, listWinkel1, listWinkel2) → listWinkel
  61. Zip(P + Rotate[vseil1, m], m, listWinkel1, P, {A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12}) → drehPointsA1
  62. If(step < 3, drehPointsA1, drehPointsA2) → drehPointsA
  63. Textfield(input1) → Eingabefeld1
  64. Textfield(input2) → Eingabefeld2
  65. Point(Line[Ag1, xAxis]) → Ag2
  66. Point(Line[Gr1, xAxis]) → Gr2
  67. Element(Last[listPointsLine], 1) → OLineEnd
  68. Zip(A + Rotate[vlang, m], A, drehPointsA1, m, listWinkel) → drehPointsB1
  69. Zip(A + Rotate[(0.25 * vlang), m], A, drehPointsA1, m, listWinkel1) → drehPointsC1
  70. Zip(A + Rotate[(0.25 * vlang), m], A, drehPointsA2, m, listWinkel2) → drehPointsC2
  71. Zip(A + Rotate[vlang, m], A, drehPointsA2, m, listWinkel2) → drehPointsB2
  72. If(step < 3, drehPointsB1, drehPointsB2) → drehPointsB
  73. If(step < 3, drehPointsC1, drehPointsC2) → drehPointsC
  74. Point(LineBisector[O1, O2]) → B
  75. CircleArc(B, O2, O1) → c
  76. Vector(O1, B) → u1
  77. Element({listB1, listB2, listB3, listB4, listB5, listB6, listB7, listB8, listB9, listB10, listB11, listB12}, chosenCircle1) → listB
  78. Point(Line[H1a, xAxis]) → H1b
  79. Point(Line[H2a, xAxis]) → H2b
  80. Point(Line[H3a, xAxis]) → H3b
  81. Element({listL34, listL35, listL43, listL45, listL53, listL54, listR37, listR38, listR47, listR49, listR58, listR59}, chosenCircle2b) → listC
  82. Point(pointsB) → O3
  83. Zip(Circle[B, rad2], B, pointsB) → pointsBCircles
  84. If(step ≠ 4, {}, If[O2 ≟ B3, {B7, B8}, If[O2 ≟ B4, {B7, B9}, If[O2 ≟ B5, {B8, B9}, If[O2 ≟ B7, {B3, B4}, If[O2 ≟ B8, {B3, B5}, If[O2 ≟ B9, {B4, B5}]]]]]]) → pointsCpossible
  85. Zip(Circle[B, rad2], B, pointsCpossible) → pointsCCircles
  86. Circle(P + (0.02, 0.07), 0.55) → circlepulse2
  87. Circle(Q + (0.02, 0.07), 0.55) → circlepulse3
  88. Angle(If[x(O2) < x(O1), Polygon[O1, O3, O2], Polygon[O1, O2, O3]]) → w1, w2, w3
  89. Zip(Element[listB, m], m, Join[{Sequence[1, chosenCircle1b], {12}}]) → pointsCBetweenRight
  90. Zip(Element[listB, m], m, Sequence[chosenCircle1b, 12]) → pointsCBetweenLeft
  91. If(chosenCircle1b < 6, pointsCBetweenRight, pointsCBetweenLeft) → pointsCBetween
  92. Zip(Circle[P, rad2], P, pointsCBetween) → pointsCCirclesBetween
  93. Point(Line[PEg1, xAxis]) → PEg2
  94. Point(Line[DP1a, Rotate[DP1b, 90°, DP1a]]) → DP1c
  95. Point(Line[DP2a, Rotate[DP2b, 90°, DP2a]]) → DP2c
  96. Point(Line[DP3a, Rotate[DP3b, 90°, DP3a]]) → DP3c
  97. Sequence(O_{Pflock} + ((m * 1.6), 0), m, -1, 1) → listOPflock
  98. Angle(DP1b, DP1a, DP1c) → winkel71
  99. Angle(DP2b, DP2a, DP2c) → winkel72
  100. Angle(DP3b, DP3a, DP3c) → winkel73

AI Drawing Prompt Reference

A right-angled triangle constructed with a rope (rope) marking its sides and vertices. The rope can slide to change the triangle's shape, demonstrating the Pythagorean theorem. The rope consists of multiple line segments marked on the triangle. The figure includes points, arcs, and lines to show geometric construction.
The prompt above was compiled from the original drawing commands and is for reference only.