Alexandre Villares


sketch-a-day

one visual idea a day

Hi! I’m Alexandre Villares, welcome!

I try to make one small program (sketch) a day. I usually put the code here: github.com/villares/sketch-a-day

Feel free to contact me 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 :)

Get updates from my sort-of-weekly newsletter: [sketch-mail]


2018


2019


sketch_190526a

sketch_190526a [Py.Processing]


sketch_190525a

sketch_190525a [Py.Processing]


sketch_190524a

sketch_190524a [Py.Processing]


sketch_190523a

sketch_190523a [Py.Processing]


sketch_190522a

sketch_190522a [Py.Processing]


sketch_190521a

sketch_190521a [Py.Processing]

Shuffle of 125970 combinations…


sketch_190520a

sketch_190520a [Py.Processing]

More experiments (check the code folder for other GIFs)


sketch_190519a

sketch_190519a [Py.Processing]


sketch_190518a

sketch_190518a [Py.Processing]


sketch_190517b

sketch_190517b [Py.Processing]

Also… internation day against homophobia, transhoobia and biphobia.


sketch_190517a

sketch_190517a [Py.Processing]

56 combinations of 8 points, 3 at a time (and some 8 possible radius to the enclonsing rounded polys)


sketch_190516a

sketch_190516a [Py.Processing]

Only 3 points now


sketch_190515a

sketch_190515a [Py.Processing]

A grid based on sketch_190512a/ sketch_190401b


sketch_190514b

sketch_190514b [Py.Processing]

Another take, thinking of color separation for printing ;)


sketch_190513a

sketch_190513a [Py.Processing]

A rework of sketch_190125a


sketch_190512a

sketch_190512a [Py.Processing]

A rework of sketch_190401b


sketch_190511b

sketch_190511b [Py.Processing]


sketch_190510a

sketch_190510a [Py.Processing]


sketch_190509a

sketch_190509a [Py.Processing]

Ugly but works :)


sketch_190508a

sketch_190508a [code for Py.Processing]

Back unfolding solids… 2D faces missing.


sketch_190507a

Using pyp5jsto run on your browser

sketch_190507a [code for pyp5js]


sketch_190506c

Old sketch tweaked to port tomorrow.


sketch_190505a

Using pyp5js to run on your browser

sketch_190505a [code for pyp5js] [code for Py.Processing]


sketch_190504a

Using pyp5jsto run on your browser

sketch_190504a code:pyp5js


sketch_190503a

sketch_190503a [Py.Processing]


sketch_190502a

sketch_190502a [Py.Processing]


sketch_190501a

sketch_190501a [Py.Processing]


sketch_190430b

sketch_190430b [Py.Processing]


sketch_190429b

sketch_190429b [Py.Processing]


sketch_190428b

sketch_190428b [Py.Processing]

Mixing in my var_bar() circle/circle tangent shape


sketch_190427b

sketch_190427b [Py.Processing]

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

sketch_190426b [Py.Processing]


sketch_190425b

sketch_190425b [Py.Processing]


sketch_190424b

sketch_190424b [Py.Processing]

Inspired by “trit” grids of balanced ternary digits from @arjanvandermeij (4 ternary digits -> 81 variations)


sketch_190424a

sketch_190424a [Py.Processing]


sketch_190423a

sketch_190423a [Py.Processing]

Now I drag any point, inclunding of holes, and remove points. TODO: Add points; Drag polys.


sketch_190422a

sketch_190422a [Py.Processing]

Object Oriented remake of the poly editor in progress, in order to have multiple polygons with multiple holes each.


sketch_190421a

sketch_190421 [Py.Processing]

This clean up and tweak of studies of Design By Numbers alphabet designed by Peter Cho 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

sketch_190420a [Py.Processing]

Some refactoring and coordinate annotations that I’ll use in my classes :)


sketch_190419a

sketch_190419a [Py.Processing]

Press space-bar to order outer_pts clockwise, and inner_pts anticlockwise (counterclockwise, in the US)


sketch_190418a

sketch_190418a [Py.Processing]


sketch_190417a

sketch_190417a [Py.Processing]

Back to the editor… dragging points.


sketch_190416a

sketch_190416a [Processing Java Mode]

Very simple 3D example


sketch_190415a

sketch_190415a [Py.Processing]


sketch_190414a

sketch_190414a [Py.Processing]

Let’s unfold some simple extrudes


sketch_190413b

sketch_190413b [Py.Processing]


sketch_190412a

sketch_190412a [Py.Processing]


sketch_190411a

sketch_190411a [Py.Processing]

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

sketch_190410a [Py.Processing]

major re-org, still broken…


sketch_190409b

sketch_190409b [Py.Processing]

Subdivided top! (not quite there yet…)


sketch_190408a

sketch_190408a [Py.Processing]

With glue tabs!


sketch_190407a

sketch_190407a [Py.Processing]

Now I can change the base proportions.


sketch_190406a

sketch_190406a [Py.Processing]

First unfold version ready!


sketch_190405a

sketch_190405a [Py.Processing]

Almost done!


sketch_190404a

sketch_190404a [Py.Processing]

Study for a “Terrain box” a paper surface “unit”.


sketch_190403a

sketch_190403a [Py.Processing]


sketch_190402a

sketch_190402a [Py.Processing]


sketch_190401b

sketch_190401b [Py.Processing]


sketch_190331a

sketch_190331a [Py.Processing]


sketch_190330a

sketch_190330a [Py.Processing]


sketch_190329a

sketch_190329a [Py.Processing]


sketch_190328a

sketch_190328a [Py.Processing]


sketch_190327a

sketch_190327a [Py.Processing]


sketch_190326a

sketch_190326a [Py.Processing]


sketch_190325a

sketch_190325a [Py.Processing]


sketch_190324a

sketch_190324a [Py.Processing]

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

sketch_190323a [Py.Processing]


sketch_190322a

sketch_190322a [Py.Processing]


sketch_190321b

sketch_1903221b [Py.Processing]


sketch_190320a

sketch_190320a [Py.Processing]


sketch_190319a

sketch_190319a [Py.Processing]


sketch_190318a

sketch_190318a [Py.Processing]


sketch_190317a

sketch_190317a [Py.Processing]


sketch_190316a

sketch_190316a [Py.Processing]


sketch_190315a

sketch_190315a [Py.Processing]


sketch_190314a

sketch_190314a [Py.Processing]


sketch_190313a

sketch_190313a [Py.Processing]


sketch_190312a

sketch_190312a [Py.Processing]


sketch_190311a

sketch_190311a [Py.Processing]


sketch_190310a

sketch_190310a [Py.Processing]

Refactor and a not very good filling test


sketch_190309a

sketch_190309a [Py.Processing]

Deque collection for a dynamic history on Z


sketch_190308a

sketch_190308a [Py.Processing]


sketch_190307a

sketch_190307a [Py.Processing]

An graph much like the ones before this, but made invisible, is behind the (virtual) corners of this rounded poly.


sketch_190306a

sketch_190306a Py.Processing]


sketch_190305a

sketch_190305a [Py.Processing]

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

sketch_190304a [Py.Processing]

Grapholia ;)

Retomando um sketch de grafos com 4 parâmetros ajustaveis (via teclado ou potenciômetros ligados em um Arduino)


sketch_190303a

sketch_190303a [Py.Processing]


sketch_190302a

sketch_190302a [Py.Processing]


sketch_190301a

sketch_190301a [Py.Processing]


sketch_190228a

sketch_190228a [Py.Processing]


sketch_190227a

sketch_190227a [Py.Processing]


sketch_190226a

sketch_1tus90226a [Py.Processing]


sketch_190225a

sketch_190225a [Py.Processing]


sketch_190224a

sketch_190224a [Py.Processing]


sketch_190223a

sketch_190223a [Py.Processing]


sketch_190222a

sketch_190222a [Py.Processing]


sketch_190221a

sketch_190221a [Py.Processing]


sketch_190220a

sketch_190220a [Py.Processing]


sketch_190219a

sketch_190219a [Py.Processing]


sketch_190218a

sketch_190218a [Py.Processing]


sketch_190217a

sketch_190217a [Py.Processing]


sketch_190216a

sketch_190216a [Py.Processing]


sketch_190215a

sketch_190215a [Py.Processing]


sketch_190214a

sketch_190214a [Py.Processing]


sketch_190213a

sketch_190213a [Py.Processing]


sketch_190212a

sketch_190212a [Py.Processing]


sketch_190211b

sketch_190211b [Py.Processing]


sketch_190211a

sketch_190211a [Py.Processing]


sketch_190210c

sketch_190210c [Py.Processing]

“a” and “b” are Java and Python ports of a C# round corner.


sketch_190209a

sketch_190209a [Py.Processing]


sketch_190208a

sketch_190208a [Py.Processing]


sketch_190207a

sketch_190207a [Py.Processing]


sketch_190206b

sketch_190206b [Py.Processing]


sketch_190205a

sketch_190205a [Py.Processing]


sketch_190204a

sketch_190204a [Py.Processing]


sketch_190203a

sketch_190203a [Py.Processing]


sketch_190202a

sketch_190202a [Py.Processing]

Retake of sketch #57 180226 with the variable “bar” from yesterday.


sketch_190201a

sketch_190201a [Py.Processing]


sketch_190131a

sketch_190131a [Py.Processing]


sketch_190130a

sketch_190130a [Py.Processing]


sketch_190129a

sketch_190129a [Py.Processing]


sketch_190128b

sketch_190128b [Py.Processing]


sketch_190127a

sketch_190127a [Py.Processing]


sketch_190126a

sketch_190126a [Py.Processing]


sketch_190125a

sketch_190125a [Py.Processing]


sketch_190124a

sketch_190124a [Py.Processing]


sketch_190123a

sketch_190123a [Py.Processing]


sketch_190122a

sketch_190122a [Py.Processing]


sketch_190121a

sketch_190121a [Py.Processing]


sketch_190120a

sketch_190120a [Py.Processing]


sketch_190119a

sketch_190119a [Py.Processing]


sketch_190118a

sketch_190118a [Py.Processing]


sketch_190117b

sketch_190117b [Py.Processing]


sketch_190116a

sketch_190116a [Py.Processing]


sketch_190115a

sketch_190115a [Py.Processing]


sketch_190114a

sketch_190114a [Py.Processing]


sketch_190113a

sketch_190113a [Py.Processing]


sketch_190112a

sketch_190112a [Py.Processing]


sketch_190111a

sketch_190111a [Py.Processing]


sketch_190110b

sketch_190110a [Py.Processing]

sketch_190110b [Py.Processing]


sketch_190109a

sketch_190109a [Py.Processing]


sketch_190108a

sketch_190108a [Py.Processing]


sketch_190107a

sketch_190107a [Py.Processing]


sketch_190106a

sketch_190106a [Py.Processing]


sketch_190105a

sketch_190105a [Py.Processing]


sketch_190104a

sketch_190104a [Py.Processing]

Module tweaks


sketch_190103a

sketch_190103a [Py.Processing]

Made this today, thinking about my new newsletter: [sketch-mail]


sketch_190102a

[sketch_190102a]https://github.com/villares/sketch-a-day/tree/master/2019/sketch_190102a) [Py.Processing]


sketch_190101a

sketch_190101a [Py.Processing]