Masthash

#トゥートProcessing

sketch_2023_03_31 #Processing #Python #py5 #トゥートProcessing #TootProcessing #generativeArt #creativeCoding

import py5

margin = 60

def setup():
py5.size(800, 800)
py5.no_loop()

def draw():
py5.background(0)
grid(margin, margin, py5.width - margin * 2)

def grid(xo, yo, largura_total, n=3):
w = largura_total / n
color_step = 255 / n
for j in range(n):
x = xo + w * j
for i in range(n):
y = yo + w * i
py5.fill(i * color_step, # red
j * color_step, # green
255 - i * color_step) # blue
if w > 10 and py5.random(9) > 5:
grid(x, y, w)
else:
py5.circle(x + w / 2, y + w / 2, w * 0.98)

def key_pressed():
py5.save_frame('###.png')
redraw()

py5.run_sketch()

generative composition with recursive grids of colored balls on a black background
generative composition with recursive grids of colored balls on a black background
generative composition with recursive grids of colored balls on a black background
generative composition with recursive grids of colored balls on a black background

#Processing #Python #py5 #genuary #genuary31 #トゥートProcessing

# https://iamkate.com/data/12-bit-rainbow/
palette = (
'#817', '#a35', '#c66', '#e94',
'#ed0', '#9d5', '#4d8', '#2cb',
'#0bc', '#09c', '#36b', '#639'
)

def setup():
size(800, 800)
no_stroke()
background(0)

def draw():
xc = yc = 400
for i in range(6):
m = 1 - abs(cos(radians(frame_count / 2))) ** 5
r = 150 + 150 * m
a = radians(frame_count / 2 + 60 * i)
x = xc + r * cos(a)
y = yc + r * sin(a)
fill(palette[i])
circle(x, y, 150)
r = 300 - 150 * m
a = a + radians(30)
x = xc + r * cos(a)
y = yc + r * sin(a)
fill(palette[-1 -i])
circle(x, y, 150)

loop animation of 12 colored circles spinning in a ring and intertwining.

#Processing #Python #py5 imported mode #genuary #genuary30 #トゥートProcessing
# Kate Rose Morley's palette
# https://iamkate.com/data/12-bit-rainbow/

from itertools import product

palette = (
'#817', '#a35', '#c66', '#e94',
'#ed0', '#9d5', '#4d8', '#2cb',
'#0bc', '#09c', '#36b', '#639'
)

def setup():
global palavras
size(800, 800)
no_loop()
rect_mode(CENTER)
no_stroke()

def draw():
w = 400
i = 0
for x, y in product(range(0, width, w), repeat=2):
for z in range(3):
fill(palette[i])
square(w / 2 + x, w / 2 + y, w / (z / 2 + 1))
i += 1

A canvas divided in 4 squares, each square/quadrant has 2 smaller concentric squares inside. Each square has one of the 12 colors of Kate's palette.

#sketch_2022_01_25 #Processing #トゥートProcessing #Python #py5 #genuary #genuary25

S = 600
ns = 1

def setup():
size(S, S)
no_stroke()

def draw():
noise_seed(ns)
background(255, 255, 0)
x, f = 8, frame_count
while x < S * 2:
y = 8
while y < S:
M = 16 + 4 * sin(x * 0.05)
h = M * noise(x * 0.01, y * 0.01, f * 0.01) #+ sin(y * 0.005)
fill(0)
circle(x, y, min(M * 0.45, h))
y += min(M * 0.5, h)
x += M * 0.5
fill(255, 255, 0)
rect(0, S - 4, width, 4)

def key_pressed():
global ns
ns += 1

columns of black circles in a yellow background generative composition that looks organic, inspired by Yayoi Kusama's work

"""
sketch_2022_01_17 #genuary #genuary17 #Python #Processing

Code for #py5 (py5coding.org) imported mode

Recursive grid - I'm always grateful for Takao Shunsuke's inspiration.

#トゥートProcessing #TootProcessing
"""

def setup():
size(1024, 1024)
no_loop()

def draw():
background(0)
grid(0, 0, width, 4)
save_frame('###.png')

def grid(grid_x, grid_y, grid_size, n):
cell_size = grid_size / n
for i in range(n):
x = grid_x + i * cell_size
for j in range(n):
y = grid_y + j * cell_size
if cell_size < 20:
fill(x % 255, 200, y % 255)
circle(x + cell_size / 2,
y + cell_size / 2,
cell_size)
elif n == 1:
fill(0, 0, 200)
square(x, y, cell_size)
else:
next_n = int(random(1, 5))
grid(x, y, cell_size, next_n)

def key_pressed():
redraw()

a recursive grid made of blue squares and smaller grids of circles, mostly green but with varying colors

# Um exemplo de como exportar um sketch no #py5 (#Processing + #Python) em alta resolução:
# Usando py5 (https://py5coding.org) com "imported mode", via plugin no Thonny IDE https://github.com/tabreturn/thonny-py5mode

def setup():
size(512, 512)

# Prepare to record a high-res output
scale_factor = 4
out = create_graphics(width * scale_factor, height * scale_factor)
begin_record(out)
out.scale(scale_factor) # Needs to be after begin_record()

# Your drawing goes here!
background(0)
rect_mode(CENTER) # Don't forget to put mode changes
color_mode(HSB) # inside the recorded part!
no_stroke()
for i in range(16, 256, 16):
fill(i, 200, 200,)
rect(i * 2, i * 2, 32, 32)
fill((i + 128) % 256, 200, 200,)
ellipse(i * 2, i * 2, 16, 16)

# End recording and save
end_record()
out.save('output.png')

#トゥートProcessing #TootProcessing
# Errata da descrição da imagem: quadradao -> quadrado; outpur.png -> output.png

Captura de tela que mostra o Thonny IDE com o código para exportar sketches em alta resolução. Um exemplo que desenha uma fila diagonal de quadrados coloridos em um fundo preto com círculos de cores diferentes no centro de cada quadradao. Também é visiível um ícone de um arquivo outpur.png uma janela com o PNG aberto com um zoom de 195% e logo do ratinho do XFCE no fundo de tela.

# Abreviated version from https://github.com/villares
#トゥートProcessing #py5

from collections import deque
history = deque(maxlen=512)

def setup():
size(600, 400)
no_stroke()
color_mode(HSB)

def draw():
background(51)
for i, (x, y) in enumerate(history):
fill(i / 2, 255, 255, 128)
circle(x, y, 8 + i / 16)
if history:
history.append(history.popleft())

def mouse_dragged():
history.append((mouse_x, mouse_y))

def key_pressed():
history.clear()

animation: the person drags the mouse writing "Hello World"  and the code in the tweet creates colorful translucent circles making the gesture/writing visible
incre.ment
7 months ago

Not sure the best way to do this. I'm thinking CW on the wall of code, but then can I do that and *not* have the sensitive warning on the image?

#トゥートProcessing
t=0,draw=o=>{for(createCanvas(w=600,w,WEBGL),t+=.01,t%=1,background(0),smooth(),rotateX(h=-PI/5),rotateZ(h),R=translate,i=20;i--;)for(p=(i+t)/20,y=800*p-400,a=0;a<TAU;a+=TAU/512)r=pow(map(y,-400,400,.4,1),7),push(),R(x=999*r*sin(a),y,(z=999*r*cos(a))-100),noStroke(),fill(w*(1-p)),sphere(2),R(0,105,0),fill(0),box(5,200,5),pop()};

Falling circles with increasing radius, all sharing the same central axis.  Forms an expanding cone.
incre.ment
7 months ago

@villares @incre_ment@mastodon.social
I think you should do the first ever #トゥートProcessing!!! I'll definitely follow suit.

incre.ment
7 months ago

@villares
Sounds like we have Hau Kun's blessing. Feels like asking was the right thing to do.
#トゥートProcessing it is!