Different oscillations thrown together without any sort of idea
Log in to post a comment.
// Global code will be evaluated once. Canvas.setpenopacity(.3); const turtle = new Turtle(); turtle.rect = { w:200, h:200, get tl(){ return {x:this.w/-2,y:this.h/-2}; }, get l(){ return {x:this.w/-2,y:0}; } }; turtle.wrap = function() { // move all to Q1 w = this.rect.h, h = this.rect.h; x = this.x() + w/2, y = this.y() + h/2; // no need to wrap? if (x >= 0 && x <= w && y >= 0 && y <= h) return; // wrap while (x < 0) x += w; x = x % w; while (y < 0) y += h; y = y % h; // move back to center and don't draw wrapped lines this.penup(); this.setx( x-w/2 ); this.sety( y-h/2 ); this.pendown(); } // Helpers function D2R(a){ return a / 180 * Math.PI; } //turtle.penup(); //turtle.goto(rect.l.x, rect.l.y); //turtle.pendown(); seed = Math.random()*1800; // The walk function will be called until it returns false. function walk(i) { bend = 3 - i / seed; dir = 10 + i / 14; d1 = dir + Math.sin(D2R(i*bend)); d2 = bend + Math.cos(D2R(i/306)); turtle.forward(1); turtle.seth( turtle.h() + d1 * d2); turtle.wrap(); return i < 100000; }