Draws a grid of snowflakes with random twig lengths.
Log in to post a comment.
// Forked from "Snowflake 003" by rupertxrussell // https://turtletoy.net/turtle/8b68c0496b // Forked from "Snowflake 001 " by rupertxrussell // https://turtletoy.net/turtle/45cd645993 // You can find the Turtle API reference here: https://turtletoy.net/syntax Canvas.setpenopacity(1); // Global code will be evaluated once. const arms = 6; //min=4 max=10 step=1 const armLength = 10; //min=10 max=20 step=1 const numTwigs = 8; //min=3 max=10 step=1 const maxTwigLength = 3; //min=1 max=5 step=1 const minTwigLength = 1; //min=0 max=5 step=1 var twigLength; const turtle = new Turtle(); let twig = []; let XGap = 40; //min=20 max=50 step=1 let YGap = 40; //min=20 max=50 step=1 // calculate a random twig length for each twig for(let j = 0; j < 200 - XGap ; j = j + XGap){ for(let k=0; k < 200 - YGap; k = k + YGap){ for (let nTwig = 0; nTwig <= numTwigs; nTwig ++){ twig[nTwig] = getRndInteger(minTwigLength, maxTwigLength); } for (let i = 0; i < arms; i++) { turtle.penup(); turtle.goto(-100 + XGap + j, -100 + YGap + k); turtle.pendown(); turtle.right(360/arms); for(let n = 0; n < numTwigs /2 ; n ++){ turtle.forward(armLength / numTwigs); turtle.right(60); turtle.forward(twig[n]); turtle.back(twig[n]); turtle.left(60); turtle.left(60); turtle.forward(twig[n]); turtle.back(twig[n]); turtle.right(60); turtle.forward(twig[n]); turtle.right(120); turtle.forward(twig[n+1]); turtle.back(twig[n+1]); turtle.left(120); turtle.left(120); turtle.forward(twig[n+1]); turtle.back(twig[n+1]); turtle.right(120); turtle.forward(twig[n]); turtle.back(twig[n]); // turtle.right(360/arms); // turtle.forward(twig[n]); } turtle.forward(twig[0]); // } } } function getRndInteger(min, max) { return Math.floor(Math.random() * (max - min + 1) ) + min; }