kopia lustrzana https://github.com/villares/sketch-a-day
				
				
				
			
			
			
			
				main
			
			
		
		
							rodzic
							
								
									35a1219f48
								
							
						
					
					
						commit
						84475438a4
					
				|  | @ -2,8 +2,8 @@ | |||
| # More explorations of lines in grids | ||||
| 
 | ||||
| from itertools import product, combinations, permutations, combinations_with_replacement | ||||
| from gif_exporter import gif_export | ||||
| add_library('GifAnimation') | ||||
| # from gif_exporter import gif_export | ||||
| # add_library('GifAnimation') | ||||
| 
 | ||||
| space = 20 | ||||
| num_lines = 5 | ||||
|  | @ -28,7 +28,7 @@ def setup(): | |||
|         (x0, y0), (x1, y1) = l[0], l[1] | ||||
|         if dist(x0, y0, x1, y1) < 2: # short as defined here | ||||
|             short_lines.append(l) | ||||
|     print(len(short_lines)) | ||||
|     println("Number of possible lines: {}".format(len(short_lines))) | ||||
|     # main stuff | ||||
|     line_combos = list(combinations(short_lines, num_lines)) | ||||
|     num = len(line_combos) | ||||
|  |  | |||
|  | @ -3,12 +3,12 @@ | |||
| 
 | ||||
| from random import shuffle | ||||
| from itertools import product, combinations, permutations, combinations_with_replacement | ||||
| from gif_exporter import gif_export | ||||
| add_library('GifAnimation') | ||||
| # from gif_exporter import gif_export | ||||
| # add_library('GifAnimation') | ||||
| 
 | ||||
| space = 40 | ||||
| num_lines = 5 | ||||
| position = 0 | ||||
| position = 0  # initial position | ||||
| 
 | ||||
| 
 | ||||
| def setup(): | ||||
|  | @ -20,14 +20,19 @@ def setup(): | |||
|     # grid = product(range(-1, 1), repeat=2) # 2X2 | ||||
|     grid = product(range(-1, 2), repeat=2) # 3X3 | ||||
|     # grid = product(range(-2, 2), repeat=2) # 4X4 | ||||
|      | ||||
|     # all possible lines | ||||
|     lines = combinations(grid, 2) | ||||
|     # colect only short lines | ||||
|     short_lines = [] | ||||
|     for l in lines: | ||||
|         (x0, y0), (x1, y1) = l[0], l[1] | ||||
|         if dist(x0, y0, x1, y1) <= sqrt(2): | ||||
|         if dist(x0, y0, x1, y1) < 2: # short as defined here... | ||||
|             short_lines.append(l) | ||||
|     print(len(short_lines)) | ||||
|     line_combos = list(combinations(short_lines, num_lines)) | ||||
|     num_short_lines = len(short_lines) | ||||
|     println("Number of possible lines: {}".format(num_short_lines)) | ||||
|     # main stuff | ||||
|     line_combos = list(combinations(num_short_lines, num_lines)) | ||||
|     shuffle(line_combos) | ||||
|     num = len(line_combos) | ||||
|     W, H = (width - space) / space, (height - space) / space | ||||
|  |  | |||
										
											Plik binarny nie jest wyświetlany.
										
									
								
							| Po Szerokość: | Wysokość: | Rozmiar: 44 KiB | 
										
											Plik binarny nie jest wyświetlany.
										
									
								
							| Po Szerokość: | Wysokość: | Rozmiar: 25 KiB | 
										
											Plik binarny nie jest wyświetlany.
										
									
								
							| Po Szerokość: | Wysokość: | Rozmiar: 9.7 KiB | 
|  | @ -0,0 +1,40 @@ | |||
| """ | ||||
| Alexandre B A Villares http://abav.lugaralgum.com - GPL v3  | ||||
| 
 | ||||
| A helper for the Processing gifAnimation library https://github.com/extrapixel/gif-animation/tree/3.0 | ||||
| Download from https://github.com/villares/processing-play/blob/master/export_GIF/unzip_and_move_to_libraries_GifAnimation.zip | ||||
| This helper was inspired by an example by Art Simon https://github.com/APCSPrinciples/AnimatedGIF/ | ||||
| 
 | ||||
| # add at the start of your sketch: | ||||
|   add_library('gifAnimation') | ||||
|   from gif_exporter import gif_export | ||||
| # add at the end of draw(): | ||||
|   gif_export(GifMaker) | ||||
| """ | ||||
| 
 | ||||
| def gif_export(GifMaker,             # gets a reference to the library | ||||
|                filename="exported",  # .gif will be added | ||||
|                repeat=0,             # 0 makes it an "endless" animation | ||||
|                quality=255,          # quality range 0 - 255 | ||||
|                delay=200,            # this is quick | ||||
|                frames=0,             # 0 will stop on keyPressed or frameCount >= 100000 | ||||
|                finish=False):        # force stop | ||||
|     global gifExporter | ||||
|     try: | ||||
|         gifExporter | ||||
|     except NameError: | ||||
|         gifExporter = GifMaker(this, filename + ".gif") | ||||
|         gifExporter.setRepeat(repeat) | ||||
|         gifExporter.setQuality(quality) | ||||
|         gifExporter.setDelay(delay) | ||||
|          | ||||
|     gifExporter.addFrame() | ||||
| 
 | ||||
|     if frames == 0: | ||||
|        if keyPressed and key == "e": | ||||
|            finish = True | ||||
|                  | ||||
|     if finish: | ||||
|         gifExporter.finish() | ||||
|         print("gif saved") | ||||
|         exit() | ||||
										
											Plik binarny nie jest wyświetlany.
										
									
								
							| Po Szerokość: | Wysokość: | Rozmiar: 1.9 MiB | 
|  | @ -0,0 +1,89 @@ | |||
| # Alexandre B A Villares - https://abav.lugaralgum.com/sketch-a-day | ||||
| # More explorations of lines in grids | ||||
| 
 | ||||
| from random import shuffle | ||||
| from itertools import product, combinations, permutations, combinations_with_replacement | ||||
| from gif_exporter import gif_export | ||||
| add_library('GifAnimation') | ||||
| 
 | ||||
| space = 35 | ||||
| position = 0  # initial position | ||||
| 
 | ||||
| 
 | ||||
| def setup(): | ||||
|     global line_combos, W, H, position, num | ||||
|     size(600, 600) | ||||
|     frameRate(5) | ||||
|     rectMode(CENTER) | ||||
|     strokeWeight(1) | ||||
|     # grid = product(range(-1, 1), repeat=2) # 2X2 | ||||
|     # grid = product(range(-1, 2), repeat=2) # 3X3 | ||||
|     grid = product(range(-2, 2), repeat=2) # 4X4 | ||||
|      | ||||
|     # all possible lines | ||||
|     lines = combinations(grid, 2) | ||||
|     # colect only short lines | ||||
|     short_lines = [] | ||||
|     for l in lines: | ||||
|         (x0, y0), (x1, y1) = l[0], l[1] | ||||
|         if 1 < dist(x0, y0, x1, y1) < 2: # short as defined here... | ||||
|             short_lines.append(l) | ||||
|     num_short_lines = len(short_lines) | ||||
|     println("Number of possible lines: {}".format(num_short_lines)) | ||||
|     # main stuff | ||||
|     line_combos = list(combinations(short_lines, 4)) | ||||
|     # line_combos = [] | ||||
|     # for n in range(9): | ||||
|     #    line_combos += list(combinations(short_lines, n)) | ||||
|     # shuffle(line_combos) | ||||
|     num = len(line_combos) | ||||
|     print line_combos | ||||
|     W, H = (width - space) / space, (height - space) / space | ||||
|     print(W, H) | ||||
| 
 | ||||
| 
 | ||||
| def draw(): | ||||
|     global position | ||||
|     colorMode(RGB) | ||||
|     background(240) | ||||
|     fill(0) | ||||
|     textSize(24) | ||||
|     text(str(num), space, height - space/4) | ||||
|     i = position | ||||
|     for y in range(H): | ||||
|         for x in range(W): | ||||
|             if i < len(line_combos): | ||||
|                 pushMatrix() | ||||
|                 translate(space + space * x, space + space * y) | ||||
|                 draw_combo(i) | ||||
|                 popMatrix() | ||||
|                 i += 1 | ||||
|     if i < len(line_combos): | ||||
|         gif_export(GifMaker, SKETCH_NAME + "-" +  str(num)) | ||||
|         position += W | ||||
| 
 | ||||
| def draw_combo(i): | ||||
|     colorMode(RGB) | ||||
|     siz = space / 4 - 2 | ||||
|     for i, sl in enumerate(line_combos[i]): | ||||
|         colorMode(HSB) | ||||
|         # stroke(i * 32, 200, 200) | ||||
|         (x0, y0), (x1, y1) = sl[0], sl[1] | ||||
|         line(x0 * siz, y0 * siz, x1 * siz, y1 * siz) | ||||
| 
 | ||||
| def keyPressed(): | ||||
|     if key == "s": | ||||
|         saveFrame("####.png") | ||||
|          | ||||
| def settings(): | ||||
|     from os import path | ||||
|     global SKETCH_NAME | ||||
|     SKETCH_NAME = path.basename(sketchPath()) | ||||
|     OUTPUT = ".gif" | ||||
|     println( | ||||
|         """ | ||||
|  | ||||
| 
 | ||||
| [{0}](https://github.com/villares/sketch-a-day/tree/master/{2}/{0}) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] | ||||
| """.format(SKETCH_NAME, OUTPUT, year()) | ||||
|     ) | ||||
		Ładowanie…
	
		Reference in New Issue
	
	 villares
						villares