sketch-a-day/README.md

2254 wiersze
74 KiB
Markdown
Czysty Wina Historia

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

----
# sketch-a-day
### one visual idea a day [[on GitHub!](https://github.com/villares/sketch-a-day)]
Hi! I'm [Alexandre Villares](https://abav.lugaralgum.com), let's see if I can make one small program (*sketch*) a day. I'm working mostly with Python ([Processing Python Mode](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)) and sometimes [Processing Java Mode](https://processing.org) and [P5JS (JavaScript)](p5js.org) or other stuff.
If you enjoy this, be a [patreon](https://patreon.com/arteprog) or make a donation [here](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=HCGAKACDMVNV2)
---
![s293](s293/s293.gif)
293: [code](https://github.com/villares/sketch-a-day/tree/master/s293) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
The polygons now are non-self-intersecting, and the hatches are kept inside :)
White lines in the background are from discarded random polys that self-intersected.
---
![s292](s292/s292.gif)
292: [code](https://github.com/villares/sketch-a-day/tree/master/s292) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s291](s291/s291.gif)
291: [code](https://github.com/villares/sketch-a-day/tree/master/s291) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s290](s290/s290.gif)
290: [code](https://github.com/villares/sketch-a-day/tree/master/s290) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s289](s289/s289.gif)
289: [code](https://github.com/villares/sketch-a-day/tree/master/s289) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
True arcs and lines
---
![s288](s288/s288.gif)
288: [code](https://github.com/villares/sketch-a-day/tree/master/s288) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Ellipse arcs
---
![s287](s287/s287.gif)
287: [code](https://github.com/villares/sketch-a-day/tree/master/s287) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s286](s286/s286.gif)
286: [code](https://github.com/villares/sketch-a-day/tree/master/s286) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s285](s285/s285.gif)
285: [code](https://github.com/villares/sketch-a-day/tree/master/s285) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s284](s284/s284.png)
284: [code](https://github.com/villares/sketch-a-day/tree/master/s284) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s283](s283/s283.gif)
283: [code](https://github.com/villares/sketch-a-day/tree/master/s283) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s282](s282/s282.gif)
282: [code](https://github.com/villares/sketch-a-day/tree/master/s282) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
First attempt at joining rectangular cells into bigger polygonal faces.
---
![s281](s281/s281.gif)
281: [code](https://github.com/villares/sketch-a-day/tree/master/s281) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s280](s280/s280.png)
280: [code](https://github.com/villares/sketch-a-day/tree/master/s280) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s279](s279/s279.gif)
279: [code](https://github.com/villares/sketch-a-day/tree/master/s279) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s278](s278/s278.png)
278: [code](https://github.com/villares/sketch-a-day/tree/master/s278) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s277](s277/s277.png)
277: [code](https://github.com/villares/sketch-a-day/tree/master/s277) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s276](s276/s276.png)
276: [code](https://github.com/villares/sketch-a-day/tree/master/s276) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s275](s275/s275.png)
275: [code](https://github.com/villares/sketch-a-day/tree/master/s275) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s274](s274/s274.png)
274: [code](https://github.com/villares/sketch-a-day/tree/master/s274) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s273](s273/s273.png)
273: [code](https://github.com/villares/sketch-a-day/tree/master/s273) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
This sorts a gliph sequence from lighter to darker
---
![s272](s272/s272.png)
272: [code](https://github.com/villares/sketch-a-day/tree/master/s272) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s271](s271/s271.png)
271: [code](https://github.com/villares/sketch-a-day/tree/master/s271) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s270](s270/s270.png)
270: [code](https://github.com/villares/sketch-a-day/tree/master/s270) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s269](s269/s269.png)
269: [code](https://github.com/villares/sketch-a-day/tree/master/s269) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s268](s268/s268.png)
268: [code](https://github.com/villares/sketch-a-day/tree/master/s268)[[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] &
[code](https://github.com/villares/sketch-a-day/blob/master/s268_pygame/s268_pygame.py)[[Pygame](https://wwwpygame.org)]
---
![s267](s267/s267.png)
267: [code](https://github.com/villares/sketch-a-day/tree/master/s267) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s266](s266/s266.png)
266: [code](https://github.com/villares/sketch-a-day/tree/master/s266) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s265](s265/s265.png)
265: [code](https://github.com/villares/sketch-a-day/tree/master/s265) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s264](s264/s264.png)
264: [code](https://github.com/villares/sketch-a-day/tree/master/s264) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s263](s263/s263.png)
263: [code](https://github.com/villares/sketch-a-day/tree/master/s263) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s262](s262/s262.png)
262: [code](https://github.com/villares/sketch-a-day/tree/master/s262) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s261](s261/s261.png)
261: [code](https://github.com/villares/sketch-a-day/tree/master/s261) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s260](s260/s260.png)
260: [code](https://github.com/villares/sketch-a-day/tree/master/s260) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s259](s259/s259.png)
259: [code](https://github.com/villares/sketch-a-day/tree/master/s259) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s258](s258/s258.png)
258: [code](https://github.com/villares/sketch-a-day/tree/master/s258) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s257](s257/s257.png)
257: [code](https://github.com/villares/sketch-a-day/tree/master/s257) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s256](s256/s256.png)
256: [code](https://github.com/villares/sketch-a-day/tree/master/s256) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s254](s254/s254.png)
254: [code](https://github.com/villares/sketch-a-day/tree/master/s254) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s253](s253/s253.png)
253: [code](https://github.com/villares/sketch-a-day/tree/master/s253) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s252](s252/s252.png)
252: [code](https://github.com/villares/sketch-a-day/tree/master/s252) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s251](s251/s251.png)
251: [code](https://github.com/villares/sketch-a-day/tree/master/s251) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s250](s250/s250.png)
250: [code](https://github.com/villares/sketch-a-day/tree/master/s250) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
This was kind of a dead end. It's easy to rotate stuff with pushMatrix(), transtlate() and rotate(), but it doesn't work inside beginShape() as I found out the next day.
---
![s249](s249/s249.png)
249: [code](https://github.com/villares/sketch-a-day/tree/master/s249) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s248](s248/s248.png)
248: [code](https://github.com/villares/sketch-a-day/tree/master/s248) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Animation
---
![s247](s247/s247.png)
247: [code](https://github.com/villares/sketch-a-day/tree/master/s247) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s246](s246/s246.png)
246: [code](https://github.com/villares/sketch-a-day/tree/master/s246) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s245](s245/s245.png)
245: [code](https://github.com/villares/sketch-a-day/tree/master/s245) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s244](s244/s244.png)
244: [code](https://github.com/villares/sketch-a-day/tree/master/s244) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s243](s243/s243.png)
243: [code](https://github.com/villares/sketch-a-day/tree/master/s243) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s242](s242/s242.png)
242: [code](https://github.com/villares/sketch-a-day/tree/master/s242) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s241](s241/s241.gif)
241: [code](https://github.com/villares/sketch-a-day/tree/master/s241) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s240](s240/s240.gif)
240: [code](https://github.com/villares/sketch-a-day/tree/master/s240) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s239](s239/s239.gif)
239: [code](https://github.com/villares/sketch-a-day/tree/master/s239) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s238](s238/s238.gif)
238: [code](https://github.com/villares/sketch-a-day/tree/master/s238) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s237](s237/s237.gif)
237: [code](https://github.com/villares/sketch-a-day/tree/master/s237) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s236](s236/s236.gif)
236: [code](https://github.com/villares/sketch-a-day/tree/master/s236) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s235](s235/s235.gif)
235: [code](https://github.com/villares/sketch-a-day/tree/master/s235) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s234](s234/s234.gif)
234: [code](https://github.com/villares/sketch-a-day/tree/master/s234) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s233](s233/s233.gif)
233: [code](https://github.com/villares/sketch-a-day/tree/master/s232) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s232](s232/s232.png)
232: [code](https://github.com/villares/sketch-a-day/tree/master/s232) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s231](s231/s231.gif)
231: [code](https://github.com/villares/sketch-a-day/tree/master/s231) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s230](s230/s230.png)
230: [code](https://github.com/villares/sketch-a-day/tree/master/s230) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s229](s229/s229.png)
229: [code](https://github.com/villares/sketch-a-day/tree/master/s229) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s228](s228/s228.png)
228: [code](https://github.com/villares/sketch-a-day/tree/master/s228) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s227](s227/s227.gif)
227: [code](https://github.com/villares/sketch-a-day/tree/master/s227) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s226](s226/s226.gif)
226: [code](https://github.com/villares/sketch-a-day/tree/master/s226) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s225](s225/s225.gif)
225: [code](https://github.com/villares/sketch-a-day/tree/master/s225) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Now (hollow) boxes, and a cutting-plane controlled by the keyboard.
---
![s224](s224/s224.gif)
224: [code](https://github.com/villares/sketch-a-day/tree/master/s225) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Tubes! Solid boxes hollowed in one of three directions.
---
![s223](s223/s223.gif)
223: [code](https://github.com/villares/sketch-a-day/tree/master/s223) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s222](s222/s222.gif)
222: [code](https://github.com/villares/sketch-a-day/tree/master/s222) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s221](s221/s221.gif)
221: [code](https://github.com/villares/sketch-a-day/tree/master/s221) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s220](s220/s220.gif)
220: [code](https://github.com/villares/sketch-a-day/tree/master/s220) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s219](s219/s219_.gif)
219: [code](https://github.com/villares/sketch-a-day/tree/master/s219) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s218](s218/s218.gif)
218: [code](https://github.com/villares/sketch-a-day/tree/master/s218) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s217](s217/s217.gif)
217: [code](https://github.com/villares/sketch-a-day/tree/master/s217) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s216](s216/s216.gif)
216: [code](https://github.com/villares/sketch-a-day/tree/master/s216) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s215](s215/s215.gif)
215: [code](https://github.com/villares/sketch-a-day/tree/master/s215) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s214](s214/s214.gif)
214: [code](https://github.com/villares/sketch-a-day/tree/master/s214) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s213](s213/s213.gif)
213: [code](https://github.com/villares/sketch-a-day/tree/master/s213) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s212](s212/s212.gif)
212: [code](https://github.com/villares/sketch-a-day/tree/master/s211) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s211](s211/s211.gif)
211: [code](https://github.com/villares/sketch-a-day/tree/master/s211) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s210](s210/s210.gif)
210: [code](https://github.com/villares/sketch-a-day/tree/master/s210) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s209](s209/s209.gif)
209: [code](https://github.com/villares/sketch-a-day/tree/master/s209) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s208](s208/s208.png)
208: [code](https://github.com/villares/sketch-a-day/tree/master/s208) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s207](s207/s207.png)
207: [code](https://github.com/villares/sketch-a-day/tree/master/s207) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s206](s206/s206.png)
206: [code](https://github.com/villares/sketch-a-day/tree/master/s206) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s204](s205b/s205b.gif)
205b: [code](https://github.com/villares/sketch-a-day/tree/master/s205b) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Two layer version. Added `rotateX(rot)`.
---
![s204](s205/s205.gif)
205: [code](https://github.com/villares/sketch-a-day/tree/master/s205) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
One layer version, I'll use it to test some ideas another day.
---
![s204](s204/s204.gif)
204: [code](https://github.com/villares/sketch-a-day/tree/master/s204) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
At each cycle, it starts on the next node.
---
![s203](s203/s203.gif)
203: [code](https://github.com/villares/sketch-a-day/tree/master/s203) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
A big one, animated the maze generation process.
---
![s202](s202/s202.png)
202: [code](https://github.com/villares/sketch-a-day/tree/master/s202) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
A bigger one
---
![s201](s201/s201.gif)
201: [code](https://github.com/villares/sketch-a-day/tree/master/s201) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s200](s200/s200.gif)
200: [code](https://github.com/villares/sketch-a-day/tree/master/s200) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s199](s199/s199.gif)
199: [code](https://github.com/villares/sketch-a-day/tree/master/s199) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s198](s198/s198.gif)
198: [code](https://github.com/villares/sketch-a-day/tree/master/s198) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s197](s197/s197.gif)
197: [code](https://github.com/villares/sketch-a-day/tree/master/s197) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s196](s196/s196.gif)
196: [code](https://github.com/villares/sketch-a-day/tree/master/s196) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s195](s195/s195.gif)
195: [code](https://github.com/villares/sketch-a-day/tree/master/s195) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s194](s194/s194.gif)
194: [code](https://github.com/villares/sketch-a-day/tree/master/s194) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s193](s193/s193.gif)
193: [code](https://github.com/villares/sketch-a-day/tree/master/s193) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s192](s192/s192_73.gif)
192: [code](https://github.com/villares/sketch-a-day/tree/master/s192) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s191](s191/s191b.gif)
191: [code](https://github.com/villares/sketch-a-day/tree/master/s191) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s190](s190/s190b.gif)
190: [code](https://github.com/villares/sketch-a-day/tree/master/s190) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s189](s189/s189.gif)
189: [code](https://github.com/villares/sketch-a-day/tree/master/s189) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s188](s188/s188.gif)
188: [code](https://github.com/villares/sketch-a-day/tree/master/s188) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s187](s187/s187.gif)
187: [code](https://github.com/villares/sketch-a-day/tree/master/s187) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s186gif](s186gif/s186.gif)
![s186](s186/s186.png)
186: [code](https://github.com/villares/sketch-a-day/tree/master/s186) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s185](s185/s185.png)
185: [code](https://github.com/villares/sketch-a-day/tree/master/s185) [[Processing Java](https://www.processing.org)]
---
![s184](s184/s184.png)
184: [code](https://github.com/villares/sketch-a-day/tree/master/s184) [[Processing Java](https://www.processing.org)]
---
![s183](s183/s183.png)
183: [code](https://github.com/villares/sketch-a-day/tree/master/s183) [[Processing Java](https://www.processing.org)]
---
![s182](s182/s182.png)
182: [code](https://github.com/villares/sketch-a-day/tree/master/s182) [[Processing Java](https://www.processing.org)]
---
![s181](s181/s181.png)
181: [code](https://github.com/villares/sketch-a-day/tree/master/s181) [[Processing Java](https://www.processing.org)]
---
![s180](s180/s180.gif)
```
def set_nbs(self):
self.nbs, self.unvisited_nbs = [], []
for node in Node.nodes:
if node != self and dist(node.x, node.y, node.z,
self.x, self.y, self.z) <= Node.spacing * 1.1:
self.nbs.append(node)
self.unvisited_nbs.append(node)
```
![s180b](s180/s180b.gif)
```
if node != self and dist(node.x, node.y, node.z,
self.x, self.y, self.z) <= Node.spacing * 1.5:
```
180: [code](https://github.com/villares/sketch-a-day/tree/master/s180) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s179COLOR](s179/COR_s179.png)
![s179PB](s179/PB_s179.png)
179: [code](https://github.com/villares/sketch-a-day/tree/master/s179) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s178](s178/s178.jpg)
178: [code](https://github.com/villares/sketch-a-day/tree/master/s178) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s177](s177/s177.png)
177: [code](https://github.com/villares/sketch-a-day/tree/master/s177) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s176](s176/s176.png)
176: [code](https://github.com/villares/sketch-a-day/tree/master/s176) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s175](s175/s175.gif)
175: [code](https://github.com/villares/sketch-a-day/tree/master/s175) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s174](s174/s174.png)
174: [code](https://github.com/villares/sketch-a-day/tree/master/s174) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s173](s173/s173.png)
173: [code](https://github.com/villares/sketch-a-day/tree/master/s173) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s172](s172/s172.png)
172: [code](https://github.com/villares/sketch-a-day/tree/master/s172) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s171](s171/s171.png)
171:[Java code](https://github.com/villares/sketch-a-day/tree/master/s171)[[Processing Java](https://processing.org)] & [Python code](https://github.com/villares/sketch-a-day/tree/master/s171_py) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s170](s170/s170.png)
170:[code](https://github.com/villares/sketch-a-day/tree/master/s170) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s169](s169/s169.png)
169:[code](https://github.com/villares/sketch-a-day/tree/master/s169) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Now same Z lines can form floors.
----
![s168](s168/s168.png)
168:[code](https://github.com/villares/sketch-a-day/tree/master/s168) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
No random movement in Z so no line connections between different (Z) levels. Comparing lines with different Zs to create translucent 'walls'.
----
![s167](s167/s167.gif)
167: [Java code](https://github.com/villares/sketch-a-day/tree/master/s167) [[Processing Java](https://processing.org)] & [Python code](https://github.com/villares/sketch-a-day/tree/master/s167_py) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s166](s166/s166.png)
166: [code](https://github.com/villares/sketch-a-day/tree/master/s166) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s165](s165/s165.png)
165: [code](https://github.com/villares/sketch-a-day/tree/master/s165) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s164](s164/s164.png)
164: [code](https://github.com/villares/sketch-a-day/tree/master/s164) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s163](s163/s163.gif)
163: [code](https://github.com/villares/sketch-a-day/tree/master/s163) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
(#152 revisited in 3D :)
----
![s162](s162/s162.png)
162: [code](https://github.com/villares/sketch-a-day/tree/master/s161) [[Processing Java](https://www.processing.org)]
Perlin Noise "walker" + ?
----
![s161](s161/s161.png)
161: [code](https://github.com/villares/sketch-a-day/tree/master/s161) [[Processing Java](https://www.processing.org)]
Perlin Noise "walker" + eye
----
![s160](s160/s160.gif)
160: [code](https://github.com/villares/sketch-a-day/tree/master/s160) [[Processing Java](https://www.processing.org)]
Interactive genetic algorithm
----
![s159](s159/s159.gif)
159: [code](https://github.com/villares/sketch-a-day/tree/master/s158) [[Processing Java](https://www.processing.org)]
----
![s158](s158/s158b.gif)
158: [code](https://github.com/villares/sketch-a-day/tree/master/s158) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s157](s157/s157.gif)
157: [code](https://github.com/villares/sketch-a-day/tree/master/s156) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s156](s156/s156.gif)
156: [code](https://github.com/villares/sketch-a-day/tree/master/s156) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s155](s155/s155.gif)
155: [code](https://github.com/villares/sketch-a-day/tree/master/s155) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s154](s154/s154.gif)
154: [code](https://github.com/villares/sketch-a-day/tree/master/s154) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s153](s153/s153.gif)
153: [code](https://github.com/villares/sketch-a-day/tree/master/s153) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s152](s152/s152.gif)
152: [code](https://github.com/villares/sketch-a-day/tree/master/s152) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s151](s151/s151.gif)
151: [code](https://github.com/villares/sketch-a-day/tree/master/s151) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s150](s150/s150.png)
150: [code](https://github.com/villares/sketch-a-day/tree/master/s150) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s149b](s149b/s149b.gif)
149b: [code](https://github.com/villares/sketch-a-day/tree/master/s149b) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s149](s149/s149.gif)
149: [code](https://github.com/villares/sketch-a-day/tree/master/s149) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s148](s148/s148.gif)
148: [code](https://github.com/villares/sketch-a-day/tree/master/s148) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s147](s147/s147.gif)
147: [code](https://github.com/villares/sketch-a-day/tree/master/s147) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s146](s146/s146.gif)
146: [code](https://github.com/villares/sketch-a-day/tree/master/s146) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s145](s145/s145.png)
145: [code](https://github.com/villares/sketch-a-day/tree/master/s145) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s144](s144/s144.gif)
144: [code](https://github.com/villares/sketch-a-day/tree/master/s144) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s143](s143/s143.png)
143: [code](https://github.com/villares/sketch-a-day/tree/master/s143) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s140 + s141 + s142](s140_s141_s142/s140_s141_s142.png)
140 + 141 + 142 [code](https://github.com/villares/sketch-a-day/tree/master/s140_s141_s142) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s142](s142/s142.png)
142: [code](https://github.com/villares/sketch-a-day/tree/master/s142) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s141](s141/s141.png)
141: [code](https://github.com/villares/sketch-a-day/tree/master/s141) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s140](s140/s140.gif)
s140: [code](https://github.com/villares/sketch-a-day/tree/master/s140) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s139](s139/s139.gif)
s139: [code](https://github.com/villares/sketch-a-day/tree/master/s139) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
---
![s138](s138/s138.png)
138: [code](https://github.com/villares/sketch-a-day/tree/master/s138) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Revisiting ideas of recursion from s071
Heavy animated GIF: [s138.gif](s138/s138.gif)
----
![s137](s137/s137.png)
s137: [code](https://github.com/villares/sketch-a-day/tree/master/s137) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
PDF: [diagram.pdf](s137/diagram.pdf)
----
![s136](s136/s136.png)
136: [code](https://github.com/villares/sketch-a-day/tree/master/s136) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s135](s135/s135.png)
135: [code](https://github.com/villares/sketch-a-day/tree/master/s135) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s134](s134/s134.png)
134: [code](https://github.com/villares/sketch-a-day/tree/master/s134) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s133](s133/s133.png)
133: [code](https://github.com/villares/sketch-a-day/tree/master/s133) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s132](s132/s132.png)
132: [code](https://github.com/villares/sketch-a-day/tree/master/s132) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s131](s131/s131.gif)
131: [code](https://github.com/villares/sketch-a-day/tree/master/s131) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s130](s130/s130.gif)
130: [code](https://github.com/villares/sketch-a-day/tree/master/s130) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s129](s129/s129.gif)
129: [code](https://github.com/villares/sketch-a-day/tree/master/s129) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Maybe I fixed it, I guess, not sure…
----
![s128](s128/s128.gif)
128: [code](https://github.com/villares/sketch-a-day/tree/master/s128) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
BROKEN!
----
![s127](s127/s127.gif)
127: [code](https://github.com/villares/sketch-a-day/tree/master/s127) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s126](s126/s126.gif)
126: [code](https://github.com/villares/sketch-a-day/tree/master/s126) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s125](s125/s125b.gif)
125: [code](https://github.com/villares/sketch-a-day/tree/master/s125) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s124](s124/s124.gif)
124: [code](https://github.com/villares/sketch-a-day/tree/master/s124) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s123](s123/s123.gif)
123: [code](https://github.com/villares/sketch-a-day/tree/master/s123) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s122](s122/s122.gif)
122: [code](https://github.com/villares/sketch-a-day/tree/master/s122) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s121](s121/s121.gif)
121: [code](https://github.com/villares/sketch-a-day/tree/master/s121) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s120](s120/s120.gif)
120: [code](https://github.com/villares/sketch-a-day/tree/master/s120) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
To be brutally honest, I had no idea that reversing the second random grid would bring me this result!
----
![s119](s119/s119.gif)
119: [code](https://github.com/villares/sketch-a-day/tree/master/s119) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s118](s118/s118.gif)
118: [code](https://github.com/villares/sketch-a-day/tree/master/s118) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s117](s117/s117.gif)
117: [code](https://github.com/villares/sketch-a-day/tree/master/s117) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s116](s116/s116.gif)
116: [code](https://github.com/villares/sketch-a-day/tree/master/s116) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s115](s115/s115.gif)
115: [code](https://github.com/villares/sketch-a-day/tree/master/s115) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s114](s114/s114.gif)
114: [code](https://github.com/villares/sketch-a-day/tree/master/s114) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s113](s113/s113.gif)
113: [code](https://github.com/villares/sketch-a-day/tree/master/s113) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
----
![s112](s112/s112.gif)
112: [code](https://github.com/villares/sketch-a-day/tree/master/s112) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Hexagons!
```python
def hexagon(x, y, r):
with pushMatrix():
translate(x, y)
beginShape()
for i in range(6):
vx = cos(i * TWO_PI /6) * r
vy = sin(i * TWO_PI /6) * r
vertex(vx, vy)
endShape(CLOSE)
```
----
![s111](s111/s111.gif)
111: [code](https://github.com/villares/sketch-a-day/tree/master/s111) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Now I 'fixed' the rotation with propper pushMatrix() and translate()
```python
with pushMatrix():
translate(x0,y0)
rotate(fs0)
stroke(st0)
equilateral(0, 0, fs0)
with pushMatrix():
translate(x1,y1)
rotate(fs1)
stroke(st1)
equilateral(0, 0, fs1)
with pushMatrix():
translate(x2,y2)
rotate(fs2)
stroke(st2)
equilateral(0, 0, fs2)
```
----
![s110](s110/s110.gif)
110: [code](https://github.com/villares/sketch-a-day/tree/master/s110) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Just added some rotations to mess things up. It's "wrong", but I like it!
```python
rotate(fs0)
stroke(st0)
equilateral(x0, y0, fs0)
stroke(st1)
rotate(fs1)
equilateral(x1, y1, fs1)
stroke(st2)
rotate(fs2)
equilateral(x2, y2, fs2)
```
----
![s109](s109/s109.gif)
109: [code](https://github.com/villares/sketch-a-day/tree/master/s109) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
```python
colorMode(HSB)
...
C = color(map(final_size,-63 , 63, 0, 255), 255, 255)
```
----
![s108](s108/s108.gif)
108: [code](https://github.com/villares/sketch-a-day/tree/master/s108) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
```python
colorMode(HSB)
...
C = color(map(abs(final_size), 0, 63, 0, 255), 255, 255)
```
----
![s107](s107/s107.gif)
107: [code](https://github.com/villares/sketch-a-day/tree/master/s107) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Inverting odd rows
```python
v = spac_size * 1.5
h = spac_size * sqrt(3)
for ix in range(-1, grid_elem + 1):
for iy in range(-1, grid_elem + 1):
if iy % 2:
x = ix * h + h / 4
es = elem_size
else:
x = ix * h - h / 4
es = -elem_size
y = iy * v
for i in range(3):
final_size = es * (i + 0.5)
C = map(final_size, 0, 63, 0, 255)
oX = rand_posi * random(-1, 1)
oY = rand_posi * random(-1, 1)
ELEMENTS.append((C, x + oX, y + oY, final_size))
```
----
![s106](s106/s106.gif)
106: [code](https://github.com/villares/sketch-a-day/tree/master/s106) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Lazy triangles
```python
def equilateral(x, y, r):
with pushMatrix():
translate(x, y)
triangle(-0.866 * r, -0.5 * r,
0.866 * r, -0.5 * r,
0.000 * r, 1.0 * r)
# I know... 0 * r and 1 * r...
```
----
![s105](s105/s105.gif)
105: [code](https://github.com/villares/sketch-a-day/tree/master/s105) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Layers now have different "base" sizes (0.5, 1.5 and 2.5 times base size). Removed lines for now.
----
![s104](s104/s104.gif)
104: [code](https://github.com/villares/sketch-a-day/tree/master/s104) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Back to stroke variation
----
![s103](s103/s103.gif)
103: [code](https://github.com/villares/sketch-a-day/tree/master/s103) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Layers but only black strokes
```python
spac_size = width / (grid_elem + 1)
v = spac_size * 1.5
h = spac_size * sqrt(3)
for ix in range(-1, grid_elem + 1):
for iy in range(-1, grid_elem + 1):
if iy % 2:
x = ix * h + h / 4
else:
x = ix * h - h / 4
y = iy * v
for i in range(3):
final_size = elem_size + rand_size * random(-1, 1)
ELEMENTS.append((x, y, final_size))
# three layers of elements
for i in range(3):
offsetX = rand_posi * random(-1, 1)
offsetY = rand_posi * random(-1, 1)
for elem in ELEMENTS[i::3]:
x, y, es = elem
ellipse(x + offsetX, y + offsetY, es, es)
for _ in range(grid_elem):
x1, y1, es1 = rnd_choice(ELEMENTS)
x2, y2, es2 = rnd_choice(ELEMENTS)
line(x1, y1, x2, y2)
```
----
![s102](s102/s102.gif)
102: [code](https://github.com/villares/sketch-a-day/tree/master/s102) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
```python
spac_size = width / (grid_elem + 1)
v = spac_size * 1.5
h = spac_size * sqrt(3)
for ix in range(-1, grid_elem + 1):
for iy in range(-1, grid_elem + 1):
if iy % 2:
x = ix * h + h / 4
else:
x = ix * h - h / 4
y = iy * v
final_size = elem_size + rand_size * random(-1, 1)
offsetX = rand_posi * random(-1, 1)
offsetY = rand_posi * random(-1, 1)
C = map(final_size, 0, 63, 0, 255)
ELEMENTS.append((C,
x + offsetX,
y + offsetY,
final_size
))
for elem in ELEMENTS:
stroke1, x1, y1, es1 = elem
ellipse(x1, y1, es1, es1)
for _ in range(grid_elem):
stroke1, x1, y1, es1 = rnd_choice(ELEMENTS)
stroke2, x2, y2, es2 = rnd_choice(ELEMENTS)
stroke(stroke2)
line(x1, y1, x2, y2)
```
----
![s101](s101/s101.gif)
101: [code](https://github.com/villares/sketch-a-day/tree/master/s101) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
```python
for _ in range(grid_elem * 2):
stroke1, x1, y1, es1 = rnd_choice(ELEMENTS)
stroke(stroke1)
ellipse(x1, y1, es1, es1)
stroke2, x2, y2, es2 = rnd_choice(ELEMENTS)
stroke(stroke2)
# line
ellipse(x2, y2, es2, es2)
line(x1, y1, x2, y2)
```
----
![s100](s100/s100.gif)
100: [code](https://github.com/villares/sketch-a-day/tree/master/s100) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
```python
spac_size = int(width / (grid_elem + 1))
for _ in range(2):
for x in range(spac_size / 2, width, spac_size):
for y in range(spac_size / 2, width, spac_size):
final_size = elem_size + rand_size * random(-1, 1)
offsetX = rand_posi * random(-1, 1)
offsetY = rand_posi * random(-1, 1)
C = map(final_size, 0, 63, 0, 255)
ELEMENTS.append((C,
x + offsetX,
y + offsetY,
final_size
))
for stroke_c, x, y, el_size in ELEMENTS:
stroke(stroke_c)
ellipse(x, y, el_size, el_size)
for _ in range(grid_elem):
stroke_c, x1, y1, _ = rnd_choice(ELEMENTS)
________, x2, y2, _ = rnd_choice(ELEMENTS)
stroke(stroke_c)
line(x1, y1, x2, y2)
```
----
![s099](s099/s099.gif)
099: [code](https://github.com/villares/sketch-a-day/tree/master/s099) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
```python
spac_size = int(width / (grid_elem + 1))
for x in range(spac_size / 2, width, spac_size):
for y in range(spac_size / 2, width, spac_size):
final_size = elem_size + rand_size * random(-1, 1)
offsetX = rand_posi * random(-1, 1)
offsetY = rand_posi * random(-1, 1)
GREY = map(final_size, 0, 63, 0, 255)
stroke(GREY)
ellipse(x + offsetX, # desenha um círculo
y + offsetY,
final_size,
final_size)
```
----
![s098](s098/s098.gif)
098: [code](https://github.com/villares/sketch-a-day/tree/master/s098) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
```python
spac_size = int(width / (grid_elem + 1))
for x in range(spac_size / 2, width, spac_size):
for y in range(spac_size / 2, width, spac_size):
square_size = elem_size + rand_size * random(-1, 1)
offsetX = rand_posi * random(-1, 1)
offsetY = rand_posi * random(-1, 1)
HUE = map(offsetX + offsetY, -128, 127, 0, 255)
SAT = map(square_size, 0, 63, 0, 255)
fill(HUE, SAT, 255, 200)
rect(x + offsetX, # desenha um quadrado
y + offsetY,
square_size,
square_size)
```
----
![s097](s097/s097.gif)
097: [code](https://github.com/villares/sketch-a-day/tree/master/s097) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
```python
spac_size = int(width / (grid_elem + 1))
for x in range(spac_size / 2, width, spac_size):
for y in range(spac_size / 2, width, spac_size):
# sorteia um tamanho (se o rand_size > 0)
square_size = elem_size + rand_size * random(-1, 1)
rect(x + rand_posi * random(-1, 1), # desenha um quadrado
y + rand_posi * random(-1, 1),
square_size,
square_size)
```
----
![s096](s096/s096.gif)
096: [code](https://github.com/villares/sketch-a-day/tree/master/s096) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
More 'Inputs' helper changes (WASD & arrows for sliders). New GIF export helper actually works now!
More lone nodes and edge creation changes...
----
![s095](s095/s095.gif)
095: [code](https://github.com/villares/sketch-a-day/tree/master/s095) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Complete rewrite of the 'Inputs' helper
```
# Ask user for Arduino port, uses slider if none is selected, use on `setup()`
global input
input = Input(Arduino)
# on `draw()`read analog pins 1, 2, 3, 4 or sliders
pot1 = input.analog(1)
pot2 = input.analog(2)
pot3 = input.analog(3)
pot4 = input.analog(4)
tilt = input.digital(13) # also triggered by [space bar]
# When on sliders, this draws them and checks mouse dragging / keystrokes
input.update()
```
----
![s094](s094/s094.gif)
094: [code](https://github.com/villares/sketch-a-day/tree/master/s094) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Connection 'rate' can be less than 1, prevents less than 2 nodes
----
![s093](s093/s093.gif)
093: [code](https://github.com/villares/sketch-a-day/tree/master/s093) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Nodes without connection are now removed
```
COM_ARESTAS = set() # para guardar pontos com aresta
for aresta in Aresta.ARESTAS:
if (aresta.p1 not in Ponto.SET) or (aresta.p2 not in Ponto.SET)\
or (aresta.p1 is aresta.p2): # arestas degeneradas
Aresta.ARESTAS.remove(aresta) # remove a aresta
else: # senão, tudo OK!
aresta.desenha() # desenha a linha
aresta.puxa_empurra(TAM_ARESTA) # altera a velocidade dos pontos
# Adiciona ao conjunto de pontos com aresta
COM_ARESTAS.update([aresta.p1, aresta.p2])
Ponto.SET = COM_ARESTAS # isto remove pontos sem nenhuma aresta
```
----
![s092](s092/s092.gif)
092: [code](https://github.com/villares/sketch-a-day/tree/master/s092) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Dynamic change of connection rate
```
if NUM_PONTOS * NUM_CONNECT > len(Aresta.ARESTAS):
rnd_choice(list(Ponto.SET)).cria_arestas()
elif NUM_PONTOS * NUM_CONNECT < len(Aresta.ARESTAS):
Aresta.ARESTAS.remove(rnd_choice(Aresta.ARESTAS))
```
----
![s091](s091/s091.gif)
091: [code](https://github.com/villares/sketch-a-day/tree/master/s091) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Major rethink of my Arduino/Firmata code. I can now choose on start between sliders and potentiometers.
----
![s090](s090/s090.gif)
090: [code](https://github.com/villares/sketch-a-day/tree/master/s090) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Opaque strokes, no fill, randomized colours by column.
----
![s089](s089/s089.gif)
089: [code](https://github.com/villares/sketch-a-day/tree/master/s089) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
X stroke now is translucent and grid elements have random colour inside grids.
----
![s088](s088/s088.gif)
088: [code](https://github.com/villares/sketch-a-day/tree/master/s088) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Filled rects, ellipses and losangles (without sktroke) and Xs
----
![s087](s087/s087.gif)
087: [code](https://github.com/villares/sketch-a-day/tree/master/s087) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
No fill again, less colours. Variable/random number of elements per grid.
----
![s086](s086/s086.gif)
086: [code](https://github.com/villares/sketch-a-day/tree/master/s086) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Translucent fill & some stroke weight
----
![s085](s085/s085.gif)
085: [code](https://github.com/villares/sketch-a-day/tree/master/s085) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Some colour, and some crazy meddling with the Slider class...
----
![s084](s084/s084.gif)
084: [code](https://github.com/villares/sketch-a-day/tree/master/s084) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Make the grid's position/origin align based on the spacing size (super- grid)
----
![s083](s083/s083.gif)
083: [code](https://github.com/villares/sketch-a-day/tree/master/s083) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Xs and rotated rectangles
----
![s082](s082/s082.gif)
082: [code](https://github.com/villares/sketch-a-day/tree/master/s082) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Squares and ellipses
----
![s081](s081/s081.gif)
081: [code](https://github.com/villares/sketch-a-day/tree/master/s081) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Let's try some grids
----
![s080](s080/s080.gif)
080: [code](https://github.com/villares/sketch-a-day/tree/master/s080) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
More arrows (black and white alternate by generation)
----
![s079](s079/s079.gif)
079: [code](https://github.com/villares/sketch-a-day/tree/master/s079) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Arrows (right black, left white)
----
![s078](s078/s078.gif)
078: [code](https://github.com/villares/sketch-a-day/tree/master/s078) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Color
----
![s077](s077/s077.gif)
077: [code](https://github.com/villares/sketch-a-day/tree/master/s077) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Random branch reduction is now less simmetric, and random seed changes on depth change.
----
![s076](s076/s076.gif)
076: [code](https://github.com/villares/sketch-a-day/tree/master/s076) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Stroke weight and some transparency
----
![s075](s075/s075.gif)
075: [code](https://github.com/villares/sketch-a-day/tree/master/s075) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
... and slightly different parameters and recursion level control instead of lenght
----
![s074](s074/s074.gif)
074: [code](https://github.com/villares/sketch-a-day/tree/master/s074) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Adaptomg Shiffmans recusive Tree, with sliders or Pots...
----
![s073](s073/s073.gif)
073: [code](https://github.com/villares/sketch-a-day/tree/master/s073) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
The code remains ugly :(
----
![s072](s072/s072.gif)
072: [code](https://github.com/villares/sketch-a-day/tree/master/s072) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Let's mix some arrows?
----
![s071](s071/s071.gif)
071: [code](https://github.com/villares/sketch-a-day/tree/master/s071) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Thicker and with a saturation slider (no more scale offset)
----
![s070](s070/s070.gif)
070: [code](https://github.com/villares/sketch-a-day/tree/master/s070) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Thicker and with a saturation slider (no more scale offset)
----
![s069](s069/s069.gif)
069: [code](https://github.com/villares/sketch-a-day/tree/master/s069) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Added rotation.
----
![s068](s068/s068.gif)
068: [code](https://github.com/villares/sketch-a-day/tree/master/s068) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
... and with sliders (by [Peter Farell](https://github.com/hackingmath/python-sliders))
----
![s067](s067/s067.gif)
067: [code](https://github.com/villares/sketch-a-day/tree/master/s067) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Something else.
----
![s066](s066/s066.gif)
066: [code](https://github.com/villares/sketch-a-day/tree/master/s066) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Arrow grid networks can be sized and placed...
----
![s065](s065/s065.gif)
065: [code](https://github.com/villares/sketch-a-day/tree/master/s065) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Arrow grid networks are now objects...
----
![s064](s064/s064.gif)
064: [code](https://github.com/villares/sketch-a-day/tree/master/s064) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Revisiting yet an older graph, adding arrows...
----
![s063](s063/s063.gif)
063: [code](https://github.com/villares/sketch-a-day/tree/master/s063) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Revisiting an older graph adding arrows...
----
![s062](s062/s062.gif)
062: [code](https://github.com/villares/sketch-a-day/tree/master/s062) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
`+` and `-` keys control the distange/range of targes in 0.5 * SPACING increments
----
![s061](s061/s061.gif)
061: [code](https://github.com/villares/sketch-a-day/tree/master/s061) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Sometimes we have multiple arrows now out of each node...But I reduced the range (distance) they can point to.
----
![s060](s060/s060.gif)
060: [code](https://github.com/villares/sketch-a-day/tree/master/s060) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Complete Object Oriented refactor...
----
![s059](s059/s059.gif)
059: [code](https://github.com/villares/sketch-a-day/tree/master/s059) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Back to a list of points, now every point of the grid has a node. Limited points_to random each.
----
![s058](s058/s058.gif)
058: [code](https://github.com/villares/sketch-a-day/tree/master/s058) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Now with some deepcopy of changeable imutable namedtuples (containing mutable lists), and some lerp()
----
![s057](s057/s057.gif)
057: [code](https://github.com/villares/sketch-a-day/tree/master/s057) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Revisited 54 and now I'm re-selecting random points_to nodes...
----
![s056](s056/s056.gif)
056: [code](https://github.com/villares/sketch-a-day/tree/master/s056) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Arrow grid moving in HSB colour space
----
![s055](s055/s055.png)
055: [code](https://github.com/villares/sketch-a-day/tree/master/s055) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Grid revisited
----
![s054](s054/s054.gif)
054: [code](https://github.com/villares/sketch-a-day/tree/master/s054) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
New arrows! With a "Tail" parameter...
----
![s053](s053/s053.png)
053: [code](https://github.com/villares/sketch-a-day/tree/master/s053) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Big invisible refactor (no more point-grid to select from, now a list of possible X and Y positons to choose).
On the visible side, fewer elements, and non-pointing elements redrawn in red on top.
----
![s052](s052/s052.png)
052: [code](https://github.com/villares/sketch-a-day/tree/master/s052) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
White lines first, black arrows on top.
----
![s051](s051/s051.gif)
051: [code](https://github.com/villares/sketch-a-day/tree/master/s051) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Points now on a grid.
----
![s050](s050/s050.gif)
050: [code](https://github.com/villares/sketch-a-day/tree/master/s050) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Arrows now...
----
![s049](s049/s049.gif)
049: [code](https://github.com/villares/sketch-a-day/tree/master/s049) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Yet more graphs
----
![s048](s048/s048.gif)
048: [code](https://github.com/villares/sketch-a-day/tree/master/s048) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Yet more graphs
----
![s047](s047/s047.gif)
047: [code](https://github.com/villares/sketch-a-day/tree/master/s047) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Yet more graphs
----
![s046](s046/s046.png)
046: [code](https://github.com/villares/sketch-a-day/tree/master/s046) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Yet more graphs
----
![s045](s045/s045.gif)
045: [code](https://github.com/villares/sketch-a-day/tree/master/s045) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Yet more graphs
----
![s044](s044/s044.gif)
044: [code](https://github.com/villares/sketch-a-day/tree/master/s044) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
More graphs
----
![s043](s043/s043.png)
043: [code](https://github.com/villares/sketch-a-day/tree/master/s043) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
More graphs
----
![s042](s042/s042.gif)
042: [code](https://github.com/villares/sketch-a-day/tree/master/s042) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Yet another interactive recursive thingy, the image on the right is shown with a key pressed
----
![s041](s041/s041.png)
041: [code](https://github.com/villares/sketch-a-day/tree/master/s041) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Yet another interactive recursive thingy, the image on the right is shown with a key pressed
----
![040](sketch_180209a/sketch_180209a.png)
![040](sketch_180209a/sketch_180209a_2.png)
040: [sketch_180209a](https://github.com/villares/sketch-a-day/tree/master/sketch_180209a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
More recursion
----
![039](sketch_180208e/sketch_180208e.png)
039: [sketch_180208e](https://github.com/villares/sketch-a-day/tree/master/sketch_180208e) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Manoloide inspired recursion
----
![038](sketch_180208d/sketch_180208d.png)
038: [sketch_180208d](https://github.com/villares/sketch-a-day/tree/master/sketch_180208d) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Saskia Freeke inspired grid
----
![037](sketch_180206a/sketch_180206a.gif)
037: [sketch_180206b](https://github.com/villares/sketch-a-day/tree/master/sketch_180206a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
"Carnahacking is near!"
----
![036](sketch_180205b/sketch_180205b.png)
036: [sketch_180205b](https://github.com/villares/sketch-a-day/tree/master/sketch_180205b) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Added some mouse disturbance
----
![035](sketch_180204b/sketch_180204b.gif)
035: [sketch_180204b](https://github.com/villares/sketch-a-day/tree/master/sketch_180204b) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Preparing for "Carnahacking"
----
![034](sketch_180203c/sketch_180203c.gif)
034: [sketch_180203c](https://github.com/villares/sketch-a-day/tree/master/sketch_180203c) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Like 33 but again with "w squared" circles
----
![033](sketch_180202c/sketch_180202c.png)
033: [sketch_180202c](https://github.com/villares/sketch-a-day/tree/master/sketch_180202c) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Like 32 but again with lines
----
![032](sketch_180201c/sketch_180201c.gif)
032: [sketch_180201c](https://github.com/villares/sketch-a-day/tree/master/sketch_180201c) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Like 29 but with moving points after the gesture is done
----
![031](sketch_180131c/sketch_180131c.gif)
031: [sketch_180130c](https://github.com/villares/sketch-a-day/tree/master/sketch_180131c) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Like 29 but with moving points after the gesture is done
----
![030](sketch_180130c/sketch_180130c.png)
030: [sketch_180130c](https://github.com/villares/sketch-a-day/tree/master/sketch_180130c) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Like 29 but with 3D and PeasyCam orbit...
----
![29c](sketch_180129c/sketch_180129c.gif)
029: [sketch_180129c](https://github.com/villares/sketch-a-day/tree/master/sketch_180129c) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Like 27 but with circles
----
![28c](sketch_180128c/sketch_180128c.png)
028: [sketch_180128c](https://github.com/villares/sketch-a-day/tree/master/sketch_180128c) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Like 27 but on grayscale
----
![27c](sketch_180127c/sketch_180127c.png)
027: [sketch_180127c](https://github.com/villares/sketch-a-day/tree/master/sketch_180127c) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)][YouTube](https://www.youtube.com/watch?v=A-rqkru79Dw)
Saving a list of points to animate colour... Mouse speed changes recorded colour & strokeWeight()
----
![26](sketch_180126c/sketch_180126c.png)
026: [sketch_180126c](https://github.com/villares/sketch-a-day/tree/master/sketch_180126c) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Mouse speed changing colour & strokeWeight()
----
![25](sketch_180125c/sketch_180125c.png)
025c: [sketch_180125b](https://github.com/villares/sketch-a-day/tree/master/sketch_180125c) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Mouse speed changing strokeWeight()
----
![24](sketch_180124b/sketch_180124b.png)
024b: [sketch_180124b](https://github.com/villares/sketch-a-day/tree/master/sketch_180124b) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] Maybe tomorrow I'll try adding some sliders & movement to this graph ? [nah...]
----
![23](sketch_180123b/sketch_180123b.gif)
023b: [sketch_180123b](https://github.com/villares/sketch-a-day/tree/master/sketch_180123b) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] Farrel's Sliders adding random displacement
----
022: missed :(
----
![21b](sketch_180121b/sketch_180121b.gif)
021b: [sketch_180121b](https://github.com/villares/sketch-a-day/tree/master/sketch_180121b) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Playing with Peter "[Hacking Math Class](http://twitter.com/hackingmath)" Farrel's Sliders!
----
![20b](sketch_180120b/sketch_180120b.gif)
020b: [sketch_180120b](https://github.com/villares/sketch-a-day/tree/master/sketch_180120b) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
I was stuck on my DBN conversion sketch 20a, so this HSB shape play is 20b...
![20a](sketch_180120a/sketch_180120a.png)
020a: [sketch_180120a](https://github.com/villares/sketch-a-day/tree/master/sketch_180120a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]
Refactored the code generation, removed most of the repeated vertices... C D E G O R not nice yet…
----
![19a](sketch_180119a/sketch_180119a.png)
019: [sketch_180119a](https://github.com/villares/sketch-a-day/tree/master/sketch_180119a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] DBN Letters: Now working on a new approach, generating vertex/Shape code, not there yet...
----
![18a](sketch_180118a/sketch_180118a.png)
018: [sketch_180118a](https://github.com/villares/sketch-a-day/tree/master/sketch_180118a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] DBN Color font? Nah…
----
![17a](sketch_180117a/sketch_180117a.png)
017: [sketch_180117a](https://github.com/villares/sketch-a-day/tree/master/sketch_180117a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] John Maeda's `dbnletters.dbn` code from Design by Numbers on Processing Python Mode
----
![16a](sketch_180116a/sketch_180116a.png)
016: [16a](https://github.com/villares/sketch-a-day/tree/master/sketch_180116a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] Converting some Typography code from Design by Numbers, almost there!
----
![15a](sketch_180115a/sketch_180115a.png)
015: [sketch_180115a](https://github.com/villares/sketch-a-day/tree/master/sketch_180115a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] Converting some Typography code from Design by Numbers, first trials
----
![14a](sketch_180114a/sketch_180114a.png)
014: [sketch_180114a](https://github.com/villares/sketch-a-day/tree/master/sketch_180114a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] Another 3D Graph
----
![13a](sketch_180113a/sketch_180113a.png)
013: [s180113](https://github.com/villares/sketch-a-day/tree/master/sketch_180113a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] 3D Graph
----
![s180112](s180112/s180112.png)
012: [s180112](https://github.com/villares/sketch-a-day/tree/master/s180112) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] Another Graph Take
----
![s180111](s180111/s180111.png)
011: [s180111](https://github.com/villares/sketch-a-day/tree/master/s180111) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] A Graph Take
----
![s180110](s180110/s180110.png)
010: [s180110](https://github.com/villares/sketch-a-day/tree/master/s180110) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] More Manoloide inspired balls [PNG](s180110/s180110.png) (derived from a [sketch](https://gist.github.com/manoloide/16ea9e1d68c6ba1700fcb008fd38aab0) by [Manuel Gamboa Naon](http://manoloide.com))
----
![GIF](s180109/s180109.gif)
009: [s180109](https://github.com/villares/sketch-a-day/tree/master/s180109) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] Balls for Manoloide [GIF](s180109/s180109.gif) (derived from a [sketch](https://gist.github.com/manoloide/16ea9e1d68c6ba1700fcb008fd38aab0) by [Manuel Gamboa Naon](http://manoloide.com))
----
![GIF](s180108/s180108.gif)
008: [s180108](https://github.com/villares/sketch-a-day/tree/master/s180108) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] Grid of Platonic Solids in Python Mode [GIF](s180108/s180108.gif)
----
![GIF](s180107/s180107.gif)
007: [s180107](https://github.com/villares/sketch-a-day/tree/master/s180107) [[Processing Java](https://www.processing.org)] Another grid of Platonic Solids in Java Mode [GIF](s180107/s180107.gif)
----
![GIF](s180106/s180106.gif)
006: [s180106](https://github.com/villares/sketch-a-day/tree/master/s180106) [[Processing Java](https://www.processing.org)] Grid of Platonic Solids in Java Mode [GIF](s180106/s180106.gif)
----
005: [s180105](https://github.com/villares/sketch-a-day/tree/master/s180105) [[p5js](https://www.p5js.org)] Line Tetrahedrons in p5*js - [interactive](https://villares.github.io/sketch-a-day/s180105/s180105)
----
![GIF](s180104/s180104.gif)
004: [s180104](https://github.com/villares/sketch-a-day/tree/master/s180104) [[Processing Java](https://www.processing.org)] Tetrahedrons in Java Mode- [GIF](https://github.com/villares/sketch-a-day/tree/master/s180104/s180104.gif)
----
![GIF](s180103/s180103.gif)
003: [s180103](https://github.com/villares/sketch-a-day/tree/master/s180103) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] Tetrahedrons Python Mode- [GIF](https://github.com/villares/sketch-a-day/tree/master/s180103/s180103.gif)
----
002: [s180102](https://github.com/villares/sketch-a-day/tree/master/s180102) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] Many Stars 3D - [YouTube](https://www.youtube.com/watch?v=QmsthW60iBY)
----
001: [s180101](https://github.com/villares/sketch-a-day/tree/master/s180101)[[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] Many Stars - [YouTube](https://www.youtube.com/watch?v=gKWBfghDV_w) (inspired by my own [p5js Xmas & New Year card code](https://github.com/villares/p5js-play/tree/master/newYearStars))