DailyCoding 振り返り 2022
こんにちは、AQUARING かに です。
早いもので2022年もあっという間にあと数日ですね。
ということで、今回はデイリーコーディング(ほぼつぶやきProcessingですが)の1年分の振り返りをやっていきます!
1月
@_unshift さんの年賀サイト(three.js製)の背景をp5.jsで目コピしました。
構図やメッシュの歪ませ方など、自分が普段しない感じのもので勉強になりました。
2月
2月は #AltEdu2022 のコーディングチャレンジに挑戦しました。
「線を使わないで線を書いてみてください。」というお題で、パーティクルが波や星などの形にモーフィングするスケッチを書いたら、自分の想像以上に RT, いいね をもらえてちょっと驚きでした。
曼荼羅(マンダラ)を曼荼羅の形で再起的に描画しています。グラデーションが綺麗に作れてお気に入りのスケッチです。
@takawo さんの個展で一緒にプリント展示していただいたスケッチでもあります。(詳細は後述)
展示していただいたこともあって時間経過とともに愛着がでてきました。
3月
Code as Creative Mediu[コード・アズ・クリエイティブ・メディウム] - 創造的なプログラミング教育のための実践ガイドブックを読んで、Vera Molnar の 「(Des)Ordres」という作品に出会いました。
プリミティブな描画のなかにある規則/不規則の対比がおもしろく、つぶやきProcessingで再現してみました。
4月
@tetunori_lego さんの BMWalker.js と、以前つくった簡易ボリュームレンダリングを組み合わせて光の巨人のようなスケッチを書きました。
関節の座標をスクリーン座標として取得できるので、シェーダーやドロネー分割など、平面的な表現との組み合わせもお手軽でした。
5月
5月は個人的にp5.jsのexampleをつぶやきProcessing化するチャレンジをやっていました。
ライフゲームのexampleをつぶやきProcessing化したら、終息するまで16分もかかるパターンが偶然できて感動しました。
@okazz_ さんの記事で紹介されている random(random()) で乱数に偏りを持たせる方法にハマって1ヶ月ほどザラザラ質感のスケッチを書いていました。
そして @takawo さんの個展に、#dailycodingコミュニティの一員として自分の曼荼羅のスケッチも一緒にプリント展示していただきました!
会場にはリアルタイムに #dailycoding でTwitterに投稿されたスケッチが表示されるディスプレイ展示もあり、遠隔で展示に参加できるのも楽しかったです!
展示レポートは↓こちらの記事ご覧ください!
6月
drawingContext 経由で WebGL API の CULL_FACE を有効化することで Sobel Filter のようなレンダリングができることを発見しました…!
WebGL定数を使う場合でも定数の中身の数字をベタ書きすればそこそこ文字数が短縮できます。
7月
大阪万博のいのちの輝きくんのスケッチを書きました。
背景をbackgroundではなくboxで代用しつつ、奥から手前にオブジェクトを動かすことで、深度テストによって壁からポコポコ生まれてくるような表現になっています。
7月後半あたりからsupecularMaterial()とellipsoid()の組み合わせのスケッチをたくさん書いていました。
コード圧縮にだいぶ苦労しましたが、エヴァンゲリオンのラミエルみたいな質感が出せて感動しました。
8月
createGraphics() と filter を組み合わせて、描画結果を BackBuffer 的に扱うスケッチをいくつか書きました。
後から知りましたが p5.Graphics の挙動が Mac と Win で違うようで、Mac でしか動かないみたいです。
8月後半から9月にかけてはUnicodeの絵文字や特殊文字を使ったスケッチをいっぱい書きました。
つぶやきProcessingでも String.fromCodePoint() を使えば連続したUnicode文字をたくさん描画できます。
9月
9月後半は多重 drop-shadow によるリアルな影を使ったスケッチを書くのにハマっていました。
白の破線に黒の多重 drp-shadow だと線の部分がハイライトっぽくみえるのがおもしろいですね。
10月
10月も引き続き drop-shadow を使ったスケッチを書いていましたが、clip() と組み合わせることで影としてではなく図形の塗りとしてグラデーションを使ってみました。
10月後半は @BaroqueEngine さんのツイートを参考に手書き風のスケッチをいくつか書きました。
円周上の通過点をずらすだけなので、p5.js以外でも使えそうなテクニックですね。
11月
specularMaterial() を適用した上で pointLight() を背面に配置すると、リムライトっぽい描画になることを発見しました。
通常のライティングとは一風違ったちょっとダークな雰囲気が作れていいですね。
ここまで WEBGL モードで background() の代わりに box() を使っていましたが、cone() でも代用できることに気がつきました。(まだまだ奥が深い…)
12月
12月はライティング系のスケッチをいっぱい書きました。
lightFalloff() を使うことでライトの強さや減衰などの細かい設定をしています。
ライティングで shpere() の内側を大袈裟にハレーションさせることで細胞分裂みたいな見た目になっています。(コードを書いた本人にも詳しい原理はよくわかりません…😂)
さいごに
つぶやきProcessingを始めた当初はここまでハマると思ってませんでしたが、毎日1時間程度で取り組むのにちょうどいいボリュームなので続いているのかなとおもいます。
#dailycoding を1年弱続けていてもまだまだ日々発見の連続なので、2023年もゆるゆると続けていきます〜
この記事が気に入ったらサポートをしてみませんか?