kopia lustrzana https://github.com/villares/sketch-a-day
				
				
				
			
		
			
	
	
		
			58 wiersze
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
		
		
			
		
	
	
			58 wiersze
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
|   | """Grid study""" | ||
|  | 
 | ||
|  | def setup(): | ||
|  |     size(500, 500) | ||
|  |     colorMode(HSB) | ||
|  |     create_grids() | ||
|  | 
 | ||
|  | def create_grids(): | ||
|  |     global shapes | ||
|  |     shapes = []     | ||
|  |     for i in range(10): | ||
|  |         d = int(random(7, 14)) | ||
|  |         sp = 25 | ||
|  |         x = int(random(-7, 8)) * sp | ||
|  |         y = int(random(-7, 8)) * sp | ||
|  |         si = random(15, 35) | ||
|  |         shapes.extend(grid(pos=(x, y), | ||
|  |                            dims=(d, d), | ||
|  |                            space=sp, | ||
|  |                            elem=(create_element, si)) | ||
|  |                       ) | ||
|  | def draw(): | ||
|  |     background(100) | ||
|  |     translate(width / 2., height / 2.) | ||
|  |      | ||
|  |     for s in shapes: | ||
|  |         shape(s) | ||
|  | 
 | ||
|  | def grid(pos, dims, space, elem): | ||
|  |     gx, gy = pos | ||
|  |     col_num, row_num = dims | ||
|  |     func, args = elem[0], elem[1:] | ||
|  |     result = [] | ||
|  |     half_w = col_num * space / 2. | ||
|  |     half_h = row_num * space / 2. | ||
|  |     for ix in range(col_num): | ||
|  |         x = gx + ix * space + space / 2. - half_w | ||
|  |         for iy in range(row_num): | ||
|  |             y = gy + iy * space + space / 2. - half_h | ||
|  |             fill(color_rule(ix, iy, row_num)) | ||
|  |             result.append(func(x, y, *args)) | ||
|  |     return result | ||
|  | 
 | ||
|  | def color_rule(ix, iy, row_num): | ||
|  |     return color(row_num * 8 + (ix + iy) % 3 * 32 , 200, 200, 100) | ||
|  | 
 | ||
|  | 
 | ||
|  | def create_element(x, y, *args): | ||
|  |     noStroke() | ||
|  |     # fill(255, 100) | ||
|  |     return createShape(ELLIPSE, x, y, args[0], args[0]) | ||
|  | 
 | ||
|  | def keyPressed(): | ||
|  |     if key == "s": | ||
|  |         saveFrame("####.png") | ||
|  |     if key == " ": | ||
|  |         create_grids() |