int speed = 3, n = 30; float w; int curn = 0, curi = 1, direction = 1; void setup() { size(300, 300); //Change this to any square size w = width - 5; } void draw() { for (int step = 0; step < speed; step++) { curi+=direction; background(255); if (curi >= (n)) { curn++; curi = curn+1; } else if (curi <= curn) { curi = n-1; curn--; } if (curn >= n) { curn = n-1; curi = n-1; direction = -1; } else if (curn == -1) { curn = 0; curi = 1; direction = 1; } float radius = w / 2, cx = width/2, cy=height/2; for (int i = 0; i <= curn; i++) { for (int j = i; j < (i == (curn) ? (curi) : n); j++) { float majorAngle = 2*PI*i/n, minorAngle = 2*PI*j/n; float x1 = cx + radius * cos(majorAngle), y1 = cy + radius * sin(majorAngle); float x2 = cx + radius * cos(minorAngle), y2 = cy + radius * sin(minorAngle); colorMode(HSB); stroke(map(i, 0, n, 150, 230), 255, 255); line(x1, y1, x2, y2); } } } }
Mesmerizing circle animation, lines in Processing
This mesmerizing animation was inspired by this reddit post.
[raw]
[/raw]
Code for the loading circle follows。 You can edit and run this code on the KTBYTE Coder