Continue(s)

Twitter:@dn0t_ GitHub:@ogrew

【週刊p5js】work15

let countW = 20;
let marginW = 80;

let countH = 16;
let marginH = 120;

function setup() {
    createCanvas(900, 900, WEBGL);
    smooth();
    frameRate(1);
}

function draw() {
    pointLight(255, 255, 255, 10,-100, 500);
    pointLight(255, 255, 255,-10, 100, 500);

    background(30);

    noStroke();
    for(let n = 0; n < 2000; n++) {
        ambientMaterial(150);
        push();
        translate(random(-width/2, width/2), random(-height/2, height/2), -40);
        sphere(1, 3, 3);
        pop();
    }

    let intervalX = (width - marginW*2) / countW;
    let intervalY = (height - marginH*2) / countH;

    for(let i = 0; i <= countW; i++) {
        let xPos = (-width/2 + marginW) + i * intervalX;
        for(let j = 0; j <= countH; j++) {
            let yPos = (-height/2 + marginH) + j * intervalY;

            let l = map(i + j, 0, countW + countH, 10, 250);
            let size = random(10, 30);

            push();
            translate(xPos, yPos, 0);
            let rnd = random();
            if(rnd < 0.02) {
                ambientMaterial(120);
                box(size, size, l);
            } else if (rnd < 0.05) {
                ambientMaterial(160);
                rotateX(80);
                cylinder(size/2,size * 2);
            } else if (rnd < 0.8) {
                rotateX(i);
                rotateY(j);
                if(random() < 0.025) {
                    ambientMaterial(240, 50, 20); 
                } else {
                    ambientMaterial(240); 
                }
                box(size);
            } else {

            }
            pop();    
    
        }
    }
    
}

f:id:taiga006:20200510005516j:plain

今週の作品メモ

📌 疲れているので手抜き。p5.jsでWEBGLをとりあえずいじってみようか、というテンション。
📌 Daniel Shiffman先生の動画を久しぶりに見た。

youtu.be

今週の雑談

📌 ayato.meドメインを購入しました。400円💸
📌 GW中は伊坂幸太郎の「逆ソクラテス」とアガサ・クリスティの「そして誰もいなくなった」を読みました。今は、アガサ・クリスティの「スタイルズ荘の怪事件」を読んでいます📚

📌 僕は所謂クリエイターと言われる人たちが今のタイミングになって #検察庁法改正案に抗議します ってツイートしているのがちょっと悲しくなります。
📌 「クリエイターが政治のことを語るなんて…」ということではなくて、こんな自体になってなお、意見の根拠が結局SNSで拾った知識で、それで反政府のスタンスをとっている姿が悲しいんですよ、勝手な、一方的なものですが。それから子供向けのまとめサイトTwitterで拾った画像じゃなくてちゃんと一次資料、公的なサイトを当たってくれ~~~。(今はそこさえも怪しい、という気持ちも少しありますが。)とはいえ、みんな「困ったら公式ドキュメントを読む」ことの大事さはよくわかっていますよね???
📌 それでもできることはあります。関心を持ってアクションを取る姿は大事です。僕も今回は偶然少し早く関心を持つことができただけです。【要請】東京高検・検事長黒川弘務氏の違法な定年延長に抗議し、辞職を求めます - Change.org 署名も賛同いただける方はよければ。(もうすぐ目標の20万ですね。)
📌 ここまでなめられた法改正とか見ると、食べ物と一緒で放っておけば腐っていくんですね政治も、という気持ちになります。
📌 さて、自粛期間が長引く中で、今更ながら巴山竜来さんの「数学から創るジェネラティブアート」 を購入したので、今後の #週末p5.js の活動に生かしていきたいと思っています。
📌 takawo 先生の作ったツールでこれまで作ってきた14の #週末p5js の作品をまとめたらちょっとエモくなってしまった。

今週のラジオ

📌 今週のはすごい、自分のパーソナリティを話すことができた、結構、大事な回だったと思います。(賛同者が果たしてどれくらいいるかわからないけど。)
📌 こんなふうに改めて文章に起こすのは恥ずかしいし、うまくまとめられる自信ねーや、みたいな話を残しておけるというのがPodcastの醍醐味かも知れないですね。
📌 この企画、相方と関係なくすごい好き。その話もできてよかったです。

📌 350can.beerドメインを購入しました。3200円💸

【週刊p5js】work14

function setup() {
    createCanvas(900, 900);

    let gray;
    let unit = 2;

    let a = int(random(10, 100));
    let b = int(random(10, 100));
    let c = int(random(10, 100));
    let d = int(random(10, 100));

    let n = int(random(3, 7));
    let m = int(random(n, n * 2));

    for (let x = 0; x <= width / 2; x += unit) {
        for (let y = 0; y <= height / 2; y += unit) {

            if ((y > height / 8 && y < height / 4) ||
                (y > height * 3 / 4 && y < height * 7 / 8)) {
                gray = ((x & y) % d) / (d - 1) * 255;
            } else {
                if (x < width / m) {
                    gray = (((x * x) ^ y) % a) / (a - 1) * 255;
                } else if (x < width / n) {
                    gray = (((x + y) ^ (x * y)) % c) / (c - 1) * 255;
                } else {
                    if (x % 2 == 0) {
                        gray = (((x * x * x) | y) % b) / (b - 1) * 255;
                    } else {
                        gray = (((x * x) | y) % b) / (b - 1) * 255;
                    }
                }
            }

            if (gray < 200) {
                gray = 0;
            } else if (gray > 245) {
                gray = 255;
            }

            noStroke();
            fill(gray);
            rect(x, y, unit, unit);
            rect(width - x, y, unit, unit);
            rect(x, height - y, unit, unit);
            rect(width - x, height - y, unit, unit);
        }
    }

    noLoop();
}

function draw() {
}

f:id:taiga006:20200503132134j:plain

今週の作品メモ

📌 ビット演算子を使った作品です。
📌 適当なビット演算をグラフィックに起こすと所謂シェルピンスキーのギャスケット的な表現ができる理由はよくわかってません(え?)。教えて、詳しい人😉
📌 ちなみに今作はこちらの作品を見て影響されました。(と言ってもやり方とかはどこにもないんだけど)
📌 さすがにここまでかっこよくはならず...一体このような多様性を持つ対象性はどのように表現すれば良いんでしょうかね?一旦寝かせます。
📌 ちなみにビット演算子="bitwise operator"だから"bitwise art"とかで情報出るかなーと思ったら出なかった😨そんな言葉はないのか。

今週の雑談

📌 先週の週刊p5jsで使ったcopy()メソッドを使用した疑似グリッチエフェクトを使った作品を毎朝9時にツイートするようにしたら結構反響がありました!

📌 また、これも先週の作品を作っている最中に見つけた「音声編集ソフトAudacityを使ってグリッチアートを作る」というのも実践してみました!

📌 腰痛、というか神経痛がひどい。神経痛は夜寝るときが一番ひどい。なので、自然と不眠症が加速…。
📌 お医者さんからは「悪くなってるとは言わないけど、良くなってるとは言えないね…」とちょっと怒られてしまいました。
📌 とにかく背筋、腹筋が大事みたいです。がんばります。
📌 久しぶりに彼女とZoomで話しました。ちょっと元気が出ました。そして生活はつづく。

今週のラジオ

📌 今週は主に@haseが持ってきた「オンラインで出会った人と付き合えるのか(そして、その先はあるのか)」というテーマについてあーだこーだ議論しました。Zoom合コン、Zoomデート…コロナが”明け”ても、そういう価値観が当たり前になったりするんでしょうか。
📌 あれ、先週消えてたエピソードの埋め込みコードが復活している、ナイスSpotify!!
note.com