Rope

What is it?
This project simulates a wave moving along a rope. The right end of the rope (a blue turtle) is fixed to a wall. The left end of the rope (a green turtle) provides an input force, moving up and down in a sinusoidal motion.
How to Use It

Click the `setup` button to set up the rope. Click `go` to make the left end of the rope (the green turtle) begin moving up and down. The `friction` slider controls the amount of friction in the rope. The `frequency` slider controls the speed with which the left end of the rope moves up and down. The `amplitude` slider controls the maximum height of the left end of the rope. |

Things to Notice

The rope is made up of a line of turtles. Each turtle acts as it were connected to its neighboring turtles with springs. When neighboring turtles are further away, they exert a stronger force.

When the left end of the rope (the green turtle) moves up, it "pulls up" the turtle to its right, which in turn pulls up the turtle to its right, and so on. In that way, a wave moves down the rope. When the wave reaches the right end of the rope (the blue turtle), the wave is reflected back to the left.

The green turtle (at the left end) continues to put more energy into the rope. If there were no friction in the rope, the waves in the rope would keep getting bigger and bigger.

Explorations

- Change the values on the sliders and observe what happens to the waves on the rope.
- Try to create a "standing wave," in which some points on the rope do not move at all.
- Change the blue turtle to green, so that there are two driving forces. Then change one of the red turtles in the middle of the rope to blue, so that there is a fixed point in the middle. What happens to the waves?
- Change the right end of the rope so that it moves freely, rather than being fixed. How does that change the behavior of waves in the rope?

StarLogo Features
For this project, it does not make sense for the turtles to "wrap" when they get to the top or bottom of the screen. So the y-position of the turtles is kept in a new variable (`ypos`), and the turtle is hidden if its y-position moves outside the boundary of the screen.

###

We welcome your feedback and suggestions! Please send us email.