---- # sketch-a-day #### one visual idea a day Hi! I'm [Alexandre Villares](https://abav.lugaralgum.com), welcome! I try to make one small program (*sketch*) a day. I usually put the code here: [github.com/villares/sketch-a-day](https://github.com/villares/sketch-a-day) Get updates from my sort-of-weekly newsletter: [[sketch-mail](https://abav.lugaralgum.com/sketch-mail)] Feel free to [contact me](http://contato.lugaralgum.com) regarding licenses to use my work, teaching opportunities, consulting or other projects. You may also support my artistic work, open source teaching resources and research with [donations](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=HCGAKACDMVNV2) :) --- ## [2018](2018.md) --- ## 2019 --- ![sketch_190628a](2019/sketch_190628a/sketch_190628a.png) [sketch_190628a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190628a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] - Number of possible triangles on a 3x3 grid: 76 - Number of combinations of 2 triangles (start, end): 2850 --- ![sketch_190627b](2019/sketch_190627b/sketch_190627b.gif) [sketch_190627b](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190627b) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190626a](2019/sketch_190626a/sketch_190626a.gif) [sketch_190626a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190626a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190625a](2019/sketch_190625a/sketch_190625a.gif) [sketch_190625a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190625a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190624a](2019/sketch_190624a/sketch_190624a.gif) [sketch_190624a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190624a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] - the usual 3D transformation --- ![sketch_190623a](2019/sketch_190623a/sketch_190623a.png) [sketch_190623a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190623a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190622a](2019/sketch_190622a/sketch_190622a.png) [sketch_190622a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190622a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190621a](2019/sketch_190621a/0129.png) [sketch_190621a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190621a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190620a](2019/sketch_190620a/sketch_190620a.gif) [sketch_190620a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190620a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190619a](2019/sketch_190619a/sketch_190619a.png) [sketch_190619a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190619a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190618a](2019/sketch_190618a/sketch_190618a.png) [sketch_190618a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190618a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190617a](2019/sketch_190617a/sketch_190617a.png) [sketch_190617a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190617a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] - [Movie](2019/sketch_190617a/processing-movie.mp4) - Changed the radius inversion rule for a static drawing (the moving version would make the radius zero on aligned vertices). - Some aligned vertices visually disappear so different point circuits still produce equivalent results. --- ![sketch_190616a](2019/sketch_190616a/sketch_190616a.gif) [sketch_190616a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190616a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] - I tried to discard point circuits that are rotated versions of each other (and so visually equivalent) --- ![sketch_190615a](2019/sketch_190615a/sketch_190615a.gif) [sketch_190615a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190615a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] - Adding some combinatorics... first try. - 3312 *non-crossing* poly permutations with 6 points on a 3 x 3 grid --- ![sketch_190614a](2019/sketch_190614a/sketch_190614a.gif) [sketch_190614a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190614a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] - Non-intersecting polys (as end-states) --- ![sketch_190613a](2019/sketch_190613a/sketch_190613a.gif) [sketch_190613a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190613a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] - This version defines the radii acording to the area formed by the vertex point and its neighbours. --- ![sketch_190612a](2019/sketch_190612a/sketch_190612a.gif) [sketch_190612a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190612a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] - Fixed a bug that prevented drawing the arc-tangents with vertically aligned points! - Testing Video Export library --- ![sketch_190611a](2019/sketch_190611a/sketch_190611a.gif) [sketch_190611a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190612a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] - Changing vertex type/radius --- ![sketch_190610a](2019/sketch_190610a/sketch_190610a.gif) [sketch_190610a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190610a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] - All points now have a third field (for radius or type). That broke almost everything, and I think I fixed most of it. Including a naughty fix for the naughty vertex ordering method (I'm storing the third field in a dict, and then getting it back after sorting, with a disct compreheension!) --- ![sketch_190609a](2019/sketch_190609a/sketch_190609a.png) [sketch_190609a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190609a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] - lots of refactoring - round corner proof of concept --- ![sketch_190608a](2019/sketch_190608a/sketch_190608a.png) [sketch_190608a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190608a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] Back to the Poly Editor... --- ![sketch_190607a](2019/sketch_190607a/sketch_190607a.png) [sketch_190607a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190607a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] Some ideas for "Silly Type Framework" --- ![sketch_190606a](2019/sketch_190606a/sketch_190606a.png) [sketch_190606a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190606a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] My arc-arc tangent augmented poly now can take negative radii (and it is Bezier based, so it now is a PShape and can be filled) --- ![sketch_190605a](2019/sketch_190605a/sketch_190605a.png) [sketch_190605a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190605a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] Using new bars, with much better fill, thanks to my Bezier arc-approximation. - Number of possible lines: 12 - Number of combinations: 220 --- ![sketch_190604a](2019/sketch_190604a/sketch_190604a.png) [sketch_190604a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190604a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] Did some cleanup of yesterday's code and updated my polygon approximation of an arc, to use it with the filleted and arc-augmented polylines. --- ![sketch_190603a](2019/sketch_190603a/sketch_190603a.jpg) [sketch_190603a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190602a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] After many months, I took again my Bezier arc-approximation studies and finished integrating it with two "polylines" ideas: - A filleted polygon - An arc-augmented polygon (imagine round pegs, of arbitrary radius, on every vertex of a polygon, and a line that goes round them) --- ![sketch_190602a](2019/sketch_190602a/sketch_190602a.png) [sketch_190602a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190602a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] - Number of possible triangles: 76 - Number of combinations of 2 triangles: 2850 - Cols: 75 Rows: 38 Visible grid: 2850 --- ![sketch_190601a](2019/sketch_190601a/sketch_190601a.gif) [sketch_190601a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190601a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] - Number of possible triangles: 84 (including "colapsed triangles" with colinear points) - 2 triangles the number of combinations is: 3486 --- ![sketch_190531a](2019/sketch_190531a/sketch_190531a.gif) [sketch_190531a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190531a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] - Number of possible triangles: 84 - Taking 3 points twice the number of combinations is: 3486 - But I'm drawing "bars" using just 2 of the 3 points, so I have lots of repeated "combos" on this one - Cols: 38 Rows: 31 Visible grid: 1178 --- ![sketch_190530b](2019/sketch_190530b/sketch_190530b.gif) [sketch_190530b](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190530a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] - Number of possible lines on a 3x3: 40 - Number of combinations: 91390 - Cols: 19 Rows: 10 Visible grid: 190 --- ![sketch_190529a](https://raw.githubusercontent.com/villares/sketch-a-day/master/2019/sketch_190529a/sketch_190529a.gif) ![sketch_190529b](https://raw.githubusercontent.com/villares/sketch-a-day/master/2019/sketch_190529a/sketch_190529b.gif) [sketch_190529a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190529a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] - Number of bars on 2x2 grid: 12 - Number of permutations (taking 3 bars): 1320 - Cols: 20 Rows: 11 Visible grid: 220 (x6) --- ![sketch_190528a](2019/sketch_190528a/0748.png) ![sketch_190528a](2019/sketch_190528a/0757.png) [sketch_190528a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190528a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] - Number of long lines on a 4x4 grid: 62 - Number of permutations (taking 2 lines): 3782 - Cols: 61 Rows: 62 Visible grid: 3782 --- ![sketch_190527a](2019/sketch_190527a/sketch_190527a.gif) [sketch_190527a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190527a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] - Number of possible long lines on 4x4 grid: 22 - Number of combinations: 7315 - Cols: 133 Lines: 55 Visible grid: 7315 - Variations: isolated/merged color/b&w ordered/shuffled --- ![sketch_190526a](2019/sketch_190526a/sketch_190526a.png) [sketch_190526a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190526a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] - Number of lines on a 3x3 grid: 24 - Number of combinations: 10626 - Cols: 68 Lines: 45 Visible grid: 3060 (scrolling) --- ![sketch_190525a](2019/sketch_190525a/sketch_190525a.png) [sketch_190525a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190525a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190524a](2019/sketch_190524a/sketch_190524a.png) [sketch_190524a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190524a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190523a](2019/sketch_190523a/sketch_190523a-3060.gif) [sketch_190523a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190523a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190522a](2019/sketch_190522a/sketch_190522a.gif) [sketch_190522a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190522a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190521a](2019/sketch_190521a/0031.png) [sketch_190521a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190521a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] Shuffle of 125970 combinations... --- ![sketch_190520a](2019/sketch_190520a/sketch_190520a-15504.gif) [sketch_190520a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190520a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] More experiments (check the code folder for other GIFs) --- ![sketch_190519a](2019/sketch_190519a/sketch_190519a.gif) [sketch_190519a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190519a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190518a](2019/sketch_190518a/sketch_190518a.png) [sketch_190518a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190518a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190517b](2019/sketch_190517b/sketch_190517b.gif) [sketch_190517b](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190517b) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] Also... internation day against homophobia, transphobia and biphobia. --- ![sketch_190517a](2019/sketch_190517a/sketch_190517a.gif) [sketch_190517a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190517a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] 56 combinations of 8 points, 3 at a time (and some 8 possible radius to the enclonsing rounded polys) --- ![sketch_190516a](2019/sketch_190516a/sketch_190516a.gif) [sketch_190516a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190516a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] Only 3 points now --- ![sketch_190515a](2019/sketch_190515a/sketch_190515a.gif) [sketch_190515a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190515a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] A grid based on sketch_190512a/ sketch_190401b --- ![sketch_190514b](2019/sketch_190514b/sketch_190514b.gif) [sketch_190514b](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190514b) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] Another take, thinking of color separation for printing ;) --- ![sketch_190513a](2019/sketch_190513a/sketch_190513a.gif) [sketch_190513a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190513a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] A rework of sketch_190125a --- ![sketch_190512a](2019/sketch_190512a/s190512a.gif) [sketch_190512a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190512a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] A rework of sketch_190401b --- ![sketch_190511b](2019/sketch_190511b/sketch_190511b.png) [sketch_190511b](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190511b) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190510a](2019/sketch_190510a/sketch_190510a.png) [sketch_190510a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190510a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190509a](2019/sketch_190509a/sketch_190509a.gif) [sketch_190509a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190509a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] Ugly but works :) --- ![sketch_190508a](2019/sketch_190508a/sketch_190508a.gif) sketch_190508a [[code for Py.Processing](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190508a)] Back unfolding solids... 2D faces missing. --- [![sketch_190507a](2019/sketch_190507a/sketch_190507a.png)](https://abav.lugaralgum.com/sketch-a-day/2019/sketch_190507a/index.html) Using [pyp5js](https://github.com/berinhard/pyp5js)to run [on your browser](https://abav.lugaralgum.com/sketch-a-day/2019/sketch_190507a/index.html) sketch_190507a [[code for pyp5js](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190507a)] --- ![sketch_190506c](2019/sketch_190506c/sketch_190506c.gif) Old sketch tweaked to port tomorrow. --- ![sketch_190505a](2019/sketch_190505b/sketch_190505b.png) Using [pyp5js](https://github.com/berinhard/pyp5js) to run [on your browser](https://abav.lugaralgum.com/sketch-a-day/2019/sketch_190505b/index.html) sketch_190505a [[code for pyp5js](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190505b)] [[code for Py.Processing](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190505a)] --- ![sketch_190504a](2019/sketch_190504a/sketch_190504a.png) Using [pyp5js](https://github.com/berinhard/pyp5js)to run [on your browser](https://abav.lugaralgum.com/sketch-a-day/2019/sketch_190504a/index.html) sketch_190504a code:[pyp5js](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190504a) --- ![sketch_190503a](2019/sketch_190503a/sketch_190503a.png) [sketch_190503a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190503a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190502a](2019/sketch_190502a/sketch_190502a.gif) [sketch_190502a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190502a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190501a](2019/sketch_190501a/sketch_190501a.png) [sketch_190501a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190501a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190430b](2019/sketch_190430b/sketch_190430b.png) [sketch_190430b](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190430b) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190429b](2019/sketch_190429b/sketch_190429b.png) [sketch_190429b](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190429b) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190428b](2019/sketch_190428b/sketch_190428b.png) [sketch_190428b](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190428b) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] Mixing in my var_bar() circle/circle tangent shape --- ![sketch_190427b](2019/sketch_190427b/sketch_190427b.png) [sketch_190427b](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190427b) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] Now based on 4 quaternary digits (256 variations). Each digit can be 0, 1, 2, or 3. And zero means no shape drawn for that layer/position. Still influenced by @arjanvandermeij :) --- ![sketch_190426b](2019/sketch_190426b/sketch_190426b.gif) [sketch_190426b](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190426b) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190425b](2019/sketch_190425b/sketch_190425b.gif) [sketch_190425b](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190425b) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190424b](2019/sketch_190424b/sketch_190424b.png) [sketch_190424b](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190424b) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] Inspired by "trit" grids of balanced ternary digits from @arjanvandermeij (4 ternary digits -> 81 variations) --- ![sketch_190424a](2019/sketch_190424a/sketch_190424a.png) [sketch_190424a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190424a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190423a](2019/sketch_190423a/sketch_190423a.png) [sketch_190423a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190423a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] Now I drag any point, inclunding of holes, and remove points. TODO: Add points; Drag polys. --- ![sketch_190422a](2019/sketch_190422a/sketch_190422a.png) [sketch_190422a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190422a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] Object Oriented remake of the poly editor in progress, in order to have multiple polygons with multiple holes each. --- ![sketch_190421a](2019/sketch_190421a/sketch_190421a.png) [sketch_190421](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190420a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] This clean up and tweak of studies of Design By Numbers alphabet [designed by Peter Cho](https://twitter.com/johnmaeda/status/1120021496733347840) from last year will count as today's sketch :) Check out the other pieces, pixel and scaleable fonts I created here: http://github.com/villares/DesignByNumbers-alphabet --- ![sketch_190420a](2019/sketch_190420a/sketch_190420a.gif) [sketch_190420a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190420a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] Some refactoring and coordinate annotations that I'll use in my classes :) --- ![sketch_190419a](2019/sketch_190419a/sketch_190419a.gif) [sketch_190419a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190419a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] Press space-bar to order outer_pts clockwise, and inner_pts anticlockwise (counterclockwise, in the US) --- ![sketch_190418a](2019/sketch_190418a/sketch_190418a.png) [sketch_190418a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190418a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190417a](2019/sketch_190417a/sketch_190417a.png) [sketch_190417a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190417a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] Back to the editor... dragging points. --- ![sketch_190416a](2019/sketch_190416a/sketch_190416a.png) [sketch_190416a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190416a) [[Processing Java Mode](https://processing.org)] Very simple 3D example --- ![sketch_190415a](2019/sketch_190415a/sketch_190415a.png) [sketch_190415a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190415a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190414a](2019/sketch_190414a/sketch_190414a.gif) [sketch_190414a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190414a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] Let's unfold some simple extrudes --- ![sketch_190413b](2019/sketch_190413b/sketch_190413b.gif) [sketch_190413b](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190413b) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190412a](2019/sketch_190412a/sketch_190412a.gif) [sketch_190412a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190412a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190411a](2019/sketch_190411a/sketch_190411a.gif) [sketch_190411a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190411a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] Now we are talking! I've got the divided top right, brought back the tabs, and also found a bug on 190408a (and fixed it)... --- ![sketch_190410a](2019/sketch_190410a/sketch_190410a.png) [sketch_190410a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190410a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] major re-org, still broken... --- ![sketch_190409b](2019/sketch_190409b/sketch_190409b.png) [sketch_190409b](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190409b) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] Subdivided top! (not quite there yet...) --- ![sketch_190408a](2019/sketch_190408a/sketch_190408a.gif) [sketch_190408a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190408a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] With glue tabs! --- ![sketch_190407a](2019/sketch_190407a/sketch_190407a.gif) [sketch_190407a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190407a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] Now I can change the base proportions. --- ![sketch_190406a](2019/sketch_190406a/sketch_190406a.gif) [sketch_190406a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190406a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] First unfold version ready! --- ![sketch_190405a](2019/sketch_190405a/sketch_190405a.png) [sketch_190405a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190405a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] Almost done! --- ![sketch_190404a](2019/sketch_190404a/sketch_190404a.png) [sketch_190404a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190403a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] Study for a "Terrain box" a paper surface "unit". --- ![sketch_190403a](2019/sketch_190403a/sketch_190403a.gif) [sketch_190403a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190403a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190402a](2019/sketch_190402a/sketch_190402a.gif) [sketch_190402a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190402a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190401b](2019/sketch_190401b/sketch_190401b.gif) [sketch_190401b](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190401b) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190331a](2019/sketch_190331a/sketch_190331a.gif) [sketch_190331a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190331a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190330a](2019/sketch_190330a/sketch_190330a.gif) [sketch_190330a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190330a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190329a](2019/sketch_190329a/sketch_190329a.gif) [sketch_190329a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190329a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190328a](2019/sketch_190328a/sketch_190328a.png) [sketch_190328a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190328a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190327a](2019/sketch_190327a/sketch_190327a.png) [sketch_190327a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190327a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190326a](2019/sketch_190326a/sketch_190326a.gif) [sketch_190326a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190326a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190325a](2019/sketch_190325a/sketch_190325a.gif) [sketch_190325a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190325a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190324a](2019/sketch_190324a/sketch_190324a.gif) [sketch_190324a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190324a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] A retake of sketch_190207a + work from sketch_190321 :) Will stall sometimes... as there is an unsafe while loop selecting pointing nodes... (also present on 190323) --- ![sketch_190323a](2019/sketch_190323a/sketch_190323a.gif) [sketch_190323a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190323a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190322a](2019/sketch_190322a/sketch_190322a.gif) [sketch_190322a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190322a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190321b](2019/sketch_190321b/sketch_190321b.gif) [sketch_1903221b](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190321b) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190320a](2019/sketch_190320a/sketch_190320a.gif) [sketch_190320a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190320a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190319a](2019/sketch_190319a/sketch_190319a.png) [sketch_190319a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190319a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190318a](2019/sketch_190318a/sketch_190318a.png) [sketch_190318a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190318a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190317a](2019/sketch_190317a/sketch_190317a.gif) [sketch_190317a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190317a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190316a](2019/sketch_190316a/sketch_190316a.gif) [sketch_190316a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190316a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190315a](2019/sketch_190315a/sketch_190315a.gif) [sketch_190315a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190315a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190314a](2019/sketch_190314a/sketch_190314a.gif) [sketch_190314a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190314a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190313a](2019/sketch_190313a/sketch_190313a.gif) [sketch_190313a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190313a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190312a](2019/sketch_190312a/sketch_190312a.gif) [sketch_190312a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190312a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190311a](2019/sketch_190311a/sketch_190311a.gif) [sketch_190311a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190311a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190310a](2019/sketch_190310a/sketch_190310a.gif) [sketch_190310a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190310a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] Refactor and a not very good filling test --- ![sketch_190309a](2019/sketch_190309a/sketch_190309a.gif) [sketch_190309a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190309a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] Deque collection for a dynamic history on Z --- ![sketch_190308a](2019/sketch_190308a/sketch_190308a.gif) [sketch_190308a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190308a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190307a](2019/sketch_190307a/sketch_190307a.gif) [sketch_190307a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190307a) [[Py.Processing](https://villare s.github.io/como-instalar-o-processing-modo-python/index-EN)] An graph much like the ones before this, but made invisible, is behind the (virtual) corners of this rounded poly. --- ![sketch_190306a](2019/sketch_190306a/sketch_190306a.gif) [sketch_190306a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190306a) [Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190305a](2019/sketch_190305a/sketch_190305a.gif) [sketch_190305a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190305a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] Mais grapholia ;) Removi parte do código para controle com potenciômetros pois infelizmente a comunicação serial está quebrada neste momento no Processing Modo Python :(( --- ![sketch_190304a](2019/sketch_190304a/sketch_190304a.gif) [sketch_190304a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190304a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] Grapholia ;) Retomando um sketch de grafos com 4 parâmetros ajustaveis (via teclado ou potenciômetros ligados em um Arduino) --- ![sketch_190303a](2019/sketch_190303a/sketch_190303a.gif) [sketch_190303a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190303a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190302a](2019/sketch_190302a/sketch_190302a.gif) [sketch_190302a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190302a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190301a](2019/sketch_190301a/sketch_190301a.gif) [sketch_190301a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190301a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190228a](2019/sketch_190228a/sketch_190228a.gif) [sketch_190228a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190228a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190227a](2019/sketch_190227a/sketch_190227a.gif) [sketch_190227a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190227a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190226a](2019/sketch_190226a/sketch_190226a.gif) [sketch_1tus90226a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190226a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190225a](2019/sketch_190225a/sketch_190225a.gif) [sketch_190225a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190225a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190224a](2019/sketch_190224a/sketch_190224a.gif) [sketch_190224a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190224a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190223a](2019/sketch_190223a/sketch_190223a.gif) [sketch_190223a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190223a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190222a](2019/sketch_190222a/sketch_190222a.gif) [sketch_190222a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190222a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190221a](2019/sketch_190221a/sketch_190221a.gif) [sketch_190221a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190221a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190220a](2019/sketch_190220a/sketch_190220a.gif) [sketch_190220a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190220a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190219a](2019/sketch_190219a/sketch_190219a.gif) [sketch_190219a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190219a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190218a](2019/sketch_190218a/sketch_190218a.gif) [sketch_190218a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190218a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190217a](2019/sketch_190217a/sketch_190217a.gif) [sketch_190217a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190217a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190216a](2019/sketch_190216a/sketch_190216a.png) [sketch_190216a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190216a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190215a](2019/sketch_190215a/sketch_190215a.gif) [sketch_190215a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190215a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190214a](2019/sketch_190214a/sketch_190214a.gif) [sketch_190214a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190214a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190213a](2019/sketch_190213a/sketch_190213a.gif) [sketch_190213a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190213a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190212a](2019/sketch_190212a/sketch_190212a.gif) [sketch_190212a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190212a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190211b](2019/sketch_190211b/sketch_190211b.gif) [sketch_190211b](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190211b) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190211a](2019/sketch_190211a/sketch_190211a.gif) [sketch_190211a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190211a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190210c](2019/sketch_190211a/sketch_190210c.png) [sketch_190210c](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190210c) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] "a" and "b" are Java and Python ports of a C# round corner. --- ![sketch_190209a](2019/sketch_190209a/sketch_190209a.png) [sketch_190209a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190209a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190208a](2019/sketch_190208a/sketch_190208a.gif) [sketch_190208a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190208a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190207a](2019/sketch_190207a/sketch_190207a.gif) [sketch_190207a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190207a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190206b](2019/sketch_190206b/sketch_190206b.gif) [sketch_190206b](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190206a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190205a](2019/sketch_190205a/sketch_190205a.gif) [sketch_190205a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190205a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190204a](2019/sketch_190204a/sketch_190204a.gif) [sketch_190204a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190204a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190203a](2019/sketch_190203a/ezgif.com-optimize) [sketch_190203a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190203a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190202a](2019/sketch_190202a/sketch_190202a.gif) [sketch_190202a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190202a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] Retake of sketch #57 180226 with the variable "bar" from yesterday. --- ![sketch_190201a](2019/sketch_190201a/sketch-190201a.png) [sketch_190201a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190201a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190131a](2019/sketch_190131a/sketch-190131a.png) [sketch_190131a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190131a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190130a](2019/sketch_190130a/sketch_1901310a.png) [sketch_190130a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190130a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190129a](2019/sketch_190129a/sketch_190129a.gif) [sketch_190129a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190129a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190128b](2019/sketch_190128b/sketch_190128b.gif) [sketch_190128b](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190128b) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190127a](2019/sketch_190127a/sketch_190127a.gif) [sketch_190127a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190127a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190126a](2019/sketch_190126a/sketch_190126a.gif) [sketch_190126a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190126a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190125a](2019/sketch_190125a/sketch_190125a.gif) [sketch_190125a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190125a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190124a](2019/sketch_190124a/sketch_190124a.gif) [sketch_190124a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190124a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190123a](2019/sketch_190123a/sketch_190123a.gif) [sketch_190123a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190123a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190122a](2019/sketch_190122a/sketch_190122a.gif) [sketch_190122a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190122a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190121a](2019/sketch_190121a/sketch_190121a.gif) [sketch_190121a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190121a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190120a](2019/sketch_190120a/sketch_190120a.gif) [sketch_190120a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190120a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190119a](2019/sketch_190119a/sketch_190119a.gif) [sketch_190119a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190119a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190118a](2019/sketch_190118a/sketch_190118a.gif) [sketch_190118a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190118a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190117b](2019/sketch_190117b/sketch_190117b.gif) [sketch_190117b](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190117b) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190116a](2019/sketch_190116a/sketch_190116a.gif) [sketch_190116a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190116a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190115a](2019/sketch_190115a/sketch_190115a.gif) [sketch_190115a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190115a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190114a](2019/sketch_190114a/sketch_190114a.gif) [sketch_190114a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190114a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190113a](2019/sketch_190113a/sketch_190113a.gif) [sketch_190113a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190113a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190112a](2019/sketch_190112a/sketch_190112a.gif) [sketch_190112a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190112a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190111a](2019/sketch_190111a/sketch_190111a.gif) [sketch_190111a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190111a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190110b](2019/sketch_190110b/sketch_190110b.gif) [sketch_190110a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190110a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] [sketch_190110b](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190110b) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190109a](2019/sketch_190109a/sketch_190109a.gif) [sketch_190109a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190109a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190108a](2019/sketch_190108a/sketch_190108a.gif) [sketch_190108a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190108a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190107a](2019/sketch_190107a/sketch_190107a.gif) [sketch_190107a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190107a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190106a](2019/sketch_190106a/sketch_190106a.png) [sketch_190106a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190106a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190105a](2019/sketch_190105a/sketch_190105a.gif) [sketch_190105a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190105a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190104a](2019/sketch_190104a/sketch_190104a.gif) [sketch_190104a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190104a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] Module tweaks --- ![sketch_190103a](2019/sketch_190103a/03.gif) [sketch_190103a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190103a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] Made this today, thinking about my new newsletter: [[sketch-mail](https://tinyletter.com/villares)] --- ![sketch_190102a](2019/sketch_190102a/sketch_190102a.gif) [sketch_190102a]https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190102a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)] --- ![sketch_190101a](2019/sketch_190101a/sketch_190101a.gif) [sketch_190101a](https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190101a) [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]