Spirolateral 003 hard coded

Hardcoded Values to prevent
redundant plotting. See Excel file used to process X,Y coordinates at: rupert.id.au/spirolateral003/

Log in to post a comment.

// Forked from "Spirolateral 003 hard coded" by rupertxrussell
// https://turtletoy.net/turtle/29012795ff

// Forked from "Spirolateral 003" by rupertxrussell
// https://turtletoy.net/turtle/d5cefb90ea

// You can find the Turtle API reference here: https://turtletoy.net/syntax
Canvas.setpenopacity(1);

// inspired by https://direct.mit.edu/books/oa-monograph/4663/Turtle-GeometryThe-Computer-as-a-Medium-for
// Turtle Geometry: The Computer as a Medium for Exploring Mathematics 
// Harold Abelson * scale, scale * Andrea diSessa
// The MIT Press
// DOI: https://doi.org/10.7551/mitpress/6933.001.0001
// ISBN electronic: 9780262362740
// Publication date: 1981

//Excel files used to process X * scale, scale *Y coordinates at: https://rupert.id.au/spirolateral003/

// Global code will be evaluated once.
const x=-17; // min=-100 max=100 step=1
const y=25; // min=-100 max=100 step=1

const turtle = new Turtle();

const scale=1.2; // min=0.1 max=1.2 step=0.1

turtle.penup();
turtle.goto();
turtle.pendown();

// Vertical Lines on X Axis
turtle.jump(x+-56 * scale, scale *-62 +y); turtle.goto(x+-56 * scale, scale *14 +y);
turtle.jump(x+-52 * scale, scale *-58 +y); turtle.goto(x+-52 * scale, scale *10 +y);
turtle.jump(x+-48 * scale, scale *-54 +y); turtle.goto(x+-48 * scale, scale *6 +y);
turtle.jump(x+-44 * scale, scale *-50 +y); turtle.goto(x+-44 * scale, scale *2 +y);
turtle.jump(x+-40 * scale, scale *-46 +y); turtle.goto(x+-40 * scale, scale *-2 +y);
turtle.jump(x+-36 * scale, scale *-42 +y); turtle.goto(x+-36 * scale, scale *-6 +y);
turtle.jump(x+-34 * scale, scale *-26 +y); turtle.goto(x+-34 * scale, scale *-18 +y);
turtle.jump(x+-32 * scale, scale *-38 +y); turtle.goto(x+-32 * scale, scale *-10 +y);
turtle.jump(x+-30 * scale, scale *-30 +y); turtle.goto(x+-30 * scale, scale *48 +y);
turtle.jump(x+-28 * scale, scale *-34 +y); turtle.goto(x+-28 * scale, scale *-14 +y);
turtle.jump(x+-26 * scale, scale *-26 +y); turtle.goto(x+-26 * scale, scale *44 +y);
turtle.jump(x+-24 * scale, scale *-30 +y); turtle.goto(x+-24 * scale, scale *-18 +y);
turtle.jump(x+-22 * scale, scale *-88 +y); turtle.goto(x+-22 * scale, scale *40 +y);
turtle.jump(x+-18 * scale, scale *-84 +y); turtle.goto(x+-18 * scale, scale *36 +y);
turtle.jump(x+-14 * scale, scale *-80 +y); turtle.goto(x+-14 * scale, scale *-22 +y);
turtle.jump(x+-14 * scale, scale *-14 +y); turtle.goto(x+-14 * scale, scale *32 +y);
turtle.jump(x+-10 * scale, scale *-76 +y); turtle.goto(x+-10 * scale, scale *28 +y);
turtle.jump(x+-6 * scale, scale *-72 +y); turtle.goto(x+-6 * scale, scale *-34 +y);
turtle.jump(x+-6 * scale, scale *-30 +y); turtle.goto(x+-6 * scale, scale *-10 +y);
turtle.jump(x+-6 * scale, scale *-6 +y); turtle.goto(x+-6 * scale, scale *24 +y);
turtle.jump(x+-2 * scale, scale *-68 +y); turtle.goto(x+-2 * scale, scale *20 +y);
turtle.jump(x+2 * scale, scale *-64 +y); turtle.goto(x+2 * scale, scale *22 +y);
turtle.jump(x+6 * scale, scale *-60 +y); turtle.goto(x+6 * scale, scale *26 +y);
turtle.jump(x+10 * scale, scale *-66 +y); turtle.goto(x+10 * scale, scale *14 +y);
turtle.jump(x+14 * scale, scale *-54 +y); turtle.goto(x+14 * scale, scale *26 +y);
turtle.jump(x+18 * scale, scale *-66 +y); turtle.goto(x+18 * scale, scale *20 +y);
turtle.jump(x+22 * scale, scale *-62 +y); turtle.goto(x+22 * scale, scale *24 +y);
turtle.jump(x+26 * scale, scale *-60 +y); turtle.goto(x+26 * scale, scale *28 +y);
turtle.jump(x+30 * scale, scale *-64 +y); turtle.goto(x+30 * scale, scale *32 +y);
turtle.jump(x+34 * scale, scale *-68 +y); turtle.goto(x+34 * scale, scale *36 +y);
turtle.jump(x+38 * scale, scale *-72 +y); turtle.goto(x+38 * scale, scale *40 +y);
turtle.jump(x+42 * scale, scale *-76 +y); turtle.goto(x+42 * scale, scale *44 +y);
turtle.jump(x+46 * scale, scale *-80 +y); turtle.goto(x+46 * scale, scale *48 +y);
turtle.jump(x+48 * scale, scale *-22 +y); turtle.goto(x+48 * scale, scale *-10 +y);
turtle.jump(x+50 * scale, scale *-84 +y); turtle.goto(x+50 * scale, scale *-14 +y);
turtle.jump(x+52 * scale, scale *-26 +y); turtle.goto(x+52 * scale, scale *-6 +y);
turtle.jump(x+54 * scale, scale *-88 +y); turtle.goto(x+54 * scale, scale *-10 +y);
turtle.jump(x+56 * scale, scale *-30 +y); turtle.goto(x+56 * scale, scale *-2 +y);
turtle.jump(x+58 * scale, scale *-22 +y); turtle.goto(x+58 * scale, scale *-14 +y);
turtle.jump(x+60 * scale, scale *-34 +y); turtle.goto(x+60 * scale, scale *2 +y);
turtle.jump(x+64 * scale, scale *-38 +y); turtle.goto(x+64 * scale, scale *6 +y);
turtle.jump(x+68 * scale, scale *-42 +y); turtle.goto(x+68 * scale, scale *10 +y);
turtle.jump(x+72 * scale, scale *-46 +y); turtle.goto(x+72 * scale, scale *14 +y);
turtle.jump(x+76 * scale, scale *-50 +y); turtle.goto(x+76 * scale, scale *18 +y);
turtle.jump(x+80 * scale, scale *-54 +y); turtle.goto(x+80 * scale, scale *22 +y);

// Horozantal lines on the y Axis
turtle.jump(x+-22 * scale, scale *-88 +y); turtle.goto(x+54 * scale, scale *-88 +y);
turtle.jump(x+-18 * scale, scale *-84 +y); turtle.goto(x+50 * scale, scale *-84 +y);
turtle.jump(x+-14 * scale, scale *-80 +y); turtle.goto(x+46 * scale, scale *-80 +y);
turtle.jump(x+-10 * scale, scale *-76 +y); turtle.goto(x+42 * scale, scale *-76 +y);
turtle.jump(x+-6 * scale, scale *-72 +y); turtle.goto(x+38 * scale, scale *-72 +y);
turtle.jump(x+-2 * scale, scale *-68 +y); turtle.goto(x+34 * scale, scale *-68 +y);
turtle.jump(x+10 * scale, scale *-66 +y); turtle.goto(x+18 * scale, scale *-66 +y);
turtle.jump(x+2 * scale, scale *-64 +y); turtle.goto(x+30 * scale, scale *-64 +y);
turtle.jump(x+-56 * scale, scale *-62 +y); turtle.goto(x+22 * scale, scale *-62 +y);
turtle.jump(x+6 * scale, scale *-60 +y); turtle.goto(x+26 * scale, scale *-60 +y);
turtle.jump(x+-52 * scale, scale *-58 +y); turtle.goto(x+18 * scale, scale *-58 +y);
turtle.jump(x+10 * scale, scale *-56 +y); turtle.goto(x+22 * scale, scale *-56 +y);
turtle.jump(x+-48 * scale, scale *-54 +y); turtle.goto(x+80 * scale, scale *-54 +y);
turtle.jump(x+-44 * scale, scale *-50 +y); turtle.goto(x+76 * scale, scale *-50 +y);
turtle.jump(x+-40 * scale, scale *-46 +y); turtle.goto(x+72 * scale, scale *-46 +y);
turtle.jump(x+-36 * scale, scale *-42 +y); turtle.goto(x+68 * scale, scale *-42 +y);
turtle.jump(x+-32 * scale, scale *-38 +y); turtle.goto(x+64 * scale, scale *-38 +y);
turtle.jump(x+-28 * scale, scale *-34 +y); turtle.goto(x+60 * scale, scale *-34 +y);
turtle.jump(x+-30 * scale, scale *-30 +y); turtle.goto(x+56 * scale, scale *-30 +y);
turtle.jump(x+-34 * scale, scale *-26 +y); turtle.goto(x+52 * scale, scale *-26 +y);
turtle.jump(x+-22 * scale, scale *-22 +y); turtle.goto(x+58 * scale, scale *-22 +y);
turtle.jump(x+-34 * scale, scale *-18 +y); turtle.goto(x+46 * scale, scale *-18 +y);
turtle.jump(x+-28 * scale, scale *-14 +y); turtle.goto(x+58 * scale, scale *-14 +y);
turtle.jump(x+-32 * scale, scale *-10 +y); turtle.goto(x+54 * scale, scale *-10 +y);
turtle.jump(x+-36 * scale, scale *-6 +y); turtle.goto(x+52 * scale, scale *-6 +y);
turtle.jump(x+-40 * scale, scale *-2 +y); turtle.goto(x+56 * scale, scale *-2 +y);
turtle.jump(x+-44 * scale, scale *2 +y); turtle.goto(x+60 * scale, scale *2 +y);
turtle.jump(x+-48 * scale, scale *6 +y); turtle.goto(x+64 * scale, scale *6 +y);
turtle.jump(x+-52 * scale, scale *10 +y); turtle.goto(x+68 * scale, scale *10 +y);
turtle.jump(x+-56 * scale, scale *14 +y); turtle.goto(x+72 * scale, scale *14 +y);
turtle.jump(x+2 * scale, scale *16 +y); turtle.goto(x+14 * scale, scale *16 +y);
turtle.jump(x+6 * scale, scale *18 +y); turtle.goto(x+76 * scale, scale *18 +y);
turtle.jump(x+-2 * scale, scale *20 +y); turtle.goto(x+18 * scale, scale *20 +y);
turtle.jump(x+2 * scale, scale *22 +y); turtle.goto(x+80 * scale, scale *22 +y);
turtle.jump(x+-6 * scale, scale *24 +y); turtle.goto(x+22 * scale, scale *24 +y);
turtle.jump(x+6 * scale, scale *26 +y); turtle.goto(x+14 * scale, scale *26 +y);
turtle.jump(x+-10 * scale, scale *28 +y); turtle.goto(x+26 * scale, scale *28 +y);
turtle.jump(x+-14 * scale, scale *32 +y); turtle.goto(x+30 * scale, scale *32 +y);
turtle.jump(x+-18 * scale, scale *36 +y); turtle.goto(x+34 * scale, scale *36 +y);
turtle.jump(x+-22 * scale, scale *40 +y); turtle.goto(x+38 * scale, scale *40 +y);
turtle.jump(x+-26 * scale, scale *44 +y); turtle.goto(x+42 * scale, scale *44 +y);
turtle.jump(x+-30 * scale, scale *48 +y); turtle.goto(x+46 * scale, scale *48 +y);