Some Lissajous curves: en.wikipedia.org/wiki/lissajous_curve

Please note that some of these patterns are repeated and may cause a plotter to overwrite the same point multiple times. I am going to see if I can adapt this code to prevent this.

Log in to post a comment.

// Forked from "Lissajous curves" by reinder // https://turtletoy.net/turtle/982e9ce2ae // Lissajous curves. Created by Reinder Nijhoff 2018 // @reindernijhoff // // https://turtletoy.net/turtle/982e9ce2ae // Canvas.setpenopacity(1); const count=16; //min=4 max=20 step=1 const div = count; const steps = 60;//min=10 max=60 step=1 const turtles = []; const scale = 200; //min=50 max=200 step=1 for (let x=0; x<div; x++) { for (let y=0; y<div; y++) { turtles.push(new Turtle((x + .5) * scale/div - scale/2, (y + .9) * scale/div - scale/2)); } } function walk(i) { for (let x=0; x<div; x++) { for (let y=0; y<div; y++) { turtles[y+x*div].goto( (x + .5 + .4 * Math.sin((x+1)*i*2*Math.PI/steps)) * scale/div - scale/2, (y + .5 + .4 * Math.cos((y+1)*i*2*Math.PI/steps)) * scale/div - scale/2); } } return i < steps; }