Alexandre B A Villares


sketch-a-day

one visual idea a day

Hi! I’m Alexandre, welcome!

I try to make one small program (sketch) a day, and 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. Get updates from my sort-of-weekly newsletter: [sketch-mail]

You may also support my artistic work, open teaching resources and research with donations!


2018


2019


sketch_190912c

sketch_190912c [Py.Processing]


sketch_190911b

sketch_190911b [Py.Processing]


sketch_190910b

sketch_190910b [Py.Processing]


sketch_190909b

sketch_190909b [Py.Processing]


sketch_190908b

sketch_190908b [Py.Processing]


sketch_190907c

sketch_190907c [Py.Processing]


sketch_190906a

sketch_190906a [Py.Processing]


sketch_190905c

sketch_190905c [Py.Processing]


sketch_190904c

sketch_190904c [Py.Processing]


sketch_190903c

sketch_190903c [Py.Processing]


sketch_190902c

sketch_190902c [Py.Processing]


sketch_190901a

sketch_190901a [Py.Processing]


sketch_190831a

sketch_190831a [Py.Processing]


sketch_190830a

sketch_190830a [Py.Processing]


sketch_190829b

sketch_190829b [Py.Processing]


sketch_190828a

sketch_190828a [Py.Processing]


sketch_190827a

sketch_190827a [Py.Processing]


sketch_190826a

sketch_190826a [Py.Processing]


sketch_190825a

sketch_190825a [Py.Processing]


sketch_190824a

sketch_190824a [Py.Processing]

Playing with recursion. Impressed and inspired by a tweet from @takawo from the Japanese Processing community! They have this amazing hashtag #つぶやきProcessing (something like single tweet Processing).


sketch_1900823a

sketch_190823c [Py.Processing]

Interactive symmetryc polygons


sketch_1900822c

sketch_190822c [Py.Processing]

Interactive symmetric lines


sketch_1900821c

sketch_190821c [Py.Processing]


sketch_1900820a

sketch_190820a [Py.Processing]


sketch_1900819a

sketch_190819a [Py.Processing]


sketch_1900818a

sketch_190818a [Py.Processing]


sketch_1900817a

sketch_190817a [Py.Processing]


sketch_1900816a

sketch_190816a [Py.Processing]


sketch_1900815a

sketch_190815a [Py.Processing]


sketch_1900814a

sketch_190814a [Py.Processing]


sketch_1900813a

sketch_190813a [Py.Processing]


sketch_1900812a

sketch_190812a [Py.Processing]


sketch_1900811a

sketch_190811a [Py.Processing]


sketch_1900810a

sketch_190810a [Py.Processing]


sketch_1900809a

sketch_190809a [Py.Processing]


sketch_1900808a

sketch_190808a [Py.Processing]


sketch_1900807a

sketch_190807a [Py.Processing]


sketch_1900806a

sketch_190806a [Py.Processing]


sketch_1900805a

sketch_190805a [Py.Processing]


sketch_1900804a

sketch_190804a [Py.Processing]


sketch_1900803a

sketch_190803a [Py.Processing]


sketch_1900802a

sketch_190802a [Py.Processing]


sketch_1900801a

sketch_190801a [Py.Processing]


sketch_190731a

sketch_190731a [Py.Processing]


sketch_190730a

sketch_190730a [Py.Processing]


sketch_190729a

sketch_190729a [Py.Processing]


sketch_190728a

sketch_190728a [Py.Processing]


sketch_190727a

sketch_190727a [Py.Processing]


sketch_190726a

sketch_190726a [Py.Processing]


sketch_190725a

sketch_190725a [Py.Processing]


sketch_190724a

sketch_190724a [Py.Processing]


sketch_190723b

sketch_190723b [Py.Processing]


sketch_190722a

sketch_190722a [Py.Processing]

Back with cylinders… and contiunously colored polys


sketch_190721a

sketch_190721a [Py.Processing]

Grid studies…


sketch_190720a

sketch_190720a [Py.Processing]

Back with cylinders… and randomly colored polys


sketch_190719a

sketch_190719a [Py.Processing]

Intersections are hard!


sketch_190718a

sketch_190718a [Py.Processing]

It should go without saying but sketch-a-day is about work in progress. I have yet to find ways of showing things I really think grew into something more consistent (even if I quite like some of the results here, there is a lot of unfinished stuff)


sketch_190717a

sketch_190717a [Py.Processing]

Back to 15 with colors from 16


sketch_190716a

sketch_190716a [Py.Processing]

Testing cylinders


sketch_190715a

sketch_190715a [Py.Processing]

Tried a 15 degree twist


sketch_190714a

sketch_190714a [Py.Processing]

Tube-boxes (added cuboids - added holes)


sketch_190713b

sketch_190713b [Py.Processing]


sketch_190712a

sketch_190712a [Py.Processing]


sketch_190711a

sketch_190711a [Py.Processing]


sketch_190710a

sketch_190710a [Py.Processing]


sketch_190709a

sketch_190709a [Py.Processing]


sketch_190708a

sketch_190708a [Py.Processing]


sketch_190707a

sketch_190707a [Py.Processing]

More explorations of inerpolated combinations in grids


sketch_190706a Py.Processing code pyp5js code


sketch_190705a Py.Processing code pyp5js code


sketch_190704a Py.Processing code pyp5js code


sketch_190703a Py.Processing code pyp5js code


sketch_190702a Py.Processing code pyp5js code


sketch_190701a Py.Processing code pyp5js code


sketch_190630a Py.Processing code pyp5js code


sketch_190629a

sketch_190629a [Py.Processing]


sketch_190628a

sketch_190628a [Py.Processing]


sketch_190627b

sketch_190627b [Py.Processing]


sketch_190626a

sketch_190626a [Py.Processing]


sketch_190625a

sketch_190625a [Py.Processing]


sketch_190624a

sketch_190624a [Py.Processing]


sketch_190623a

sketch_190623a [Py.Processing]


sketch_190622a

sketch_190622a [Py.Processing]


sketch_190621a

sketch_190621a [Py.Processing]


sketch_190620a

sketch_190620a [Py.Processing]


sketch_190619a

sketch_190619a [Py.Processing]


sketch_190618a

sketch_190618a [Py.Processing]


sketch_190617a

sketch_190617a [Py.Processing]


sketch_190616a

sketch_190616a [Py.Processing]


sketch_190615a

sketch_190615a [Py.Processing]


sketch_190614a

sketch_190614a [Py.Processing]


sketch_190613a

sketch_190613a [Py.Processing]


sketch_190612a

sketch_190612a [Py.Processing]


sketch_190611a

sketch_190611a [Py.Processing]


sketch_190610a

sketch_190610a [Py.Processing]


sketch_190609a

sketch_190609a [Py.Processing]


sketch_190608a

sketch_190608a [Py.Processing]

Back to the Poly Editor…


sketch_190607a

sketch_190607a [Py.Processing]

Some ideas for “Silly Type Framework”


sketch_190606a

sketch_190606a [Py.Processing]

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

sketch_190605a [Py.Processing]

Using new bars, with much better fill, thanks to my Bezier arc-approximation.


sketch_190604a

sketch_190604a [Py.Processing]

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

sketch_190603a [Py.Processing]

After many months, I took again my Bezier arc-approximation studies and finished integrating it with two “polylines” ideas:


sketch_190602a

sketch_190602a [Py.Processing]


sketch_190601a

sketch_190601a [Py.Processing]


sketch_190531a

sketch_190531a [Py.Processing]


sketch_190530b

sketch_190530b [Py.Processing]


sketch_190529a sketch_190529b

sketch_190529a [Py.Processing]


sketch_190528a sketch_190528a

sketch_190528a [Py.Processing]


sketch_190527a

sketch_190527a [Py.Processing]


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, transphobia 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]