マガジンのカバー画像

Generative Art

13
絵です
運営しているクリエイター

2020年2月の記事一覧

Generative Art #8

原色赤でどかーんとやりたかった.パレットを変えたものも作ってみた.夜中に見ると目に悪い…. 星を描くのに参考にしたのは以下の記事.意外とシンプルな方法でいいかんじの星が描ける. 星の敷き詰めは以前の記事の流用.アルゴリズムは円を適当に生成して既存のものと重なってないか総当たりで調べて,重なってないなら残す,重なってたら生成しなおしをひたすら繰り返すもの.適当に考えたものなのでもっと効率のいいやり方があるのかもしれない. final int MAX_TRIAL = 100

Generative Art #7

今回は動物にしたかったので,icooon-monoさんの素材使った絵.前のサイコロの記事のときよりも大きい絵と小さい絵が混在しやすいように調整をかけてみた. ProcessingはSVGを読み込めるのが便利.Inkscapeとかで自前で書くのも良さそう. int N_SEPARATION = 2;int[] di;int[] dj;color[][] palettes;color[] palette;PShape[] shapes;void setup() { size(

Generative Art #6

さいころを並べた.角の丸い四角の描き方をそこそこシンプルに定式化できたので,再帰分割に組み込みやすかった.以前の作品 ( Generative Art #3 ) ではひとつの再帰呼び出しで4分割だけだったけど.9分割や16分割もいけるようになった. 高専にいたとき,高専プロコンっていう大会に参加してたのだけど,2013年の旭川大会がサイコロを枠の中に並べて通信を行う競技だったので,なんとなくそれを思い出した. int N_SEPARATION = 2;int[] di;i

Generative Art #5

星使った絵が描きたくなって,円が重ならないように敷き詰めるアルゴリズム使って星を敷き詰めた.この手の反復計算をp5.jsで書くとめっちゃ重くなるのでProcessingだと雑に書きやすくてよい. final int MAX_TRIAL = 1000;int[] nVerticesList;Star[] starList;color[] palette;void setup() { size(800, 800); nVerticesList = new int[] {5, 8

Generative Art #4

描き溜めた絵をちょっとずつ放出.今回はGenerative Art #3 の派生.白黒だけでなんかやってみたかった.Javaは関数をインスタンスみたいに使えないのが不便. AbstractShape[] shapeList;void setup() { size(800, 800); background(0); rectMode(CENTER); shapeList = new AbstractShape[] { (AbstractShape)(new RectS

Generative Art #3

前にOpenProcessingに投稿したもの ( https://www.openprocessing.org/sketch/704431 ) を使いまわしつつ,ちょいアレンジ.回転やスケール加えるだけでも違った雰囲気になる. void setup() { size(800, 800); background(0); rectMode(CENTER); drawPattern();}void draw() { }void drawPattern() { float s

Generative Art #2

スピログラフをProcessingで描きたい!と思って色々がんばった.狙い通りの動きになるように設計しているのに,成果物をみると「そんなのも描けるの?!」と驚かされる.自分で書いたコードなんだけど. int[] nPointsList;float[] freqList;float[] radiusList;color[] palette;final int BUFF_SIZE = 65536;MyPoint[] prev;MyPoint[] curr;int cursor;

Generative Art #1

久しくGenerative Artから離れていたので,リハビリがてら絵を描いてみた.p5.jsとProcessingのどちらを使うか迷ったけど,実行速度がそこそこ出て複雑なことをしやすいProcessingにした. GitHub使うのもなんだかめんどうくさいので,生成物とコードを雑にnoteに載せていく感じでゆるーーーく続けていきたい. int N_TILE = 16;int N = 1024;color[][] palettes;void setup() { size(