These ribbons are made from individual lines that start out horizontal. In each step it samples a Perlin noise field to determine how to rotate the line. The difference in smoothness between the different ribbons is the result of moving through the noise field at different rates.

Refresh to get new ribbons.

<< go back • open the code in the p5.js editor