Metatron's Cube 002

Metatron's Cube 002
// inspired by: youtu.be/jyozlpaybju?si=6yg-dulvtlka52uq

Log in to post a comment.

// inspired by: https://youtu.be/JYOzlPAyBJU?si=6yg-dULVTLKA52uq&t=185
// Rupert Russell
// 

// Metatron’s Cube encodes all 5 Platonic solids within it:
// Tetrahedron
// Cube
// Octahedron
// Dodecahedron
// Icosahedron
// These are the only five perfect solids — and they are the basis of all matter in classical sacred geometry.
// Since Metatron is linked to the “blueprint” of creation, the geometric figure that visually contains these blueprints is named after him.


// You can find the Turtle API reference here: https://turtletoy.net/syntax

Canvas.setpenopacity(1);
const radius=18 //min=1 max=50 step=1
const step=51 //min=0 max=51 step=1

// an array to hold the center x,y values of each circle
const centers = [];

function centeredCircle(x,y,radius) {
    turtle.seth(0);
	turtle.jump(x,y-radius);
	turtle.circle(radius);
}


function drawCircleAt(n,r) {
    const point = centers[n];
    const x = point[`x${n}`];
    const y = point[`y${n}`];
    centeredCircle(x, y, r);
}


function drawLineFrom(a,b) {
    const pointA = centers[a];
    const xA = pointA[`x${a}`];
    const yA = pointA[`y${a}`];
    
    const pointB = centers[b];
    const xB = pointB[`x${b}`];
    const yB = pointB[`y${b}`];  
    
    turtle.jump(xA,yA);
    turtle.goto(xB,yB);
}

const turtle = new Turtle();

// Seed of life
// centeredCircle(0,0,radius); // Draw Center Circle
centers.push({ x0: 0, y0: 0 }); // Store central circle 

// Inner 6 circles around the central circle
for(n=1; n<=6; n++){
    turtle.jump(0,0); // return to the center of the screen
    turtle.seth(270+(60*n));
    turtle.penup();
    turtle.forward(radius*2);
    turtle.pendown();
    const cx = Number(turtle.xcor().toFixed(0));
    const cy = Number(turtle.ycor().toFixed(0));
    
    // Save center coordinates to an array {x0: 0, y0: 0}  {x1: 28, y1:-16} etc
    const entry = {};
    entry[`x${n}`] = cx;
    entry[`y${n}`] = cy;
    centers.push(entry);
}

// Outer 6 circles around the central circle
for(n=7; n<=12; n++){
    turtle.jump(0,0); // return to the center of the screen
    turtle.seth(270+(60*n));
    turtle.penup();
    turtle.forward(radius*4);
    turtle.pendown();
    const cx = Number(turtle.xcor().toFixed(0));
    const cy = Number(turtle.ycor().toFixed(0));

    // save the outer 6 circle cener coordinates to the array
    const entry = {};
    entry[`x${n}`] = cx;
    entry[`y${n}`] = cy;
    centers.push(entry);
}

// Print centers array to the console press F12 on 
// the browser to view the values in the console
console.log(centers);


//  Draw the sequence step by step
if(step == 0){
    drawCircleAt(0,radius);
}

if(step == 1){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
}

if(step == 2){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
}

if(step == 3){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
}

if(step == 4){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
}

if(step == 5){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
}

if(step == 6){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
    drawCircleAt(6,radius);
}

if(step == 7){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
    drawCircleAt(6,radius);
    drawCircleAt(7,radius);
}

if(step == 8){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
    drawCircleAt(6,radius);
    drawCircleAt(7,radius);
    drawCircleAt(8,radius);
}

if(step == 9){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
    drawCircleAt(6,radius);
    drawCircleAt(7,radius);
    drawCircleAt(8,radius);
    drawCircleAt(9,radius);
}

if(step == 10){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
    drawCircleAt(6,radius);
    drawCircleAt(7,radius);
    drawCircleAt(8,radius);
    drawCircleAt(9,radius);
    drawCircleAt(10,radius);
}

if(step == 11){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
    drawCircleAt(6,radius);
    drawCircleAt(7,radius);
    drawCircleAt(8,radius);
    drawCircleAt(9,radius);
    drawCircleAt(10,radius);
    drawCircleAt(11,radius);
}

if(step == 12){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
    drawCircleAt(6,radius);
    drawCircleAt(7,radius);
    drawCircleAt(8,radius);
    drawCircleAt(9,radius);
    drawCircleAt(10,radius);
    drawCircleAt(11,radius);
    drawCircleAt(12,radius);
}

if(step == 13){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
    drawCircleAt(6,radius);
    drawCircleAt(7,radius);
    drawCircleAt(8,radius);
    drawCircleAt(9,radius);
    drawCircleAt(10,radius);
    drawCircleAt(11,radius);
    drawCircleAt(12,radius);
    // Star
    drawLineFrom(7,10);

}

if(step == 14){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
    drawCircleAt(6,radius);
    drawCircleAt(7,radius);
    drawCircleAt(8,radius);
    drawCircleAt(9,radius);
    drawCircleAt(10,radius);
    drawCircleAt(11,radius);
    drawCircleAt(12,radius);
    // Star
    drawLineFrom(7,10);
    drawLineFrom(12,9);

}

if(step == 15){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
    drawCircleAt(6,radius);
    drawCircleAt(7,radius);
    drawCircleAt(8,radius);
    drawCircleAt(9,radius);
    drawCircleAt(10,radius);
    drawCircleAt(11,radius);
    drawCircleAt(12,radius);
    // Star
    drawLineFrom(7,10);
    drawLineFrom(12,9);
    drawLineFrom(8,11);
}

if(step == 16){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
    drawCircleAt(6,radius);
    drawCircleAt(7,radius);
    drawCircleAt(8,radius);
    drawCircleAt(9,radius);
    drawCircleAt(10,radius);
    drawCircleAt(11,radius);
    drawCircleAt(12,radius);
    // Star
    drawLineFrom(7,10);
    drawLineFrom(12,9);
    drawLineFrom(8,11);
    
    //inner hexagon
    drawLineFrom(1,2);
}


if(step == 17){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
    drawCircleAt(6,radius);
    drawCircleAt(7,radius);
    drawCircleAt(8,radius);
    drawCircleAt(9,radius);
    drawCircleAt(10,radius);
    drawCircleAt(11,radius);
    drawCircleAt(12,radius);
    // Star
    drawLineFrom(7,10);
    drawLineFrom(12,9);
    drawLineFrom(8,11);
    
    //inner hexagon
    drawLineFrom(1,2);
    drawLineFrom(2,3);

}

if(step == 18){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
    drawCircleAt(6,radius);
    drawCircleAt(7,radius);
    drawCircleAt(8,radius);
    drawCircleAt(9,radius);
    drawCircleAt(10,radius);
    drawCircleAt(11,radius);
    drawCircleAt(12,radius);
    // Star
    drawLineFrom(7,10);
    drawLineFrom(12,9);
    drawLineFrom(8,11);
    
    //inner hexagon
    drawLineFrom(1,2);
    drawLineFrom(2,3);
    drawLineFrom(3,4);
}


if(step == 19){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
    drawCircleAt(6,radius);
    drawCircleAt(7,radius);
    drawCircleAt(8,radius);
    drawCircleAt(9,radius);
    drawCircleAt(10,radius);
    drawCircleAt(11,radius);
    drawCircleAt(12,radius);
    // Star
    drawLineFrom(7,10);
    drawLineFrom(12,9);
    drawLineFrom(8,11);
    //inner hexagon
    drawLineFrom(1,2);
    drawLineFrom(2,3);
    drawLineFrom(3,4);
    drawLineFrom(4,5);
}

if(step == 20){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
    drawCircleAt(6,radius);
    drawCircleAt(7,radius);
    drawCircleAt(8,radius);
    drawCircleAt(9,radius);
    drawCircleAt(10,radius);
    drawCircleAt(11,radius);
    drawCircleAt(12,radius);
    // Star
    drawLineFrom(7,10);
    drawLineFrom(12,9);
    drawLineFrom(8,11);
    //inner hexagon
    drawLineFrom(1,2);
    drawLineFrom(2,3);
    drawLineFrom(3,4);
    drawLineFrom(4,5);
    drawLineFrom(5,6);
}

if(step == 21){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
    drawCircleAt(6,radius);
    drawCircleAt(7,radius);
    drawCircleAt(8,radius);
    drawCircleAt(9,radius);
    drawCircleAt(10,radius);
    drawCircleAt(11,radius);
    drawCircleAt(12,radius);
    // Star
    drawLineFrom(7,10);
    drawLineFrom(12,9);
    drawLineFrom(8,11);
    //inner hexagon
    drawLineFrom(1,2);
    drawLineFrom(2,3);
    drawLineFrom(3,4);
    drawLineFrom(4,5);
    drawLineFrom(5,6);
    drawLineFrom(6,1);
}

if(step == 22){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
    drawCircleAt(6,radius);
    drawCircleAt(7,radius);
    drawCircleAt(8,radius);
    drawCircleAt(9,radius);
    drawCircleAt(10,radius);
    drawCircleAt(11,radius);
    drawCircleAt(12,radius);
    // Star
    drawLineFrom(7,10);
    drawLineFrom(12,9);
    drawLineFrom(8,11);
    //inner hexagon
    drawLineFrom(1,2);
    drawLineFrom(2,3);
    drawLineFrom(3,4);
    drawLineFrom(4,5);
    drawLineFrom(5,6);
    drawLineFrom(6,1);
    //Outer hexagon
    drawLineFrom(7,8);
}


if(step == 23){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
    drawCircleAt(6,radius);
    drawCircleAt(7,radius);
    drawCircleAt(8,radius);
    drawCircleAt(9,radius);
    drawCircleAt(10,radius);
    drawCircleAt(11,radius);
    drawCircleAt(12,radius);
    // Star
    drawLineFrom(7,10);
    drawLineFrom(12,9);
    drawLineFrom(8,11);
    //inner hexagon
    drawLineFrom(1,2);
    drawLineFrom(2,3);
    drawLineFrom(3,4);
    drawLineFrom(4,5);
    drawLineFrom(5,6);
    drawLineFrom(6,1);
    //Outer hexagon
    drawLineFrom(7,8);
    drawLineFrom(8,9);
}

if(step == 24){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
    drawCircleAt(6,radius);
    drawCircleAt(7,radius);
    drawCircleAt(8,radius);
    drawCircleAt(9,radius);
    drawCircleAt(10,radius);
    drawCircleAt(11,radius);
    drawCircleAt(12,radius);
    // Star
    drawLineFrom(7,10);
    drawLineFrom(12,9);
    drawLineFrom(8,11);
    //inner hexagon
    drawLineFrom(1,2);
    drawLineFrom(2,3);
    drawLineFrom(3,4);
    drawLineFrom(4,5);
    drawLineFrom(5,6);
    drawLineFrom(6,1);
    //Outer hexagon
    drawLineFrom(7,8);
    drawLineFrom(8,9);
    drawLineFrom(9,10);
}

if(step == 25){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
    drawCircleAt(6,radius);
    drawCircleAt(7,radius);
    drawCircleAt(8,radius);
    drawCircleAt(9,radius);
    drawCircleAt(10,radius);
    drawCircleAt(11,radius);
    drawCircleAt(12,radius);
    // Star
    drawLineFrom(7,10);
    drawLineFrom(12,9);
    drawLineFrom(8,11);
    //inner hexagon
    drawLineFrom(1,2);
    drawLineFrom(2,3);
    drawLineFrom(3,4);
    drawLineFrom(4,5);
    drawLineFrom(5,6);
    drawLineFrom(6,1);
    //Outer hexagon
    drawLineFrom(7,8);
    drawLineFrom(8,9);
    drawLineFrom(9,10);
    drawLineFrom(10,11);
}


if(step == 26){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
    drawCircleAt(6,radius);
    drawCircleAt(7,radius);
    drawCircleAt(8,radius);
    drawCircleAt(9,radius);
    drawCircleAt(10,radius);
    drawCircleAt(11,radius);
    drawCircleAt(12,radius);
    // Star
    drawLineFrom(7,10);
    drawLineFrom(12,9);
    drawLineFrom(8,11);
    //inner hexagon
    drawLineFrom(1,2);
    drawLineFrom(2,3);
    drawLineFrom(3,4);
    drawLineFrom(4,5);
    drawLineFrom(5,6);
    drawLineFrom(6,1);
    //Outer hexagon
    drawLineFrom(7,8);
    drawLineFrom(8,9);
    drawLineFrom(9,10);
    drawLineFrom(10,11);
    drawLineFrom(11,12);
}

if(step == 27){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
    drawCircleAt(6,radius);
    drawCircleAt(7,radius);
    drawCircleAt(8,radius);
    drawCircleAt(9,radius);
    drawCircleAt(10,radius);
    drawCircleAt(11,radius);
    drawCircleAt(12,radius);
    // Star
    drawLineFrom(7,10);
    drawLineFrom(12,9);
    drawLineFrom(8,11);
    //inner hexagon
    drawLineFrom(1,2);
    drawLineFrom(2,3);
    drawLineFrom(3,4);
    drawLineFrom(4,5);
    drawLineFrom(5,6);
    drawLineFrom(6,1);
    //Outer hexagon
    drawLineFrom(7,8);
    drawLineFrom(8,9);
    drawLineFrom(9,10);
    drawLineFrom(10,11);
    drawLineFrom(11,12);
    drawLineFrom(12,7);
}

if(step == 28){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
    drawCircleAt(6,radius);
    drawCircleAt(7,radius);
    drawCircleAt(8,radius);
    drawCircleAt(9,radius);
    drawCircleAt(10,radius);
    drawCircleAt(11,radius);
    drawCircleAt(12,radius);
    // Star
    drawLineFrom(7,10);
    drawLineFrom(12,9);
    drawLineFrom(8,11);
    //inner hexagon
    drawLineFrom(1,2);
    drawLineFrom(2,3);
    drawLineFrom(3,4);
    drawLineFrom(4,5);
    drawLineFrom(5,6);
    drawLineFrom(6,1);
    //Outer hexagon
    drawLineFrom(7,8);
    drawLineFrom(8,9);
    drawLineFrom(9,10);
    drawLineFrom(10,11);
    drawLineFrom(11,12);
    drawLineFrom(12,7);
    // 1st Equilateral triangle - outer pointing up
    drawLineFrom(12,8);
}

if(step == 29){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
    drawCircleAt(6,radius);
    drawCircleAt(7,radius);
    drawCircleAt(8,radius);
    drawCircleAt(9,radius);
    drawCircleAt(10,radius);
    drawCircleAt(11,radius);
    drawCircleAt(12,radius);
    // Star
    drawLineFrom(7,10);
    drawLineFrom(12,9);
    drawLineFrom(8,11);
    //inner hexagon
    drawLineFrom(1,2);
    drawLineFrom(2,3);
    drawLineFrom(3,4);
    drawLineFrom(4,5);
    drawLineFrom(5,6);
    drawLineFrom(6,1);
    //Outer hexagon
    drawLineFrom(7,8);
    drawLineFrom(8,9);
    drawLineFrom(9,10);
    drawLineFrom(10,11);
    drawLineFrom(11,12);
    drawLineFrom(12,7);
    // 1st Equilateral triangle - outer pointing up
    drawLineFrom(12,8);
    drawLineFrom(8,10);
}

if(step == 30){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
    drawCircleAt(6,radius);
    drawCircleAt(7,radius);
    drawCircleAt(8,radius);
    drawCircleAt(9,radius);
    drawCircleAt(10,radius);
    drawCircleAt(11,radius);
    drawCircleAt(12,radius);
    // Star
    drawLineFrom(7,10);
    drawLineFrom(12,9);
    drawLineFrom(8,11);
    //inner hexagon
    drawLineFrom(1,2);
    drawLineFrom(2,3);
    drawLineFrom(3,4);
    drawLineFrom(4,5);
    drawLineFrom(5,6);
    drawLineFrom(6,1);
    //Outer hexagon
    drawLineFrom(7,8);
    drawLineFrom(8,9);
    drawLineFrom(9,10);
    drawLineFrom(10,11);
    drawLineFrom(11,12);
    drawLineFrom(12,7);
    // 1st Equilateral triangle - outer pointing up
    drawLineFrom(12,8);
    drawLineFrom(8,10);
    drawLineFrom(10,12);
}

if(step == 31){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
    drawCircleAt(6,radius);
    drawCircleAt(7,radius);
    drawCircleAt(8,radius);
    drawCircleAt(9,radius);
    drawCircleAt(10,radius);
    drawCircleAt(11,radius);
    drawCircleAt(12,radius);
    // Star
    drawLineFrom(7,10);
    drawLineFrom(12,9);
    drawLineFrom(8,11);
    //inner hexagon
    drawLineFrom(1,2);
    drawLineFrom(2,3);
    drawLineFrom(3,4);
    drawLineFrom(4,5);
    drawLineFrom(5,6);
    drawLineFrom(6,1);
    //Outer hexagon
    drawLineFrom(7,8);
    drawLineFrom(8,9);
    drawLineFrom(9,10);
    drawLineFrom(10,11);
    drawLineFrom(11,12);
    drawLineFrom(12,7);
    // 1st Equilateral triangle - outer pointing up
    drawLineFrom(12,8);
    drawLineFrom(8,10);
    drawLineFrom(10,12);
    // 2nd Equilateral triangle outer - pointing down
    drawLineFrom(11,7);
}

if(step == 32){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
    drawCircleAt(6,radius);
    drawCircleAt(7,radius);
    drawCircleAt(8,radius);
    drawCircleAt(9,radius);
    drawCircleAt(10,radius);
    drawCircleAt(11,radius);
    drawCircleAt(12,radius);
    // Star
    drawLineFrom(7,10);
    drawLineFrom(12,9);
    drawLineFrom(8,11);
    //inner hexagon
    drawLineFrom(1,2);
    drawLineFrom(2,3);
    drawLineFrom(3,4);
    drawLineFrom(4,5);
    drawLineFrom(5,6);
    drawLineFrom(6,1);
    //Outer hexagon
    drawLineFrom(7,8);
    drawLineFrom(8,9);
    drawLineFrom(9,10);
    drawLineFrom(10,11);
    drawLineFrom(11,12);
    drawLineFrom(12,7);
    // 1st Equilateral triangle - outer pointing up
    drawLineFrom(12,8);
    drawLineFrom(8,10);
    drawLineFrom(10,12);
    // 2nd Equilateral triangle outer - pointing down
    drawLineFrom(11,7);
    drawLineFrom(7,9);
}

if(step == 33){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
    drawCircleAt(6,radius);
    drawCircleAt(7,radius);
    drawCircleAt(8,radius);
    drawCircleAt(9,radius);
    drawCircleAt(10,radius);
    drawCircleAt(11,radius);
    drawCircleAt(12,radius);
    // Star
    drawLineFrom(7,10);
    drawLineFrom(12,9);
    drawLineFrom(8,11);
    //inner hexagon
    drawLineFrom(1,2);
    drawLineFrom(2,3);
    drawLineFrom(3,4);
    drawLineFrom(4,5);
    drawLineFrom(5,6);
    drawLineFrom(6,1);
    //Outer hexagon
    drawLineFrom(7,8);
    drawLineFrom(8,9);
    drawLineFrom(9,10);
    drawLineFrom(10,11);
    drawLineFrom(11,12);
    drawLineFrom(12,7);
    // 1st Equilateral triangle - outer pointing up
    drawLineFrom(12,8);
    drawLineFrom(8,10);
    drawLineFrom(10,12);
    // 2nd Equilateral triangle outer - pointing down
    drawLineFrom(11,7);
    drawLineFrom(7,9);
    drawLineFrom(9,11);
}

if(step == 34){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
    drawCircleAt(6,radius);
    drawCircleAt(7,radius);
    drawCircleAt(8,radius);
    drawCircleAt(9,radius);
    drawCircleAt(10,radius);
    drawCircleAt(11,radius);
    drawCircleAt(12,radius);
    // Star
    drawLineFrom(7,10);
    drawLineFrom(12,9);
    drawLineFrom(8,11);
    //inner hexagon
    drawLineFrom(1,2);
    drawLineFrom(2,3);
    drawLineFrom(3,4);
    drawLineFrom(4,5);
    drawLineFrom(5,6);
    drawLineFrom(6,1);
    //Outer hexagon
    drawLineFrom(7,8);
    drawLineFrom(8,9);
    drawLineFrom(9,10);
    drawLineFrom(10,11);
    drawLineFrom(11,12);
    drawLineFrom(12,7);
    // 1st Equilateral triangle - outer pointing up
    drawLineFrom(12,8);
    drawLineFrom(8,10);
    drawLineFrom(10,12);
    // 2nd Equilateral triangle outer - pointing down
    drawLineFrom(11,7);
    drawLineFrom(7,9);
    drawLineFrom(9,11);
    // 3rd Equilateral triangle - Inner pointing up
    drawLineFrom(6,2);
}

if(step == 35){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
    drawCircleAt(6,radius);
    drawCircleAt(7,radius);
    drawCircleAt(8,radius);
    drawCircleAt(9,radius);
    drawCircleAt(10,radius);
    drawCircleAt(11,radius);
    drawCircleAt(12,radius);
    // Star
    drawLineFrom(7,10);
    drawLineFrom(12,9);
    drawLineFrom(8,11);
    //inner hexagon
    drawLineFrom(1,2);
    drawLineFrom(2,3);
    drawLineFrom(3,4);
    drawLineFrom(4,5);
    drawLineFrom(5,6);
    drawLineFrom(6,1);
    //Outer hexagon
    drawLineFrom(7,8);
    drawLineFrom(8,9);
    drawLineFrom(9,10);
    drawLineFrom(10,11);
    drawLineFrom(11,12);
    drawLineFrom(12,7);
    // 1st Equilateral triangle - outer pointing up
    drawLineFrom(12,8);
    drawLineFrom(8,10);
    drawLineFrom(10,12);
    // 2nd Equilateral triangle outer - pointing down
    drawLineFrom(11,7);
    drawLineFrom(7,9);
    drawLineFrom(9,11);
    // 3rd Equilateral triangle - Inner pointing up
    drawLineFrom(6,2);
    drawLineFrom(2,4);
}

if(step == 36){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
    drawCircleAt(6,radius);
    drawCircleAt(7,radius);
    drawCircleAt(8,radius);
    drawCircleAt(9,radius);
    drawCircleAt(10,radius);
    drawCircleAt(11,radius);
    drawCircleAt(12,radius);
    // Star
    drawLineFrom(7,10);
    drawLineFrom(12,9);
    drawLineFrom(8,11);
    //inner hexagon
    drawLineFrom(1,2);
    drawLineFrom(2,3);
    drawLineFrom(3,4);
    drawLineFrom(4,5);
    drawLineFrom(5,6);
    drawLineFrom(6,1);
    //Outer hexagon
    drawLineFrom(7,8);
    drawLineFrom(8,9);
    drawLineFrom(9,10);
    drawLineFrom(10,11);
    drawLineFrom(11,12);
    drawLineFrom(12,7);
    // 1st Equilateral triangle - outer pointing up
    drawLineFrom(12,8);
    drawLineFrom(8,10);
    drawLineFrom(10,12);
    // 2nd Equilateral triangle outer - pointing down
    drawLineFrom(11,7);
    drawLineFrom(7,9);
    drawLineFrom(9,11);
    // 3rd Equilateral triangle - Inner pointing up
    drawLineFrom(6,2);
    drawLineFrom(2,4);
    drawLineFrom(4,6);
}

if(step == 37){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
    drawCircleAt(6,radius);
    drawCircleAt(7,radius);
    drawCircleAt(8,radius);
    drawCircleAt(9,radius);
    drawCircleAt(10,radius);
    drawCircleAt(11,radius);
    drawCircleAt(12,radius);
    // Star
    drawLineFrom(7,10);
    drawLineFrom(12,9);
    drawLineFrom(8,11);
    //inner hexagon
    drawLineFrom(1,2);
    drawLineFrom(2,3);
    drawLineFrom(3,4);
    drawLineFrom(4,5);
    drawLineFrom(5,6);
    drawLineFrom(6,1);
    //Outer hexagon
    drawLineFrom(7,8);
    drawLineFrom(8,9);
    drawLineFrom(9,10);
    drawLineFrom(10,11);
    drawLineFrom(11,12);
    drawLineFrom(12,7);
    // 1st Equilateral triangle - outer pointing up
    drawLineFrom(12,8);
    drawLineFrom(8,10);
    drawLineFrom(10,12);
    // 2nd Equilateral triangle outer - pointing down
    drawLineFrom(11,7);
    drawLineFrom(7,9);
    drawLineFrom(9,11);
    // 3rd Equilateral triangle - Inner pointing up
    drawLineFrom(6,2);
    drawLineFrom(2,4);
    drawLineFrom(4,6);
    // 4th Equilateral triangle - Inner pointing down
    drawLineFrom(1,3);
}

if(step == 38){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
    drawCircleAt(6,radius);
    drawCircleAt(7,radius);
    drawCircleAt(8,radius);
    drawCircleAt(9,radius);
    drawCircleAt(10,radius);
    drawCircleAt(11,radius);
    drawCircleAt(12,radius);
    // Star
    drawLineFrom(7,10);
    drawLineFrom(12,9);
    drawLineFrom(8,11);
    //inner hexagon
    drawLineFrom(1,2);
    drawLineFrom(2,3);
    drawLineFrom(3,4);
    drawLineFrom(4,5);
    drawLineFrom(5,6);
    drawLineFrom(6,1);
    //Outer hexagon
    drawLineFrom(7,8);
    drawLineFrom(8,9);
    drawLineFrom(9,10);
    drawLineFrom(10,11);
    drawLineFrom(11,12);
    drawLineFrom(12,7);
    // 1st Equilateral triangle - outer pointing up
    drawLineFrom(12,8);
    drawLineFrom(8,10);
    drawLineFrom(10,12);
    // 2nd Equilateral triangle outer - pointing down
    drawLineFrom(11,7);
    drawLineFrom(7,9);
    drawLineFrom(9,11);
    // 3rd Equilateral triangle - Inner pointing up
    drawLineFrom(6,2);
    drawLineFrom(2,4);
    drawLineFrom(4,6);
    // 4th Equilateral triangle - Inner pointing down
    drawLineFrom(1,3);
    drawLineFrom(3,5);
}

if(step == 39){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
    drawCircleAt(6,radius);
    drawCircleAt(7,radius);
    drawCircleAt(8,radius);
    drawCircleAt(9,radius);
    drawCircleAt(10,radius);
    drawCircleAt(11,radius);
    drawCircleAt(12,radius);
    // Star
    drawLineFrom(7,10);
    drawLineFrom(12,9);
    drawLineFrom(8,11);
    //inner hexagon
    drawLineFrom(1,2);
    drawLineFrom(2,3);
    drawLineFrom(3,4);
    drawLineFrom(4,5);
    drawLineFrom(5,6);
    drawLineFrom(6,1);
    //Outer hexagon
    drawLineFrom(7,8);
    drawLineFrom(8,9);
    drawLineFrom(9,10);
    drawLineFrom(10,11);
    drawLineFrom(11,12);
    drawLineFrom(12,7);
    // 1st Equilateral triangle - outer pointing up
    drawLineFrom(12,8);
    drawLineFrom(8,10);
    drawLineFrom(10,12);
    // 2nd Equilateral triangle outer - pointing down
    drawLineFrom(11,7);
    drawLineFrom(7,9);
    drawLineFrom(9,11);
    // 3rd Equilateral triangle - Inner pointing up
    drawLineFrom(6,2);
    drawLineFrom(2,4);
    drawLineFrom(4,6);
    // 4th Equilateral triangle - Inner pointing down
    drawLineFrom(1,3);
    drawLineFrom(3,5);
    drawLineFrom(5,1);
}

if(step == 40){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
    drawCircleAt(6,radius);
    drawCircleAt(7,radius);
    drawCircleAt(8,radius);
    drawCircleAt(9,radius);
    drawCircleAt(10,radius);
    drawCircleAt(11,radius);
    drawCircleAt(12,radius);
    // Star
    drawLineFrom(7,10);
    drawLineFrom(12,9);
    drawLineFrom(8,11);
    //inner hexagon
    drawLineFrom(1,2);
    drawLineFrom(2,3);
    drawLineFrom(3,4);
    drawLineFrom(4,5);
    drawLineFrom(5,6);
    drawLineFrom(6,1);
    //Outer hexagon
    drawLineFrom(7,8);
    drawLineFrom(8,9);
    drawLineFrom(9,10);
    drawLineFrom(10,11);
    drawLineFrom(11,12);
    drawLineFrom(12,7);
    // 1st Equilateral triangle - outer pointing up
    drawLineFrom(12,8);
    drawLineFrom(8,10);
    drawLineFrom(10,12);
    // 2nd Equilateral triangle outer - pointing down
    drawLineFrom(11,7);
    drawLineFrom(7,9);
    drawLineFrom(9,11);
    // 3rd Equilateral triangle - Inner pointing up
    drawLineFrom(6,2);
    drawLineFrom(2,4);
    drawLineFrom(4,6);
    // 4th Equilateral triangle - Inner pointing down
    drawLineFrom(1,3);
    drawLineFrom(3,5);
    drawLineFrom(5,1);
    
    // Last lines
    drawLineFrom(12,2);
}

if(step == 41){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
    drawCircleAt(6,radius);
    drawCircleAt(7,radius);
    drawCircleAt(8,radius);
    drawCircleAt(9,radius);
    drawCircleAt(10,radius);
    drawCircleAt(11,radius);
    drawCircleAt(12,radius);
    // Star
    drawLineFrom(7,10);
    drawLineFrom(12,9);
    drawLineFrom(8,11);
    //inner hexagon
    drawLineFrom(1,2);
    drawLineFrom(2,3);
    drawLineFrom(3,4);
    drawLineFrom(4,5);
    drawLineFrom(5,6);
    drawLineFrom(6,1);
    //Outer hexagon
    drawLineFrom(7,8);
    drawLineFrom(8,9);
    drawLineFrom(9,10);
    drawLineFrom(10,11);
    drawLineFrom(11,12);
    drawLineFrom(12,7);
    // 1st Equilateral triangle - outer pointing up
    drawLineFrom(12,8);
    drawLineFrom(8,10);
    drawLineFrom(10,12);
    // 2nd Equilateral triangle outer - pointing down
    drawLineFrom(11,7);
    drawLineFrom(7,9);
    drawLineFrom(9,11);
    // 3rd Equilateral triangle - Inner pointing up
    drawLineFrom(6,2);
    drawLineFrom(2,4);
    drawLineFrom(4,6);
    // 4th Equilateral triangle - Inner pointing down
    drawLineFrom(1,3);
    drawLineFrom(3,5);
    drawLineFrom(5,1);
    
    // Last lines
    drawLineFrom(12,2);
    drawLineFrom(12,4);
}

if(step == 42){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
    drawCircleAt(6,radius);
    drawCircleAt(7,radius);
    drawCircleAt(8,radius);
    drawCircleAt(9,radius);
    drawCircleAt(10,radius);
    drawCircleAt(11,radius);
    drawCircleAt(12,radius);
    // Star
    drawLineFrom(7,10);
    drawLineFrom(12,9);
    drawLineFrom(8,11);
    //inner hexagon
    drawLineFrom(1,2);
    drawLineFrom(2,3);
    drawLineFrom(3,4);
    drawLineFrom(4,5);
    drawLineFrom(5,6);
    drawLineFrom(6,1);
    //Outer hexagon
    drawLineFrom(7,8);
    drawLineFrom(8,9);
    drawLineFrom(9,10);
    drawLineFrom(10,11);
    drawLineFrom(11,12);
    drawLineFrom(12,7);
    // 1st Equilateral triangle - outer pointing up
    drawLineFrom(12,8);
    drawLineFrom(8,10);
    drawLineFrom(10,12);
    // 2nd Equilateral triangle outer - pointing down
    drawLineFrom(11,7);
    drawLineFrom(7,9);
    drawLineFrom(9,11);
    // 3rd Equilateral triangle - Inner pointing up
    drawLineFrom(6,2);
    drawLineFrom(2,4);
    drawLineFrom(4,6);
    // 4th Equilateral triangle - Inner pointing down
    drawLineFrom(1,3);
    drawLineFrom(3,5);
    drawLineFrom(5,1);
    
    // Last lines
    drawLineFrom(12,2);
    drawLineFrom(12,4);
    drawLineFrom(7,5);
}

if(step == 43){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
    drawCircleAt(6,radius);
    drawCircleAt(7,radius);
    drawCircleAt(8,radius);
    drawCircleAt(9,radius);
    drawCircleAt(10,radius);
    drawCircleAt(11,radius);
    drawCircleAt(12,radius);
    // Star
    drawLineFrom(7,10);
    drawLineFrom(12,9);
    drawLineFrom(8,11);
    //inner hexagon
    drawLineFrom(1,2);
    drawLineFrom(2,3);
    drawLineFrom(3,4);
    drawLineFrom(4,5);
    drawLineFrom(5,6);
    drawLineFrom(6,1);
    //Outer hexagon
    drawLineFrom(7,8);
    drawLineFrom(8,9);
    drawLineFrom(9,10);
    drawLineFrom(10,11);
    drawLineFrom(11,12);
    drawLineFrom(12,7);
    // 1st Equilateral triangle - outer pointing up
    drawLineFrom(12,8);
    drawLineFrom(8,10);
    drawLineFrom(10,12);
    // 2nd Equilateral triangle outer - pointing down
    drawLineFrom(11,7);
    drawLineFrom(7,9);
    drawLineFrom(9,11);
    // 3rd Equilateral triangle - Inner pointing up
    drawLineFrom(6,2);
    drawLineFrom(2,4);
    drawLineFrom(4,6);
    // 4th Equilateral triangle - Inner pointing down
    drawLineFrom(1,3);
    drawLineFrom(3,5);
    drawLineFrom(5,1);
    
    // Last lines
    drawLineFrom(12,2);
    drawLineFrom(12,4);
    drawLineFrom(7,5);
    drawLineFrom(7,3);
}

if(step == 44){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
    drawCircleAt(6,radius);
    drawCircleAt(7,radius);
    drawCircleAt(8,radius);
    drawCircleAt(9,radius);
    drawCircleAt(10,radius);
    drawCircleAt(11,radius);
    drawCircleAt(12,radius);
    // Star
    drawLineFrom(7,10);
    drawLineFrom(12,9);
    drawLineFrom(8,11);
    //inner hexagon
    drawLineFrom(1,2);
    drawLineFrom(2,3);
    drawLineFrom(3,4);
    drawLineFrom(4,5);
    drawLineFrom(5,6);
    drawLineFrom(6,1);
    //Outer hexagon
    drawLineFrom(7,8);
    drawLineFrom(8,9);
    drawLineFrom(9,10);
    drawLineFrom(10,11);
    drawLineFrom(11,12);
    drawLineFrom(12,7);
    // 1st Equilateral triangle - outer pointing up
    drawLineFrom(12,8);
    drawLineFrom(8,10);
    drawLineFrom(10,12);
    // 2nd Equilateral triangle outer - pointing down
    drawLineFrom(11,7);
    drawLineFrom(7,9);
    drawLineFrom(9,11);
    // 3rd Equilateral triangle - Inner pointing up
    drawLineFrom(6,2);
    drawLineFrom(2,4);
    drawLineFrom(4,6);
    // 4th Equilateral triangle - Inner pointing down
    drawLineFrom(1,3);
    drawLineFrom(3,5);
    drawLineFrom(5,1);
    
    // Last lines
    drawLineFrom(12,2);
    drawLineFrom(12,4);
    drawLineFrom(7,5);
    drawLineFrom(7,3);
    drawLineFrom(8,6);
}

if(step == 45){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
    drawCircleAt(6,radius);
    drawCircleAt(7,radius);
    drawCircleAt(8,radius);
    drawCircleAt(9,radius);
    drawCircleAt(10,radius);
    drawCircleAt(11,radius);
    drawCircleAt(12,radius);
    // Star
    drawLineFrom(7,10);
    drawLineFrom(12,9);
    drawLineFrom(8,11);
    //inner hexagon
    drawLineFrom(1,2);
    drawLineFrom(2,3);
    drawLineFrom(3,4);
    drawLineFrom(4,5);
    drawLineFrom(5,6);
    drawLineFrom(6,1);
    //Outer hexagon
    drawLineFrom(7,8);
    drawLineFrom(8,9);
    drawLineFrom(9,10);
    drawLineFrom(10,11);
    drawLineFrom(11,12);
    drawLineFrom(12,7);
    // 1st Equilateral triangle - outer pointing up
    drawLineFrom(12,8);
    drawLineFrom(8,10);
    drawLineFrom(10,12);
    // 2nd Equilateral triangle outer - pointing down
    drawLineFrom(11,7);
    drawLineFrom(7,9);
    drawLineFrom(9,11);
    // 3rd Equilateral triangle - Inner pointing up
    drawLineFrom(6,2);
    drawLineFrom(2,4);
    drawLineFrom(4,6);
    // 4th Equilateral triangle - Inner pointing down
    drawLineFrom(1,3);
    drawLineFrom(3,5);
    drawLineFrom(5,1);
    
    // Last lines
    drawLineFrom(12,2);
    drawLineFrom(12,4);
    drawLineFrom(7,5);
    drawLineFrom(7,3);
    drawLineFrom(8,6);
    drawLineFrom(8,4);
}

if(step == 46){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
    drawCircleAt(6,radius);
    drawCircleAt(7,radius);
    drawCircleAt(8,radius);
    drawCircleAt(9,radius);
    drawCircleAt(10,radius);
    drawCircleAt(11,radius);
    drawCircleAt(12,radius);
    // Star
    drawLineFrom(7,10);
    drawLineFrom(12,9);
    drawLineFrom(8,11);
    //inner hexagon
    drawLineFrom(1,2);
    drawLineFrom(2,3);
    drawLineFrom(3,4);
    drawLineFrom(4,5);
    drawLineFrom(5,6);
    drawLineFrom(6,1);
    //Outer hexagon
    drawLineFrom(7,8);
    drawLineFrom(8,9);
    drawLineFrom(9,10);
    drawLineFrom(10,11);
    drawLineFrom(11,12);
    drawLineFrom(12,7);
    // 1st Equilateral triangle - outer pointing up
    drawLineFrom(12,8);
    drawLineFrom(8,10);
    drawLineFrom(10,12);
    // 2nd Equilateral triangle outer - pointing down
    drawLineFrom(11,7);
    drawLineFrom(7,9);
    drawLineFrom(9,11);
    // 3rd Equilateral triangle - Inner pointing up
    drawLineFrom(6,2);
    drawLineFrom(2,4);
    drawLineFrom(4,6);
    // 4th Equilateral triangle - Inner pointing down
    drawLineFrom(1,3);
    drawLineFrom(3,5);
    drawLineFrom(5,1);
    
    // Last lines
    drawLineFrom(12,2);
    drawLineFrom(12,4);

    drawLineFrom(7,5);
    drawLineFrom(7,3);

    drawLineFrom(8,6);
    drawLineFrom(8,4);

    drawLineFrom(9,1);
}

if(step == 47){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
    drawCircleAt(6,radius);
    drawCircleAt(7,radius);
    drawCircleAt(8,radius);
    drawCircleAt(9,radius);
    drawCircleAt(10,radius);
    drawCircleAt(11,radius);
    drawCircleAt(12,radius);
    // Star
    drawLineFrom(7,10);
    drawLineFrom(12,9);
    drawLineFrom(8,11);
    //inner hexagon
    drawLineFrom(1,2);
    drawLineFrom(2,3);
    drawLineFrom(3,4);
    drawLineFrom(4,5);
    drawLineFrom(5,6);
    drawLineFrom(6,1);
    //Outer hexagon
    drawLineFrom(7,8);
    drawLineFrom(8,9);
    drawLineFrom(9,10);
    drawLineFrom(10,11);
    drawLineFrom(11,12);
    drawLineFrom(12,7);
    // 1st Equilateral triangle - outer pointing up
    drawLineFrom(12,8);
    drawLineFrom(8,10);
    drawLineFrom(10,12);
    // 2nd Equilateral triangle outer - pointing down
    drawLineFrom(11,7);
    drawLineFrom(7,9);
    drawLineFrom(9,11);
    // 3rd Equilateral triangle - Inner pointing up
    drawLineFrom(6,2);
    drawLineFrom(2,4);
    drawLineFrom(4,6);
    // 4th Equilateral triangle - Inner pointing down
    drawLineFrom(1,3);
    drawLineFrom(3,5);
    drawLineFrom(5,1);
    
    // Last lines
    drawLineFrom(12,2);
    drawLineFrom(12,4);

    drawLineFrom(7,5);
    drawLineFrom(7,3);

    drawLineFrom(8,6);
    drawLineFrom(8,4);

    drawLineFrom(9,1);
    drawLineFrom(9,5);
}

if(step == 48){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
    drawCircleAt(6,radius);
    drawCircleAt(7,radius);
    drawCircleAt(8,radius);
    drawCircleAt(9,radius);
    drawCircleAt(10,radius);
    drawCircleAt(11,radius);
    drawCircleAt(12,radius);
    // Star
    drawLineFrom(7,10);
    drawLineFrom(12,9);
    drawLineFrom(8,11);
    //inner hexagon
    drawLineFrom(1,2);
    drawLineFrom(2,3);
    drawLineFrom(3,4);
    drawLineFrom(4,5);
    drawLineFrom(5,6);
    drawLineFrom(6,1);
    //Outer hexagon
    drawLineFrom(7,8);
    drawLineFrom(8,9);
    drawLineFrom(9,10);
    drawLineFrom(10,11);
    drawLineFrom(11,12);
    drawLineFrom(12,7);
    // 1st Equilateral triangle - outer pointing up
    drawLineFrom(12,8);
    drawLineFrom(8,10);
    drawLineFrom(10,12);
    // 2nd Equilateral triangle outer - pointing down
    drawLineFrom(11,7);
    drawLineFrom(7,9);
    drawLineFrom(9,11);
    // 3rd Equilateral triangle - Inner pointing up
    drawLineFrom(6,2);
    drawLineFrom(2,4);
    drawLineFrom(4,6);
    // 4th Equilateral triangle - Inner pointing down
    drawLineFrom(1,3);
    drawLineFrom(3,5);
    drawLineFrom(5,1);
    
    // Last lines
    drawLineFrom(12,2);
    drawLineFrom(12,4);

    drawLineFrom(7,5);
    drawLineFrom(7,3);

    drawLineFrom(8,6);
    drawLineFrom(8,4);

    drawLineFrom(9,1);
    drawLineFrom(9,5);

    drawLineFrom(10,6);
}

if(step == 49){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
    drawCircleAt(6,radius);
    drawCircleAt(7,radius);
    drawCircleAt(8,radius);
    drawCircleAt(9,radius);
    drawCircleAt(10,radius);
    drawCircleAt(11,radius);
    drawCircleAt(12,radius);
    // Star
    drawLineFrom(7,10);
    drawLineFrom(12,9);
    drawLineFrom(8,11);
    //inner hexagon
    drawLineFrom(1,2);
    drawLineFrom(2,3);
    drawLineFrom(3,4);
    drawLineFrom(4,5);
    drawLineFrom(5,6);
    drawLineFrom(6,1);
    //Outer hexagon
    drawLineFrom(7,8);
    drawLineFrom(8,9);
    drawLineFrom(9,10);
    drawLineFrom(10,11);
    drawLineFrom(11,12);
    drawLineFrom(12,7);
    // 1st Equilateral triangle - outer pointing up
    drawLineFrom(12,8);
    drawLineFrom(8,10);
    drawLineFrom(10,12);
    // 2nd Equilateral triangle outer - pointing down
    drawLineFrom(11,7);
    drawLineFrom(7,9);
    drawLineFrom(9,11);
    // 3rd Equilateral triangle - Inner pointing up
    drawLineFrom(6,2);
    drawLineFrom(2,4);
    drawLineFrom(4,6);
    // 4th Equilateral triangle - Inner pointing down
    drawLineFrom(1,3);
    drawLineFrom(3,5);
    drawLineFrom(5,1);
    
    // Last lines
    drawLineFrom(12,2);
    drawLineFrom(12,4);

    drawLineFrom(7,5);
    drawLineFrom(7,3);

    drawLineFrom(8,6);
    drawLineFrom(8,4);

    drawLineFrom(9,1);
    drawLineFrom(9,5);

    drawLineFrom(10,6);
    drawLineFrom(10,2);
}

if(step == 50){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
    drawCircleAt(6,radius);
    drawCircleAt(7,radius);
    drawCircleAt(8,radius);
    drawCircleAt(9,radius);
    drawCircleAt(10,radius);
    drawCircleAt(11,radius);
    drawCircleAt(12,radius);
    // Star
    drawLineFrom(7,10);
    drawLineFrom(12,9);
    drawLineFrom(8,11);
    //inner hexagon
    drawLineFrom(1,2);
    drawLineFrom(2,3);
    drawLineFrom(3,4);
    drawLineFrom(4,5);
    drawLineFrom(5,6);
    drawLineFrom(6,1);
    //Outer hexagon
    drawLineFrom(7,8);
    drawLineFrom(8,9);
    drawLineFrom(9,10);
    drawLineFrom(10,11);
    drawLineFrom(11,12);
    drawLineFrom(12,7);
    // 1st Equilateral triangle - outer pointing up
    drawLineFrom(12,8);
    drawLineFrom(8,10);
    drawLineFrom(10,12);
    // 2nd Equilateral triangle outer - pointing down
    drawLineFrom(11,7);
    drawLineFrom(7,9);
    drawLineFrom(9,11);
    // 3rd Equilateral triangle - Inner pointing up
    drawLineFrom(6,2);
    drawLineFrom(2,4);
    drawLineFrom(4,6);
    // 4th Equilateral triangle - Inner pointing down
    drawLineFrom(1,3);
    drawLineFrom(3,5);
    drawLineFrom(5,1);
    
    // Last lines
    drawLineFrom(12,2);
    drawLineFrom(12,4);

    drawLineFrom(7,5);
    drawLineFrom(7,3);

    drawLineFrom(8,6);
    drawLineFrom(8,4);

    drawLineFrom(9,1);
    drawLineFrom(9,5);

    drawLineFrom(10,6);
    drawLineFrom(10,2);

    drawLineFrom(11,1);
}

if(step == 51){
    drawCircleAt(0,radius);
    drawCircleAt(1,radius);
    drawCircleAt(2,radius);
    drawCircleAt(3,radius);
    drawCircleAt(4,radius);
    drawCircleAt(5,radius);
    drawCircleAt(6,radius);
    drawCircleAt(7,radius);
    drawCircleAt(8,radius);
    drawCircleAt(9,radius);
    drawCircleAt(10,radius);
    drawCircleAt(11,radius);
    drawCircleAt(12,radius);
    // Star
    drawLineFrom(7,10);
    drawLineFrom(12,9);
    drawLineFrom(8,11);
    //inner hexagon
    drawLineFrom(1,2);
    drawLineFrom(2,3);
    drawLineFrom(3,4);
    drawLineFrom(4,5);
    drawLineFrom(5,6);
    drawLineFrom(6,1);
    //Outer hexagon
    drawLineFrom(7,8);
    drawLineFrom(8,9);
    drawLineFrom(9,10);
    drawLineFrom(10,11);
    drawLineFrom(11,12);
    drawLineFrom(12,7);
    // 1st Equilateral triangle - outer pointing up
    drawLineFrom(12,8);
    drawLineFrom(8,10);
    drawLineFrom(10,12);
    // 2nd Equilateral triangle outer - pointing down
    drawLineFrom(11,7);
    drawLineFrom(7,9);
    drawLineFrom(9,11);
    // 3rd Equilateral triangle - Inner pointing up
    drawLineFrom(6,2);
    drawLineFrom(2,4);
    drawLineFrom(4,6);
    // 4th Equilateral triangle - Inner pointing down
    drawLineFrom(1,3);
    drawLineFrom(3,5);
    drawLineFrom(5,1);
    
    // Last lines
    drawLineFrom(12,2);
    drawLineFrom(12,4);

    drawLineFrom(7,5);
    drawLineFrom(7,3);

    drawLineFrom(8,6);
    drawLineFrom(8,4);

    drawLineFrom(9,1);
    drawLineFrom(9,5);

    drawLineFrom(10,6);
    drawLineFrom(10,2);

    drawLineFrom(11,1);
    drawLineFrom(11,3);
}