Alexandre B A Villares


sketch-a-day

coding a visual idea a day

Welcome! My name is Alexandre Villares and since January, 2018 I have been coding sketches everyday, publishing the source code in the same repository that stores this page, github.com/villares/sketch-a-day.

The results here are mostly tentative, exploratory, and I don’t feel like they need to be relevant or meaningful on any particular day. The everyday practice leads to the emergence of ideas that I consider interesting, worthy of further exploration. Some of those have been added to selected work, this collection itself became valuable for me, and it is my pleasure to share it with anyone willing to explore coding as a creative and expressive medium.

You can follow me on Mastodon @villares@ciberlandia.pt or at @villares@pynews.com.br, where I post most of my daily sketches. Please do not hesitate to contact me regarding licenses to use my work, teaching opportunities, consulting or other projects.

If you appreciate what I have been doing, you may also support my artistic work, research and open educational resources I publish on-line using the Brazilan PIX key at 46c37783-5edb-4f1c-b3a8-1309db11488c, PayPal or gumroad.com/villares, where you can subscribe to my [sketch-mail] newsletter.

Here are listed some of the tools I have been using more recently:


2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018


sketch_2024_12_20

sketch_2024_12_20

sketch_2024_12_20 [py5]

A tetrahedron with #py5 and a bit of #NumPy … Maybe tomorrow I’ll tackle the icosahedron, but if I’m tired, I might do just use the built-in box() for the hexahedron ;)


sketch_2024_12_19

sketch_2024_12_19

sketch_2024_12_19 [py5]


sketch_2024_12_18

sketch_2024_12_18

sketch_2024_12_18 [py5]


sketch_2024_12_17

sketch_2024_12_17

sketch_2024_12_17 [py5]

#Voronoi #Delaunay #scipy


sketch_2024_12_16

sketch_2024_12_16

sketch_2024_12_16 [py5]


sketch_2024_12_15

sketch_2024_12_15

sketch_2024_12_15 [py5]


sketch_2024_12_14

sketch_2024_12_14

sketch_2024_12_14 [py5]


sketch_2024_12_13

sketch_2024_12_13

sketch_2024_12_13 [py5]

Work in progress… things that used to work (in previous studies) look confusingly broken.


sketch_2024_12_12

sketch_2024_12_12

sketch_2024_12_12 [py5]

Maybe, just maybe, I’m getting to enjoy using #NumPy.


sketch_2024_12_11

sketch_2024_12_11

sketch_2024_12_11 [py5]


sketch_2024_12_10

sketch_2024_12_10

sketch_2024_12_10 [py5]

Slowly working on some #NumPy skill so I can get back to my combinatorics explorations (thinking about removing rotations and reflections…)


sketch_2024_12_09

sketch_2024_12_09

sketch_2024_12_09 [py5]


sketch_2024_12_08

sketch_2024_12_08

sketch_2024_12_08 [py5]

#vtracer raster to svg tool from the visioncortex group.


sketch_2024_12_07

sketch_2024_12_07

sketch_2024_12_07 [py5]


sketch_2024_12_06

sketch_2024_12_06

sketch_2024_12_06 [py5]


sketch_2024_12_05

sketch_2024_12_05

sketch_2024_12_05 [py5]


sketch_2024_12_04

sketch_2024_12_04

sketch_2024_12_04 [py5]


sketch_2024_12_03

sketch_2024_12_03

sketch_2024_12_03 [py5]


sketch_2024_12_02

sketch_2024_12_02

sketch_2024_12_02 [py5]

#scipy #Voronoi #shapely


sketch_2024_12_01

sketch_2024_12_01

sketch_2024_12_01 [py5]


sketch_2024_11_30

sketch_2024_11_30

sketch_2024_11_30 [py5]

Another “hello py5” sketch made during an impromptu “corridor track” tutorial


sketch_2024_11_29

sketch_2024_11_29

sketch_2024_11_29 [py5]


sketch_2024_11_28

sketch_2024_11_28

sketch_2024_11_28 [py5]


sketch_2024_11_27

sketch_2024_11_27

sketch_2024_11_27 [py5]


sketch_2024_11_26

sketch_2024_11_26

sketch_2024_11_26 [py5]


sketch_2024_11_25

sketch_2024_11_25

sketch_2024_11_25 [py5]


sketch_2024_11_24

sketch_2024_11_24

sketch_2024_11_24 [py5]


sketch_2024_11_23

sketch_2024_11_23

sketch_2024_11_23 [py5]


sketch_2024_11_22

sketch_2024_11_22

sketch_2024_11_22 [py5]


sketch_2024_11_21

sketch_2024_11_21

sketch_2024_11_21 [py5]


sketch_2024_11_20

sketch_2024_11_20

sketch_2024_11_20 [py5]


sketch_2024_11_19

sketch_2024_11_19

sketch_2024_11_19 [py5]


sketch_2024_11_18

sketch_2024_11_18

sketch_2024_11_18 [py5]


sketch_2024_11_17

sketch_2024_11_17

sketch_2024_11_17 [py5]


sketch_2024_11_16

sketch_2024_11_16

sketch_2024_11_16 [py5]


sketch_2024_11_15

sketch_2024_11_15

sketch_2024_11_15 [py5]

Ramalho @lr@ciberlandia.pt (e Feurzeig, , Solomon & Papert) tinham razão: andar e virar é mais fácil…


sketch_2024_11_14

sketch_2024_11_14

sketch_2024_11_14 [py5]


sketch_2024_11_13

sketch_2024_11_13

sketch_2024_11_13 [py5]


sketch_2024_11_12

sketch_2024_11_12

sketch_2024_11_12 [py5]


sketch_2024_11_11

sketch_2024_11_11

sketch_2024_11_11 [py5]

I love to play/create an #LSystem, check discussion at https://github.com/py5coding/py5generator/discussions/555


sketch_2024_11_10

sketch_2024_11_10

sketch_2024_11_10 [py5]


sketch_2024_11_09

sketch_2024_11_09

sketch_2024_11_09 [py5]


sketch_2024_11_08

sketch_2024_11_08

sketch_2024_11_08 [py5]


sketch_2024_11_07

sketch_2024_11_07

sketch_2024_11_07 [py5]


sketch_2024_11_06

sketch_2024_11_06

sketch_2024_11_06 [py5]


sketch_2024_11_05

sketch_2024_11_05

sketch_2024_11_05 [py5]


sketch_2024_11_04

sketch_2024_11_04

sketch_2024_11_04 [py5]

more Slider tweaks


sketch_2024_11_03

sketch_2024_11_03

sketch_2024_11_03 [py5]

I now can use the mouse wheel to control my naive sliders!


sketch_2024_11_02

sketch_2024_11_02

sketch_2024_11_02 [py5]


sketch_2024_11_01

sketch_2024_11_01

sketch_2024_11_01 [py5]


sketch_2024_10_31

sketch_2024_10_31

sketch_2024_10_31 [py5]

Today I worked on this with a friend to whom I’m teaching Python classes: 336 configurations made from 4 truchet modules (diagonaly divided squares with black and white sides) plus black and white squares. Removing rotations!


sketch_2024_10_30

sketch_2024_10_30

sketch_2024_10_30 [py5]


sketch_2024_10_29

sketch_2024_10_29

sketch_2024_10_29 [py5]

1200 polykings of order 1, 2, 3, 4, 5 and 6 (https://en.wikipedia.org/wiki/Pseudo-polyomino)


sketch_2024_10_28

sketch_2024_10_28

sketch_2024_10_28 [py5]


sketch_2024_10_27

sketch_2024_10_27

sketch_2024_10_27 [py5]

704 one-sided octominoes, using code inspired by a great talk by Hamish Campbell https://pyvideo.org/kiwi-pycon-2013/polyominoes-an-exploration-in-problem-solving-w.html


sketch_2024_10_26

sketch_2024_10_26

sketch_2024_10_26 [py5]


sketch_2024_10_25

sketch_2024_10_25

sketch_2024_10_25 [py5]

Inspired by this post from Armchair Epistemologist: https://hostux.social/@rcriii/112406728834440508


sketch_2024_10_24

sketch_2024_10_24

sketch_2024_10_24 [py5]


sketch_2024_10_23

sketch_2024_10_23

sketch_2024_10_23 [py5]


sketch_2024_10_22

sketch_2024_10_22

sketch_2024_10_22 [py5]


sketch_2024_10_21

sketch_2024_10_21

sketch_2024_10_21 [py5]


sketch_2024_10_20

sketch_2024_10_20

sketch_2024_10_20 [py5]


sketch_2024_10_19

sketch_2024_10_19

sketch_2024_10_19 [py5]


sketch_2024_10_18

sketch_2024_10_18

sketch_2024_10_18 [py5]


sketch_2024_10_17

sketch_2024_10_17

sketch_2024_10_17 [py5]


sketch_2024_10_16

sketch_2024_10_16

sketch_2024_10_16 [py5]


sketch_2024_10_15

sketch_2024_10_15

sketch_2024_10_15 [py5]

2811 ways of coloring a grid of 3 x 3 squares removing rotations…


sketch_2024_10_14

sketch_2024_10_14

sketch_2024_10_14 [py5]

31 ways of coloring a grid of 2 x 2 squares removing rotations? Is this correct?


sketch_2024_10_13

sketch_2024_10_13

sketch_2024_10_13 [py5]

WIP, this is still including and excluding some rotated configs with same geometry and different painting :( I’d be happy if it included all or excluded all the painting variations. Working on it.


sketch_2024_10_12

sketch_2024_10_12

sketch_2024_10_12 [py5]

1434 configurations of ways of dividing a square (using a grid of 9 subsquares) The colors now show the minimum number of colors you need to color the regions,

widhout adjacent areas having the same color.


sketch_2024_10_11

sketch_2024_10_11

sketch_2024_10_11 [py5]

2810 ways of partitioning a square using 5 x 2 subsquares, shown on a 38 x 74 grid of 2812 positions.


sketch_2024_10_10

sketch_2024_10_10

sketch_2024_10_10 [py5]

1200 ways to divide a square using only the squares and smaller diagonals from a grid of 3x3 points (edges, mid-side and center of the square).


sketch_2024_10_09

sketch_2024_10_09

sketch_2024_10_09 [py5]

456 ways to subdivide a 4 x 2 rectangle (merging 1 x 1 sub-regions)


sketch_2024_10_08

sketch_2024_10_08

sketch_2024_10_08 [py5]

1434 ways of subdividing a square merging areas from a grid of 9 subsquares.


sketch_2024_10_07

sketch_2024_10_07

sketch_2024_10_07 [py5]

512 configurations, ways of “enclosing” elements from a 3 x 3 grid


sketch_2024_10_06

sketch_2024_10_06

sketch_2024_10_06 [py5]

There are 1295 ways of making enclosed areas using the segments and shorter diagonals of a 3 x 3 grid of points. 1296 if you consider the “empty” case of not enlosing any area.


sketch_2024_10_05

sketch_2024_10_05

sketch_2024_10_05 [py5]


sketch_2024_10_04

sketch_2024_10_04

sketch_2024_10_04 [py5]


sketch_2024_10_03

sketch_2024_10_03

sketch_2024_10_03 [py5]

animation shows some examples of black and white triangles in a 4 x 4 point grid being merged (with same color triangles)


sketch_2024_10_02

sketch_2024_10_02

sketch_2024_10_02 [py5]

broken but fun! #debugaesthetics


sketch_2024_10_01

sketch_2024_10_01

sketch_2024_10_01 [py5]

WIP


sketch_2024_09_30

sketch_2024_09_30

sketch_2024_09_30 [py5]

WIP


sketch_2024_09_29

sketch_2024_09_29

sketch_2024_09_29 [py5]


sketch_2024_09_28

sketch_2024_09_28

sketch_2024_09_28 [py5]


sketch_2024_09_27

sketch_2024_09_27

sketch_2024_09_27 [py5]


sketch_2024_09_26

sketch_2024_09_26

sketch_2024_09_26 [py5]


sketch_2024_09_25

sketch_2024_09_25

sketch_2024_09_25 [py5]


sketch_2024_09_24

sketch_2024_09_24

sketch_2024_09_24 [py5]


sketch_2024_09_23

sketch_2024_09_23

sketch_2024_09_23 [py5]


sketch_2024_09_22

sketch_2024_09_22

sketch_2024_09_22 [py5]


sketch_2024_09_21

sketch_2024_09_21

sketch_2024_09_21 [py5]


sketch_2024_09_20

sketch_2024_09_20

sketch_2024_09_20 [py5]


sketch_2024_09_19

sketch_2024_09_19

sketch_2024_09_19 [py5]


sketch_2024_09_18

sketch_2024_09_18

sketch_2024_09_18 [py5]


sketch_2024_09_17

sketch_2024_09_17

sketch_2024_09_17 [py5]


sketch_2024_09_16

sketch_2024_09_16

sketch_2024_09_16 [py5]


sketch_2024_09_15

sketch_2024_09_15

sketch_2024_09_15 [py5]


sketch_2024_09_14

sketch_2024_09_14

sketch_2024_09_14 [py5]


sketch_2024_09_13

sketch_2024_09_13

sketch_2024_09_13 [py5]


sketch_2024_09_12

sketch_2024_09_12

sketch_2024_09_12 [py5]

based on Jim Bumgardner’s sketch https://openprocessing.org/sketch/41142 from 2011.


sketch_2024_09_11

sketch_2024_09_11

sketch_2024_09_11 [py5]


sketch_2024_09_10

sketch_2024_09_10

sketch_2024_09_10 [py5]

Trying to replicate the “Tecniquim tiling” idea from John


sketch_2024_09_09

sketch_2024_09_09

sketch_2024_09_09 [py5]

Inspired by Rougier’s first example in From Python to Numpy


sketch_2024_09_08

sketch_2024_09_08

sketch_2024_09_08 [faded-parsons-visual]

The daily sketch was a “Parsons Problems” puzzle, the code on the link produces both the “chequered image” and the YAML for the the puzzle page


sketch_2024_09_07

sketch_2024_09_07

sketch_2024_09_07 [py5]


sketch_2024_09_06

sketch_2024_09_06

sketch_2024_09_06 [py5]


sketch_2024_09_05

sketch_2024_09_05

sketch_2024_09_05 [py5]


sketch_2024_09_04

sketch_2024_09_04

sketch_2024_09_04 [py5]


sketch_2024_09_03

sketch_2024_09_03

sketch_2024_09_03 [py5]


sketch_2024_09_02

sketch_2024_09_02

sketch_2024_09_02 [py5]


sketch_2024_09_01

sketch_2024_09_01

sketch_2024_09_01 [py5]

#shapely


sketch_2024_08_31

sketch_2024_08_31

sketch_2024_08_31 [py5]


sketch_2024_08_30

sketch_2024_08_30

sketch_2024_08_30 [py5]

#shapely


sketch_2024_08_29

sketch_2024_08_29

sketch_2024_08_29 [py5]

#shapely experiment… not brilliant but fun.


sketch_2024_08_28

sketch_2024_08_28

sketch_2024_08_28 [py5]


sketch_2024_08_27

sketch_2024_08_27

sketch_2024_08_27 [py5]


sketch_2024_08_26

sketch_2024_08_26

sketch_2024_08_26 [py5]


sketch_2024_08_25

sketch_2024_08_25

sketch_2024_08_25 [py5]

Playing with Ziaplot


sketch_2024_08_24

sketch_2024_08_24

sketch_2024_08_24 [py5]


sketch_2024_08_23

sketch_2024_08_23

sketch_2024_08_23 [py5]


sketch_2024_08_22

sketch_2024_08_22

sketch_2024_08_22 [py5]


sketch_2024_08_21

sketch_2024_08_21

sketch_2024_08_21 [py5]


sketch_2024_08_20

sketch_2024_08_20

sketch_2024_08_20 [py5]


sketch_2024_08_19

sketch_2024_08_19

sketch_2024_08_19 [py5]


sketch_2024_08_18

sketch_2024_08_18

sketch_2024_08_18 [py5]


sketch_2024_08_17

sketch_2024_08_17

sketch_2024_08_17 [py5]


sketch_2024_08_16

sketch_2024_08_16

sketch_2024_08_16 [py5]


sketch_2024_08_15

sketch_2024_08_15

sketch_2024_08_15 [py5]


sketch_2024_08_14

sketch_2024_08_14

sketch_2024_08_14 [py5]

#networkx #3d #graph

G = nx.balanced_tree(4, 5)
pos = nx.spring_layout(G, dim=3, seed=1)', margin, margin)

sketch_2024_08_13

sketch_2024_08_13

sketch_2024_08_13 [py5]

#networkx #graphviz #pygraphviz


sketch_2024_08_12

sketch_2024_08_12

sketch_2024_08_12 [py5]

I think this is my first attempt at combining py5 and networkx :) #networkx #graphviz


sketch_2024_08_11

sketch_2024_08_11

sketch_2024_08_11 [py5]


sketch_2024_08_10

sketch_2024_08_10

sketch_2024_08_10 [py5]


sketch_2024_08_09

sketch_2024_08_09

sketch_2024_08_09 [py5]


sketch_2024_08_08

sketch_2024_08_08

sketch_2024_08_08 [py5]


sketch_2024_08_07

sketch_2024_08_07

sketch_2024_08_07 [py5]


sketch_2024_08_06

sketch_2024_08_06

sketch_2024_08_06 [py5]


sketch_2024_08_05

sketch_2024_08_05

sketch_2024_08_05 [py5]


sketch_2024_08_04

sketch_2024_08_04

sketch_2024_08_04 [py5]


sketch_2024_08_03

sketch_2024_08_03

sketch_2024_08_03 [py5]

#IslamicPatterns


sketch_2024_08_02

sketch_2024_08_02

sketch_2024_08_02 [py5]

More #IslamicPatterns studies.


sketch_2024_08_01

sketch_2024_08_01

sketch_2024_08_01 [py5]

#QuadraticBezier #CubicBezier #CatmullRom


sketch_2024_07_31

sketch_2024_07_31

sketch_2024_07_31 [py5]

Working on the curves demo sketch. Now you can switch modes and it can print the code generated. You can still drag the handles but I didn’t record it. #CubicBezier #QuadraticBezier


sketch_2024_07_30

sketch_2024_07_30

sketch_2024_07_30 [py5]

#QuadraticBezier curves have a single control point. I find them easier to work with, sometimes…


sketch_2024_07_29

sketch_2024_07_29

sketch_2024_07_29 [py5]

Updating my #BezierCurve interactive example.


sketch_2024_07_28

sketch_2024_07_28

sketch_2024_07_28 [py5]

#shapely buffers, subtractions and instersections


sketch_2024_07_27

sketch_2024_07_27

sketch_2024_07_27 [py5]

More #IslamicPattterns studies.


sketch_2024_07_26

sketch_2024_07_26

sketch_2024_07_26 [py5]


sketch_2024_07_25

sketch_2024_07_25

sketch_2024_07_25 [py5]

Studying #IslamicPatterns with hexagons.


sketch_2024_07_24

sketch_2024_07_24

sketch_2024_07_24 [py5]

Inspired by @JeanBaptisteEt4’s work: https://mathstodon.xyz/@JeanBaptisteEt4/112837724665792089 #tiling #tesselation


sketch_2024_07_23

sketch_2024_07_23

sketch_2024_07_23 [py5]

Reproducing a pixel manipulation example from Guzdial & Ericson’s Media Computation with Python!


sketch_2024_07_22

sketch_2024_07_22

sketch_2024_07_22 [py5]


sketch_2024_07_21

sketch_2024_07_21

sketch_2024_07_21 [py5]


sketch_2024_07_20

sketch_2024_07_20

sketch_2024_07_20 [py5]

Not at all what I wanted :( playing with layers (geodataframes) from#prettymaps, but getting confused because I’m terrible with #matplotlib data (c) OpenStreetMap contributors ttps://www.openstreetmap.org/copyright


sketch_2024_07_19

sketch_2024_07_19

sketch_2024_07_19 [py5]

work in progress … #osmnx data (c) OpenStreetMap contributors https://www.openstreetmap.org/copyright


sketch_2024_07_18

sketch_2024_07_18

sketch_2024_07_18 [py5]


sketch_2024_07_17

sketch_2024_07_17

sketch_2024_07_17 [py5]


sketch_2024_07_16

sketch_2024_07_16

sketch_2024_07_16 [py5]


sketch_2024_07_15

sketch_2024_07_15

sketch_2024_07_15 [py5]


sketch_2024_07_14

sketch_2024_07_14

sketch_2024_07_14 [py5]

Work in progress… tesselation studies


sketch_2024_07_13

sketch_2024_07_13

sketch_2024_07_13 [cpy5]


sketch_2024_07_12

sketch_2024_07_12

sketch_2024_07_12 [py5]


sketch_2024_07_11

sketch_2024_07_11

sketch_2024_07_11 [py5]

130 rectangles on a 5 x 5 grid of points.


sketch_2024_07_10

sketch_2024_07_10

sketch_2024_07_10 [py5]

100 rectangles on a 5 x 5 grid of points


sketch_2024_07_09

sketch_2024_07_09

sketch_2024_07_09 [py5]


sketch_2024_07_08

sketch_2024_07_08

sketch_2024_07_08 [py5]

A first baby step towards Tetris with py5. Python’s dicts are so cool!


sketch_2024_07_07

sketch_2024_07_07

sketch_2024_07_07 [py5]


sketch_2024_07_06

sketch_2024_07_06

sketch_2024_07_06 [py5]


sketch_2024_07_05

sketch_2024_07_05

sketch_2024_07_05 [py5]


sketch_2024_07_04

sketch_2024_07_04

sketch_2024_07_04 [py5]

Em colaboração com Nariz Coletivo d’aprés Warhol…


sketch_2024_07_03

sketch_2024_07_03

sketch_2024_07_03 [py5]


sketch_2024_07_02

sketch_2024_07_02

sketch_2024_07_02 [py5]


sketch_2024_07_01

sketch_2024_07_01

sketch_2024_07_01 [py5]


sketch_2024_06_30

sketch_2024_06_30

sketch_2024_06_30 [py5]


sketch_2024_06_29

sketch_2024_06_29

sketch_2024_06_29 [py5]


sketch_2024_06_28

sketch_2024_06_28

sketch_2024_06_28 [py5]


sketch_2024_06_27

sketch_2024_06_27

sketch_2024_06_27 [py5]


sketch_2024_06_26

sketch_2024_06_26

sketch_2024_06_26 [py5]


sketch_2024_06_25

sketch_2024_06_25

sketch_2024_06_25 [py5]


sketch_2024_06_24

sketch_2024_06_24

sketch_2024_06_24 [py5]


sketch_2024_06_23

sketch_2024_06_23

sketch_2024_06_23 [py5]


sketch_2024_06_22

sketch_2024_06_22

sketch_2024_06_22 [py5]

Kind of works… based on Stand-up Maths video abou rotation without rotation (3 skews) https://www.youtube.com/watch?v=1LCEiVDHJmc


sketch_2024_06_21

sketch_2024_06_21

sketch_2024_06_21 [py5]


sketch_2024_06_20

sketch_2024_06_20

sketch_2024_06_20 [py5]


sketch_2024_06_19

sketch_2024_06_19

sketch_2024_06_19 [py5]


sketch_2024_06_18

sketch_2024_06_18

sketch_2024_06_18 [py5]


sketch_2024_06_17

sketch_2024_06_17

sketch_2024_06_17 [py5]

Back to drawing text with colors for highlights. I have an earlier sketch that uses Python’s tokenize to draw source with some basic syntax coloring https://github.com/villares/sketch-a-day/tree/main/2023/sketch_2023_08_14, this one is simpler (preparing for another idea).


sketch_2024_06_16

sketch_2024_06_16

sketch_2024_06_16 [py5]

another nasty SVG + pymunk failure


sketch_2024_06_15

sketch_2024_06_15

sketch_2024_06_15 [py5]

Not very good WIP :(


sketch_2024_06_14

sketch_2024_06_14

sketch_2024_06_14 [blender geometry nodes]


sketch_2024_06_13

sketch_2024_06_13

sketch_2024_06_13 [py5]


sketch_2024_06_12

sketch_2024_06_12

sketch_2024_06_12 [py5]


sketch_2024_06_11

sketch_2024_06_11

sketch_2024_06_11 [py5]


sketch_2024_06_10

sketch_2024_06_10

sketch_2024_06_10 [py5]


sketch_2024_06_09

sketch_2024_06_09

sketch_2024_06_09 [py5]


sketch_2024_06_08

sketch_2024_06_08

sketch_2024_06_08 [py5]


sketch_2024_06_07

sketch_2024_06_07

sketch_2024_06_07 [py5]


sketch_2024_06_06

sketch_2024_06_06

sketch_2024_06_06 [py5]


sketch_2024_06_05

sketch_2024_06_05

sketch_2024_06_05 [py5]


sketch_2024_06_04

sketch_2024_06_04

sketch_2024_06_04 [py5]


sketch_2024_06_03

sketch_2024_06_03

sketch_2024_06_03 [py5]


sketch_2024_06_02

sketch_2024_06_02

sketch_2024_06_02 [py5]


sketch_2024_06_01

sketch_2024_06_01

sketch_2024_06_01 [py5]


sketch_2024_05_31

sketch_2024_05_31

sketch_2024_05_31 [py5]


sketch_2024_05_30

sketch_2024_05_30

sketch_2024_05_30 [py5]


sketch_2024_05_29

sketch_2024_05_29

sketch_2024_05_29 [py5]


sketch_2024_05_28

sketch_2024_05_28

sketch_2024_05_28 [py5]


sketch_2024_05_27

sketch_2024_05_27

sketch_2024_05_27 [py5]


sketch_2024_05_26

sketch_2024_05_26

sketch_2024_05_26 [py5]

I’m happy with this, I converted yesterday’s sketch to an OO strategy and I could solve my “parent angle alignment” wishes.


sketch_2024_05_25

sketch_2024_05_25

sketch_2024_05_25 [py5]


sketch_2024_05_24

sketch_2024_05_24

sketch_2024_05_24 [py5]


sketch_2024_05_23

sketch_2024_05_23

sketch_2024_05_23 [py5]


sketch_2024_05_22

sketch_2024_05_22

sketch_2024_05_22 [py5]


sketch_2024_05_21

sketch_2024_05_21

sketch_2024_05_21 [py5]


sketch_2024_05_20

sketch_2024_05_20

sketch_2024_05_20 [py5]


sketch_2024_05_19

sketch_2024_05_19

sketch_2024_05_19 [py5]


sketch_2024_05_18

sketch_2024_05_18

sketch_2024_05_18 [py5]


sketch_2024_05_17

sketch_2024_05_17

sketch_2024_05_17 [py5]

the true May 17th’s sketch


sketch_2024_05_16

sketch_2024_05_16

sketch_2024_05_16 [py5]

#PyConUS I made this during my tutorial :)


sketch_2024_05_15b

sketch_2024_05_15b

sketch_2024_05_15b [py5]


sketch_2024_05_15

sketch_2024_05_15

sketch_2024_05_15 [py5]


sketch_2024_05_14

sketch_2024_05_14

sketch_2024_05_14 [py5]


sketch_2024_05_13

sketch_2024_05_13

sketch_2024_05_13 [py5]


sketch_2024_05_12

sketch_2024_05_12

sketch_2024_05_12 [py5]


sketch_2024_05_11

sketch_2024_05_11

sketch_2024_05_11 [py5]


sketch_2024_05_10

sketch_2024_05_10

sketch_2024_05_10 [py5]


sketch_2024_05_09

sketch_2024_05_09

sketch_2024_05_09 [py5]


sketch_2024_05_08

sketch_2024_05_08

sketch_2024_05_08 [py5]


sketch_2024_05_07

sketch_2024_05_07

sketch_2024_05_07 [py5]


sketch_2024_05_06

sketch_2024_05_06

sketch_2024_05_06 [py5]

40 different ways to divide a square using points from a 3x3 grid.


sketch_2024_05_05

sketch_2024_05_05

sketch_2024_05_05 [py5]

WIP on “partitioning”


sketch_2024_05_04

sketch_2024_05_04

sketch_2024_05_04 [py5]

WIP


sketch_2024_05_03

sketch_2024_05_03

sketch_2024_05_03 [py5]


sketch_2024_05_02

sketch_2024_05_02

sketch_2024_05_02 [py5]

Revisitando uma ideia de sketch de 2018 inspirado em um sketch de manoloide (Manuel Gamboa Naom)


sketch_2024_05_01

sketch_2024_05_01

sketch_2024_05_01 [py5]


sketch_2024_04_30

sketch_2024_04_30

sketch_2024_04_30 [py5]

Formas básicas, preenchimento, traço e interação usando draw(). Esse sketch do dia é bem bobo, mas o codigo anotado vira um quebra-cabeças de Parsons em https://abav.lugaralgum.com/faded-parsons-visual


sketch_2024_04_29

sketch_2024_04_29

sketch_2024_04_29 [py5]

#pymunk


sketch_2024_04_28

sketch_2024_04_28

sketch_2024_04_28 [py5]

#pymunk


sketch_2024_04_27

sketch_2024_04_27

sketch_2024_04_27 [py5]


sketch_2024_04_26

sketch_2024_04_26

sketch_2024_04_26 [py5]

#pymunk experiments… trying to extend pymunk.Body with a DrawableBody class (instead of monkeypatching pymunk.shape.Poly & etc.)


sketch_2024_04_25

sketch_2024_04_25

sketch_2024_04_25 [py5]

#Numpy


sketch_2024_04_24

sketch_2024_04_24

sketch_2024_04_24 [py5]

#pymunk


sketch_2024_04_23

sketch_2024_04_23

sketch_2024_04_23 [py5]


sketch_2024_04_22

sketch_2024_04_22

sketch_2024_04_22 [py5]


sketch_2024_04_21

sketch_2024_04_21

sketch_2024_04_21 [py5]


sketch_2024_04_20

sketch_2024_04_20

sketch_2024_04_20 [py5]

#DebugAesthetics


sketch_2024_04_19

sketch_2024_04_19

sketch_2024_04_19 [py5]


sketch_2024_04_18

sketch_2024_04_18

sketch_2024_04_18 [py5]

40 hexágonos brancos a partir de uma grande de 3x3 pontos. Em branco em quadrados pretos, dispostos em uma grade de 8 colunas e 5 linhas em um fundo azul.


sketch_2024_04_17

sketch_2024_04_17

sketch_2024_04_17 [py5]

All the 125 possible not self-intersecting polygons form a 3 x 3 grid of points (without rotations and translations).


sketch_2024_04_16

sketch_2024_04_16

sketch_2024_04_16 [py5]

Success! All the possible simple quadrilaterals from a 3 x 3 grid of points. Yesterday I had broken my hashing function that made it possible to eliminate rotations (it is possible to eliminate reflections too, but I like to have them)


sketch_2024_04_15

sketch_2024_04_15

sketch_2024_04_15 [py5]

still WIP, my translation/rotation elimination strategy didn’t work (so turned it off on this output)


sketch_2024_04_14

sketch_2024_04_14

sketch_2024_04_14 [py5]

WIP … hard to debug


sketch_2024_04_13

sketch_2024_04_13

sketch_2024_04_13 [py5]


sketch_2024_04_12

sketch_2024_04_12

sketch_2024_04_12 [py5]


sketch_2024_04_11

sketch_2024_04_11

sketch_2024_04_11 [py5]


sketch_2024_04_10

sketch_2024_04_10

sketch_2024_04_10 [py5]


sketch_2024_04_09

sketch_2024_04_09

sketch_2024_04_09 [py5]


sketch_2024_04_08

sketch_2024_04_08

sketch_2024_04_08 [py5]

Fiddling with https://github.com/Botffy/polyskel/tree/master


sketch_2024_04_07

sketch_2024_04_07

sketch_2024_04_07 [py5]


sketch_2024_04_06

sketch_2024_04_06

sketch_2024_04_06 [py5]

#scikitgeometry #skgeom


sketch_2024_04_05

sketch_2024_04_05

sketch_2024_04_05 [py5]


sketch_2024_04_04

sketch_2024_04_04

sketch_2024_04_04 [py5]

#OpenSimplexNoise #Numpy


sketch_2024_04_03

sketch_2024_04_03

sketch_2024_04_03 [py5]


sketch_2024_04_02

sketch_2024_04_02

sketch_2024_04_02 [py5]


sketch_2024_04_01

sketch_2024_04_01

sketch_2024_04_01 [py5]


sketch_2024_03_31

sketch_2024_03_31

sketch_2024_03_31 [py5]


sketch_2024_03_30

sketch_2024_03_30

sketch_2024_03_30 [py5]


sketch_2024_03_29

sketch_2024_03_29

sketch_2024_03_29 [py5]


sketch_2024_03_28

sketch_2024_03_28

sketch_2024_03_28 [py5]


sketch_2024_03_27

sketch_2024_03_27

sketch_2024_03_27 [py5]


sketch_2024_03_26

sketch_2024_03_26

sketch_2024_03_26 [py5]


sketch_2024_03_25

sketch_2024_03_25

sketch_2024_03_25 [py5]


sketch_2024_03_24

sketch_2024_03_24

sketch_2024_03_24 [py5]


sketch_2024_03_23

sketch_2024_03_23

sketch_2024_03_23 [py5]


sketch_2024_03_22

sketch_2024_03_22

sketch_2024_03_22 [py5]


sketch_2024_03_21

sketch_2024_03_21

sketch_2024_03_21 [py5]


sketch_2024_03_20

sketch_2024_03_20

sketch_2024_03_20 [py5]


sketch_2024_03_19

sketch_2024_03_19

sketch_2024_03_19 [py5]


sketch_2024_03_18

sketch_2024_03_18

sketch_2024_03_18 [py5]


sketch_2024_03_17

sketch_2024_03_17

sketch_2024_03_17 [py5]


sketch_2024_03_16

sketch_2024_03_16

sketch_2024_03_16 [py5]


sketch_2024_03_15

sketch_2024_03_15

sketch_2024_03_15 [py5]


sketch_2024_03_14

sketch_2024_03_14

sketch_2024_03_14 [py5]


sketch_2024_03_13

sketch_2024_03_13

sketch_2024_03_13 [py5]


sketch_2024_03_12

sketch_2024_03_12

sketch_2024_03_12 [py5]


sketch_2024_03_11

sketch_2024_03_11

sketch_2024_03_11 [py5]


sketch_2024_03_10

sketch_2024_03_10

sketch_2024_03_10 [py5]


sketch_2024_03_09

sketch_2024_03_09

sketch_2024_03_09 [py5]

the red text encodes the neighbours state


sketch_2024_03_08

sketch_2024_03_08

sketch_2024_03_08 [py5]

WIP


sketch_2024_03_07

sketch_2024_03_07

sketch_2024_03_07 [py5]


sketch_2024_03_06

sketch_2024_03_06

sketch_2024_03_06 [py5]


sketch_2024_03_05

sketch_2024_03_05

sketch_2024_03_05 [py5]


sketch_2024_03_04

sketch_2024_03_04

sketch_2024_03_04 [py5]


sketch_2024_03_03

sketch_2024_03_03

sketch_2024_03_03 [py5]


sketch_2024_03_02

sketch_2024_03_02

sketch_2024_03_02 [py5]


sketch_2024_03_01

sketch_2024_03_01

sketch_2024_03_01 [py5]


sketch_2024_02_29

sketch_2024_02_29

sketch_2024_02_29 [py5]

    for facet in bs:
        with py5.begin_shape(py5.LINES):
            py5.vertices(vs[v] for v in itertools.chain(*facet))

sketch_2024_02_28

sketch_2024_02_28

sketch_2024_02_28 [py5]


sketch_2024_02_27

sketch_2024_02_27

sketch_2024_02_27 [py5]


sketch_2024_02_26

sketch_2024_02_26

sketch_2024_02_26 [py5]


sketch_2024_02_25

sketch_2024_02_25

sketch_2024_02_25 [py5]

Now using #shapely as suggested by @py5coding@fosstodon.org :)


sketch_2024_02_24

sketch_2024_02_24

sketch_2024_02_24 [py5]

circle and line segment collision, based on: http://www.jeffreythompson.org/collision-detection/line-circle.php point_circle


sketch_2024_02_23

sketch_2024_02_23

sketch_2024_02_23 [py5]

rect collisions


sketch_2024_02_22

sketch_2024_02_22

sketch_2024_02_22 [py5]


sketch_2024_02_21

sketch_2024_02_21

sketch_2024_02_21 [py5]


sketch_2024_02_20

sketch_2024_02_20

sketch_2024_02_20 [py5]


sketch_2024_02_19

sketch_2024_02_19

sketch_2024_02_19 [py5]


sketch_2024_02_18

sketch_2024_02_18

sketch_2024_02_18 [py5]


sketch_2024_02_17

sketch_2024_02_17

sketch_2024_02_17 [py5]


sketch_2024_02_16

sketch_2024_02_16

sketch_2024_02_16 [py5]


sketch_2024_02_15

sketch_2024_02_15

sketch_2024_02_15 [py5]


sketch_2024_02_14

sketch_2024_02_14

sketch_2024_02_14 [py5]


sketch_2024_02_13

sketch_2024_02_13

sketch_2024_02_13 [py5]


sketch_2024_02_12

sketch_2024_02_12

sketch_2024_02_12 [py5]


sketch_2024_02_11

sketch_2024_02_11

sketch_2024_02_11 [py5]


sketch_2024_02_10

sketch_2024_02_10

sketch_2024_02_10 [py5]


sketch_2024_02_09

sketch_2024_02_09

sketch_2024_02_09 [py5]


sketch_2024_02_08

sketch_2024_02_08

sketch_2024_02_08 [py5]

Still capture of anolher animated gesture experiment


sketch_2024_02_07

sketch_2024_02_07

sketch_2024_02_07 [py5]

Another animated mouse gesture experiment


sketch_2024_02_06

sketch_2024_02_06

sketch_2024_02_06 [py5]

Another animated mouse gesture experiment


sketch_2024_02_05

sketch_2024_02_05

sketch_2024_02_05 [py5]

Another animated mouse gesture experiment


sketch_2024_02_04

sketch_2024_02_04

sketch_2024_02_04 [py5]

Another animated mouse gesture experiment


sketch_2024_02_03

sketch_2024_02_03

sketch_2024_02_03 [py5]


sketch_2024_02_02

sketch_2024_02_02

sketch_2024_02_02 [py5]


sketch_2024_02_01

sketch_2024_02_01

sketch_2024_02_01 [py5]


sketch_2024_01_31

sketch_2024_01_31

sketch_2024_01_31 [py5]

Sorru, no music.


sketch_2024_01_30

sketch_2024_01_30

sketch_2024_01_30 [py5]

#genuary30 just porting ad using a Processing shader example


sketch_2024_01_29

sketch_2024_01_29

sketch_2024_01_29 [py5]

#genuary29 using a 3D sdf based mesh library


sketch_2024_01_28

sketch_2024_01_28

sketch_2024_01_28 [py5]


sketch_2024_01_27

sketch_2024_01_27

sketch_2024_01_27 [py5]

#genuary27 the gif degraded the color gradients :(


sketch_2024_01_26

sketch_2024_01_26

sketch_2024_01_26 [py5]

#genuary26 Inspired by deconbatch’s “Poor man’s Diffusion Limited Aggregation” Istead of calculantig costly distance, I’m reading a pixel from the canvas and seeing if it falls in the “black halo”. I started not showing the halo, but changed my mind.


sketch_2024_01_25

sketch_2024_01_25

sketch_2024_01_25 [py5]

#genuary25


sketch_2024_01_24

sketch_2024_01_24

sketch_2024_01_24 [py5]

not engough energy for #genuary24 :(


sketch_2024_01_23

sketch_2024_01_23

sketch_2024_01_23 [py5]

#genuary23


sketch_2024_01_22

sketch_2024_01_22

sketch_2024_01_22 [py5]

#genuary22


sketch_2024_01_21

sketch_2024_01_21

sketch_2024_01_21 [py5]

#genuary21 #LibreTranslatePy #LibreTranslate


sketch_2024_01_20

sketch_2024_01_20

sketch_2024_01_20 [py5]

#genuary20 with shapely


sketch_2024_01_19

sketch_2024_01_19

sketch_2024_01_19 [py5]

#genuary19 Variation of an early flocking experiment


sketch_2024_01_18

sketch_2024_01_18

sketch_2024_01_18 [py5]

#genuary18 Bauhaus (inspired by Albers)


sketch_2024_01_17

sketch_2024_01_17

sketch_2024_01_17 [py5]

Badly done #genuray17


sketch_2024_01_16

sketch_2024_01_16

sketch_2024_01_16 [py5]

#genuary16


sketch_2024_01_15

sketch_2024_01_15

sketch_2024_01_15 [py5]

#genuary15 Physics (using pymunk)


sketch_2024_01_14

sketch_2024_01_14

sketch_2024_01_14 [py5]

#genuary14


sketch_2024_01_13

sketch_2024_01_13

sketch_2024_01_13 [py5]

#genuary13


sketch_2024_01_12

sketch_2024_01_12

sketch_2024_01_12 [py5]

#genuary12 “lava lamp” OpenSimplexNoise


sketch_2024_01_11

sketch_2024_01_11

sketch_2024_01_11 [py5]

#genuary11 inspired by Anni Albers


sketch_2024_01_10

sketch_2024_01_10

sketch_2024_01_10 [py5]

#genuary10 ASCII


sketch_2024_01_09

sketch_2024_01_09

sketch_2024_01_09 [py5]

#genuary9


sketch_2024_01_08

sketch_2024_01_08

sketch_2024_01_08 [py5]

#genuary8 Double-pendulum simulation based on pygame code by Bryan Brickman


sketch_2024_01_07

sketch_2024_01_07

sketch_2024_01_07 [py5]

#genuary7 progress bar


sketch_2024_01_06

sketch_2024_01_06

sketch_2024_01_06 [py5]

#genuary6 screensaver (based on earlier Processing sketches for “tweetprocessing”)


sketch_2024_01_05

sketch_2024_01_05

sketch_2024_01_05 [py5]

#genuary5 d’aprés Vera Molnar “interruptions” (https://collections.vam.ac.uk/item/O1193775/interruptions-drawing-vera-molnar/)


sketch_2024_01_04

sketch_2024_01_04

sketch_2024_01_04 [py5]

#genuary4 pixels


sketch_2024_01_03

sketch_2024_01_03

sketch_2024_01_03 [py5]

#genuary3 droste


sketch_2024_01_02

sketch_2024_01_02

sketch_2024_01_02 [py5]

#genuary2 no palette


sketch_2024_01_01

sketch_2024_01_01

sketch_2024_01_01 [py5]

#genuary1 #genuary2024 lots of particles


2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018


The sketch-a-day project, images and code repository, by Alexandre B A Villares are licensed under Attribution-NonCommercial-NoDerivatives 4.0 International , except if marked/attributed otherwise in a file or code section. Please contact for licensing questions.