Draw n Chords

Optimised pen path

to reduce pen up travel

But this breaks the angle changing.

See: Chords (variation)

For version with angle changing.

Log in to post a comment.

// Forked from "Chords" by rupertxrussell // https://turtletoy.net/turtle/7883f5ff09 // https://turtletoy.net/turtle/867faa2dad // You can find the Turtle API reference here: https://turtletoy.net/syntax // Released under the MIT licence // https://mit-license.org/ // you can use this for commercial gain if you like eg you can sell artworks with this image. Canvas.setpenopacity(1); // https://www.varsitytutors.com/intermediate_geometry-help/how-to-find-the-length-of-a-chord // Chord length using perpendicular distance from the center = 2 × √(r2 − d2). // https://www.cuemath.com/geometry/Chords-of-a-circle/ const numLines = 160; // min=0 max=160 step=1 const angle=0; // min=0 max=360 step=1 const turtle = new Turtle(); let d = 0; let d2 = d * d; let r = 80; let r2 = r * r; let chordLength; for(let n=0; n < numLines; n = n + 1){ d = n -80; d2 = d * d; chordLength = 2 * Math.sqrt(r2 - d2); turtle.seth(angle); // this is broken at the moment if(isEven(n)){ turtle.jump(-chordLength /2,-80 + n); turtle.forward(chordLength); // draw line left to right } else { turtle.jump(chordLength /2,-80 + n); turtle.back(chordLength); // draw line right to left } } function isEven(number) { return number % 2 === 0; }