Koji Saitoさんのプロフィール画像

Koji Saitoさんのイラストまとめ


Uni prof & coder, awarded for research & etc. Posts tech insights, enjoys generative art/zines. Ex-game dev, explores beauty with math. KojiSaito=once my name.

フォロー数:399 フォロワー数:1055


Strange Attractor Catalog
# ID: POJLMTCJVDSO
size(500,500)
clear()
stroke(255,255,70)
blendMode(ADD)
x=y=.05
for _ in [0]*(5**7):u=+.3+x*(+.2-.3*x-.1*y)+y*(+0+.7*y);v=-1+x*(-.3+.9*x-.9*y)+y*(+.6+.2*y);point(337*(u+0.0),207*(v+1.4));x,y=u,v

1 7

Sprott さんのストレンジアトラクタコードを掲載しているページを発見。色の付け方で随分と雰囲気が変わる(そりゃそうだ)。

自分はダークモードで作業しているので黒背景にしているけど、白背景の方が冊子を作る時は良い気もする。


https://t.co/VymHzx9URY

4 8

ストレンジアトラクタの発見機をリファクタリングしつつ生成実験中。

また、何と形容したら良いのか困る形状が見つかったw

Sprott's strange attractor ID: OWDPLVWNEBOH
Strange Attractor Catalog

ちなみに StrAttrCat タグ、途中まで入力すると出てくるようになった😃

0 2

ストレンジアトラクタ発見プログラム、全体的にみると収穫確率は 50% 位かなあ。そんなに苦ではない感じだけど、もう少し収穫確率を上げたいとは思う。

ちなみにこちらの画像は Sprott's Strainge Attractor ID: NMKYRGSUUJLA
- Strange Attractor Catalog

0 3




R=random
def D(p,t):s=R(1)*t-PI/4-t/2;quad(*[21*cos(i//2*TAU/4+PI/2*(i%2)+s)+p[i%2] for i in range(8)])
size(400,700)
background(-1)
noFill()
colorMode(HSB,8)
for i in range(576):v=i/18*.1;fill(R(8),6,8,R(3)+v);D([i%18*30+R(5),v*300+R(5)],i/200.)

4 13

娘の新曲。

Processing でコードを書いている横で作ってた曲ができたとのこと。

楽譜に落とせば t2k のサンプル BGM として使えそう。GarageBand から MML への変換プログラムを書けば良い…んだけど、さてどうしたものか。

0 9


R=random
size(724,724)
clear()
L=range(3000)
for j in [0]*25:
r=0;filter(BLUR,2)
for i in L:t=i*2.52;t/=2;c=R(999);stroke(c,c-r*9+R(300),c-r*2+R(100),300-r);x=r*cos(t)+R(30)+362;point(x,.3*r*sin(t)+R(9)+420-x*.2);r+=.1
for j in L:circle(R(724),R(724),R(2))

9 33


R=random;W=500;L=range(20)
P=[[R(W),R(W),0,R(300)] for i in L]
def setup():size(W,W,P3D);noStroke()
def draw():
fill(-9,8);rect(0,0,W,W);rotateX(.7);fill(255,0,0)
for i in L:
e=P[i];circle(*e[:3]);e[2]+=30
if e[2]>e[3]:P[i]=[R(W),R(W),0,R(100)] https://t.co/NcsgHtB3wj

3 10

被写界深度表現のための習作

def setup():size(500,500,P3D)
def draw():
rotateX(.3);rotateZ(-.1);randomSeed(1)
for y in range(20):
filter(BLUR,1)
for x in range(20):t=random(5);fill(t*15+100,t*15+100,255);rect(x*30,y*30,30,30)

8 35