Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- float DIST = 50; // between blocks
- float LINE_LENGTH = 50; // size of a block
- int BLOCKS_W = 17;
- int BLOCKS_H = 17;
- void setup() {
- size(850, 850);
- }
- void draw() {
- background(0);
- //translate(DIST, DIST);
- strokeWeight(2);
- for (int x = 0; x < BLOCKS_W; x++) {
- for (int y = 0; y < BLOCKS_H; y++) {
- float distCenter = abs(sqrt(pow((floor(BLOCKS_W/2.0)) - x, 2.0) * pow((floor(BLOCKS_H/2.0)) - y, 2.0)));
- float distCenterPercent = 1.0 + ((distCenter / BLOCKS_W) * 3.0);
- float offsetMul = (sin(millis()/10000.0 + distCenterPercent)+1.0)/2.0;
- stroke(255*(0.5 + (offsetMul/2.0)));
- translate((LINE_LENGTH * (1.0-offsetMul)) / 2.0, (LINE_LENGTH * (1.0-offsetMul)) / 2.0);
- if (x >= BLOCKS_W/2 && y >= BLOCKS_H/2) {
- // bottom right
- line(
- x * DIST,
- y * DIST,
- x * DIST + LINE_LENGTH * offsetMul,
- y * DIST
- );
- line(
- x * DIST,
- y * DIST,
- x * DIST,
- y * DIST + LINE_LENGTH * offsetMul
- );
- }
- if (x <= BLOCKS_W/2 && y >= BLOCKS_H/2) {
- // bottom left
- line(
- x * DIST + LINE_LENGTH * offsetMul,
- y * DIST,
- x * DIST,
- y * DIST
- );
- line(
- x * DIST + LINE_LENGTH * offsetMul,
- y * DIST,
- x * DIST + LINE_LENGTH * offsetMul,
- y * DIST + LINE_LENGTH * offsetMul
- );
- }
- if (x >= BLOCKS_W/2 && y <= BLOCKS_H/2) {
- // top right
- line(
- x * DIST + LINE_LENGTH * offsetMul,
- y * DIST + LINE_LENGTH * offsetMul,
- x * DIST,
- y * DIST + LINE_LENGTH * offsetMul
- );
- line(
- x * DIST,
- y * DIST,
- x * DIST,
- y * DIST + LINE_LENGTH * offsetMul
- );
- }
- if (x <= BLOCKS_W/2 && y <= BLOCKS_H/2) {
- // top left
- line(
- x * DIST,
- y * DIST + LINE_LENGTH * offsetMul,
- x * DIST + LINE_LENGTH * offsetMul,
- y * DIST + LINE_LENGTH * offsetMul
- );
- line(
- x * DIST + LINE_LENGTH * offsetMul,
- y * DIST,
- x * DIST + LINE_LENGTH * offsetMul,
- y * DIST + LINE_LENGTH * offsetMul
- );
- }
- translate(-(LINE_LENGTH * (1.0-offsetMul)) / 2.0, -(LINE_LENGTH * (1.0-offsetMul)) / 2.0);
- }
- }
- // save frames for .mov output
- //saveFrame("output/lines_####.png");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement