kopia lustrzana https://github.com/villares/sketch-a-day
				
				
				
			
		
			
				
	
	
		
			54 wiersze
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
			
		
		
	
	
			54 wiersze
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
| """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(5, 10))
 | |
|         sp = int(random(3, 8)) * 5
 | |
|         x = int(random(-8, 9)) * sp
 | |
|         y = int(random(-8, 9)) * 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, row = dims
 | |
|     func, args = elem[0], elem[1:]
 | |
|     result = []
 | |
|     half_w = col * space / 2.
 | |
|     half_h = row * space / 2.
 | |
|     fill(row * 16, 200, 200, 100)
 | |
|     for ix in range(col):
 | |
|         x = gx + ix * space + space / 2. - half_w
 | |
|         for iy in range(row):
 | |
|             y = gy + iy * space + space / 2. - half_h
 | |
|             result.append(func(x, y, *args))
 | |
|     return result
 | |
| 
 | |
| 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()
 |