Install require packages by runing
pip install -r requirements.txt
Run the program by opening and running main.py, file section.py contains class for every tentacle section.
Tentacle is separated into segments of certain lenght - here lenght of each section is 8px and number of secttions is 50. End of the tentacle always follows user cursor - speed of following is defined by the distance between the tentacle end cursor position.On each update(time step is not defined, tentacle updates for every frame instead) program iterates through the tentacle backwards and first sets the position of the end point, then moves every following point according to the lenght of each segment. This way however the tentacle as a whole would follow the cursor, so another loop is introduced which iterates other way from the beginnig of the tentacle to it's end and sets it's first position to a certain point, then moves every point the same way as in the first loop. Resulting tentacle:
By changing the L and N values (file main.py lines 12 and 13) to L = 80 and N = 3 it is possible to simulate something resembling a robotic arm: