sketch-a-day
coding a visual idea a day
2025 | 2024 | 2023 | 2022 | 2021 | 2020 | 2019 | 2018
sketch_2024_12_31
Hoping 2025 will be a good year!
sketch_2024_12_30
sketch_2024_12_29
sketch_2024_12_28
sketch_2024_12_27
sketch_2024_12_26
sketch_2024_12_25
sketch_2024_12_24
sketch_2024_12_23
sketch_2024_12_22
tris = sequence.reshape(20,3)
face_centers = vs[tris].mean(axis=1)
sketch_2024_12_21
Preparing for an icosahedron!
phi = (py5.sqrt(5) + 1) / 2
a = phi * f
b = 1 * f
vs = np.array([
(a, b, 0),
(a, -b, 0),
(-a, -b, 0),
(-a, b, 0),
(b, 0, a),
(-b, 0, a),
(-b, 0, -a),
(b, 0, -a),
(0, a, b),
(0, a, -b),
(0, -a, -b),
(0, -a, b),
])
sketch_2024_12_20
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_18
sketch_2024_12_17
#Voronoi #Delaunay #scipy
sketch_2024_12_16
sketch_2024_12_15
sketch_2024_12_14
sketch_2024_12_13
Work in progress… things that used to work (in previous studies) look confusingly broken.
sketch_2024_12_12
Maybe, just maybe, I’m getting to enjoy using #NumPy.
sketch_2024_12_11
sketch_2024_12_10
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_08
#vtracer raster to svg tool from the visioncortex group.
sketch_2024_12_07
sketch_2024_12_06
sketch_2024_12_05
sketch_2024_12_04
sketch_2024_12_03
sketch_2024_12_02
#scipy #Voronoi #shapely
sketch_2024_12_01
sketch_2024_11_30
Another “hello py5” sketch made during an impromptu “corridor track” tutorial
sketch_2024_11_29
sketch_2024_11_28
sketch_2024_11_27
sketch_2024_11_26
sketch_2024_11_25
sketch_2024_11_24
sketch_2024_11_23
sketch_2024_11_22
sketch_2024_11_21
sketch_2024_11_20
sketch_2024_11_19
sketch_2024_11_18
sketch_2024_11_17
sketch_2024_11_16
sketch_2024_11_15
Ramalho @lr@ciberlandia.pt (e Feurzeig, , Solomon & Papert) tinham razão: andar e virar é mais fácil…
sketch_2024_11_14
sketch_2024_11_13
sketch_2024_11_12
sketch_2024_11_11
I love to play/create an #LSystem, check discussion at https://github.com/py5coding/py5generator/discussions/555
sketch_2024_11_10
sketch_2024_11_09
sketch_2024_11_08
sketch_2024_11_07
sketch_2024_11_06
sketch_2024_11_05
sketch_2024_11_04
more Slider tweaks
sketch_2024_11_03
I now can use the mouse wheel to control my naive sliders!
sketch_2024_11_02
sketch_2024_11_01
sketch_2024_10_31
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_29
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_27
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_25
Inspired by this post from Armchair Epistemologist: https://hostux.social/@rcriii/112406728834440508
sketch_2024_10_24
sketch_2024_10_23
sketch_2024_10_22
sketch_2024_10_21
sketch_2024_10_20
sketch_2024_10_19
sketch_2024_10_18
sketch_2024_10_17
sketch_2024_10_16
sketch_2024_10_15
2811 ways of coloring a grid of 3 x 3 squares removing rotations…
sketch_2024_10_14
31 ways of coloring a grid of 2 x 2 squares removing rotations? Is this correct?
sketch_2024_10_13
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
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
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
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
456 ways to subdivide a 4 x 2 rectangle (merging 1 x 1 sub-regions)
sketch_2024_10_08
1434 ways of subdividing a square merging areas from a grid of 9 subsquares.
sketch_2024_10_07
512 configurations, ways of “enclosing” elements from a 3 x 3 grid
sketch_2024_10_06
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_04
sketch_2024_10_03
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
broken but fun! #debugaesthetics
sketch_2024_10_01
WIP
sketch_2024_09_30
WIP
sketch_2024_09_29
sketch_2024_09_28
sketch_2024_09_27
sketch_2024_09_26
sketch_2024_09_25
sketch_2024_09_24
sketch_2024_09_23
sketch_2024_09_22
sketch_2024_09_21
sketch_2024_09_20
sketch_2024_09_19
sketch_2024_09_18
sketch_2024_09_17
sketch_2024_09_16
sketch_2024_09_15
sketch_2024_09_14
sketch_2024_09_13
sketch_2024_09_12
based on Jim Bumgardner’s sketch https://openprocessing.org/sketch/41142 from 2011.
sketch_2024_09_11
sketch_2024_09_10
Trying to replicate the “Tecniquim tiling” idea from John
sketch_2024_09_09
Inspired by Rougier’s first example in From Python to Numpy
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_06
sketch_2024_09_05
sketch_2024_09_04
sketch_2024_09_03
sketch_2024_09_02
sketch_2024_09_01
#shapely
sketch_2024_08_31
sketch_2024_08_30
#shapely
sketch_2024_08_29
#shapely experiment… not brilliant but fun.
sketch_2024_08_28
sketch_2024_08_27
sketch_2024_08_26
sketch_2024_08_25
Playing with Ziaplot
sketch_2024_08_24
sketch_2024_08_23
sketch_2024_08_22
sketch_2024_08_21
sketch_2024_08_20
sketch_2024_08_19
sketch_2024_08_18
sketch_2024_08_17
sketch_2024_08_16
sketch_2024_08_15
sketch_2024_08_14
#networkx #3d #graph
G = nx.balanced_tree(4, 5)
pos = nx.spring_layout(G, dim=3, seed=1)', margin, margin)
sketch_2024_08_13
#networkx #graphviz #pygraphviz
sketch_2024_08_12
I think this is my first attempt at combining py5 and networkx :) #networkx #graphviz
sketch_2024_08_11
sketch_2024_08_10
sketch_2024_08_09
sketch_2024_08_08
sketch_2024_08_07
sketch_2024_08_06
sketch_2024_08_05
sketch_2024_08_04
sketch_2024_08_03
#IslamicPatterns
sketch_2024_08_02
More #IslamicPatterns studies.
sketch_2024_08_01
#QuadraticBezier #CubicBezier #CatmullRom
sketch_2024_07_31
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
#QuadraticBezier curves have a single control point. I find them easier to work with, sometimes…
sketch_2024_07_29
Updating my #BezierCurve interactive example.
sketch_2024_07_28
#shapely buffers, subtractions and instersections
sketch_2024_07_27
More #IslamicPattterns studies.
sketch_2024_07_26
sketch_2024_07_25
Studying #IslamicPatterns with hexagons.
sketch_2024_07_24
Inspired by @JeanBaptisteEt4’s work: https://mathstodon.xyz/@JeanBaptisteEt4/112837724665792089 #tiling #tesselation
sketch_2024_07_23
Reproducing a pixel manipulation example from Guzdial & Ericson’s Media Computation with Python!
sketch_2024_07_22
sketch_2024_07_21
sketch_2024_07_20
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
work in progress … #osmnx data (c) OpenStreetMap contributors https://www.openstreetmap.org/copyright
sketch_2024_07_18
sketch_2024_07_17
sketch_2024_07_16
sketch_2024_07_15
sketch_2024_07_14
Work in progress… tesselation studies
sketch_2024_07_13
sketch_2024_07_13 [cpy5]
sketch_2024_07_12
sketch_2024_07_11
130 rectangles on a 5 x 5 grid of points.
sketch_2024_07_10
100 rectangles on a 5 x 5 grid of points
sketch_2024_07_09
sketch_2024_07_08
A first baby step towards Tetris with py5. Python’s dicts are so cool!
sketch_2024_07_07
sketch_2024_07_06
sketch_2024_07_05
sketch_2024_07_04
Em colaboração com Nariz Coletivo d’aprés Warhol…
sketch_2024_07_03
sketch_2024_07_02
sketch_2024_07_01
sketch_2024_06_30
sketch_2024_06_29
sketch_2024_06_28
sketch_2024_06_27
sketch_2024_06_26
sketch_2024_06_25
sketch_2024_06_24
sketch_2024_06_23
sketch_2024_06_22
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_20
sketch_2024_06_19
sketch_2024_06_18
sketch_2024_06_17
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
another nasty SVG + pymunk failure
sketch_2024_06_15
Not very good WIP :(
sketch_2024_06_14
sketch_2024_06_14 [blender geometry nodes]
sketch_2024_06_13
sketch_2024_06_12
sketch_2024_06_11
sketch_2024_06_10
sketch_2024_06_09
sketch_2024_06_08
sketch_2024_06_07
sketch_2024_06_06
sketch_2024_06_05
sketch_2024_06_04
sketch_2024_06_03
sketch_2024_06_02
sketch_2024_06_01
sketch_2024_05_31
sketch_2024_05_30
sketch_2024_05_29
sketch_2024_05_28
sketch_2024_05_27
sketch_2024_05_26
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_24
sketch_2024_05_23
sketch_2024_05_22
sketch_2024_05_21
sketch_2024_05_20
sketch_2024_05_19
sketch_2024_05_18
sketch_2024_05_17
the true May 17th’s sketch
sketch_2024_05_16
#PyConUS I made this during my tutorial :)
sketch_2024_05_15b
sketch_2024_05_15
sketch_2024_05_14
sketch_2024_05_13
sketch_2024_05_12
sketch_2024_05_11
sketch_2024_05_10
sketch_2024_05_09
sketch_2024_05_08
sketch_2024_05_07
sketch_2024_05_06
40 different ways to divide a square using points from a 3x3 grid.
sketch_2024_05_05
WIP on “partitioning”
sketch_2024_05_04
WIP
sketch_2024_05_03
sketch_2024_05_02
Revisitando uma ideia de sketch de 2018 inspirado em um sketch de manoloide (Manuel Gamboa Naom)
sketch_2024_05_01
sketch_2024_04_30
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
#pymunk
sketch_2024_04_28
#pymunk
sketch_2024_04_27
sketch_2024_04_26
#pymunk experiments… trying to extend pymunk.Body with a DrawableBody class (instead of monkeypatching pymunk.shape.Poly & etc.)
sketch_2024_04_25
#Numpy
sketch_2024_04_24
#pymunk
sketch_2024_04_23
sketch_2024_04_22
sketch_2024_04_21
sketch_2024_04_20
#DebugAesthetics
sketch_2024_04_19
sketch_2024_04_18
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
All the 125 possible not self-intersecting polygons form a 3 x 3 grid of points (without rotations and translations).
sketch_2024_04_16
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
still WIP, my translation/rotation elimination strategy didn’t work (so turned it off on this output)
sketch_2024_04_14
WIP … hard to debug
sketch_2024_04_13
sketch_2024_04_12
sketch_2024_04_11
sketch_2024_04_10
sketch_2024_04_09
sketch_2024_04_08
Fiddling with https://github.com/Botffy/polyskel/tree/master
sketch_2024_04_07
sketch_2024_04_06
#scikitgeometry #skgeom
sketch_2024_04_05
sketch_2024_04_04
#OpenSimplexNoise #Numpy
sketch_2024_04_03
sketch_2024_04_02
sketch_2024_04_01
sketch_2024_03_31
sketch_2024_03_30
sketch_2024_03_29
sketch_2024_03_28
sketch_2024_03_27
sketch_2024_03_26
sketch_2024_03_25
sketch_2024_03_24
sketch_2024_03_23
sketch_2024_03_22
sketch_2024_03_21
sketch_2024_03_20
sketch_2024_03_19
sketch_2024_03_18
sketch_2024_03_17
sketch_2024_03_16
sketch_2024_03_15
sketch_2024_03_14
sketch_2024_03_13
sketch_2024_03_12
sketch_2024_03_11
sketch_2024_03_10
sketch_2024_03_09
the red text encodes the neighbours state
sketch_2024_03_08
WIP
sketch_2024_03_07
sketch_2024_03_06
sketch_2024_03_05
sketch_2024_03_04
sketch_2024_03_03
sketch_2024_03_02
sketch_2024_03_01
sketch_2024_02_29
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_27
sketch_2024_02_26
sketch_2024_02_25
Now using #shapely as suggested by @py5coding@fosstodon.org :)
sketch_2024_02_24
circle and line segment collision, based on: http://www.jeffreythompson.org/collision-detection/line-circle.php point_circle
sketch_2024_02_23
rect collisions
sketch_2024_02_22
sketch_2024_02_21
sketch_2024_02_20
sketch_2024_02_19
sketch_2024_02_18
sketch_2024_02_17
sketch_2024_02_16
sketch_2024_02_15
sketch_2024_02_14
sketch_2024_02_13
sketch_2024_02_12
sketch_2024_02_11
sketch_2024_02_10
sketch_2024_02_09
sketch_2024_02_08
Still capture of anolher animated gesture experiment
sketch_2024_02_07
Another animated mouse gesture experiment
sketch_2024_02_06
Another animated mouse gesture experiment
sketch_2024_02_05
Another animated mouse gesture experiment
sketch_2024_02_04
Another animated mouse gesture experiment
sketch_2024_02_03
sketch_2024_02_02
sketch_2024_02_01
sketch_2024_01_31
Sorru, no music.
sketch_2024_01_30
#genuary30 just porting ad using a Processing shader example
sketch_2024_01_29
#genuary29 using a 3D sdf based mesh library
sketch_2024_01_28
sketch_2024_01_27
#genuary27 the gif degraded the color gradients :(
sketch_2024_01_26
#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
#genuary25
sketch_2024_01_24
not engough energy for #genuary24 :(
sketch_2024_01_23
#genuary23
sketch_2024_01_22
#genuary22
sketch_2024_01_21
#genuary21 #LibreTranslatePy #LibreTranslate
sketch_2024_01_20
#genuary20 with shapely
sketch_2024_01_19
#genuary19 Variation of an early flocking experiment
sketch_2024_01_18
#genuary18 Bauhaus (inspired by Albers)
sketch_2024_01_17
Badly done #genuray17
sketch_2024_01_16
#genuary16
sketch_2024_01_15
#genuary15 Physics (using pymunk)
sketch_2024_01_14
#genuary14
sketch_2024_01_13
#genuary13
sketch_2024_01_12
#genuary12 “lava lamp” OpenSimplexNoise
sketch_2024_01_11
#genuary11 inspired by Anni Albers
sketch_2024_01_10
#genuary10 ASCII
sketch_2024_01_09
#genuary9
sketch_2024_01_08
#genuary8 Double-pendulum simulation based on pygame code by Bryan Brickman
sketch_2024_01_07
#genuary7 progress bar
sketch_2024_01_06
#genuary6 screensaver (based on earlier Processing sketches for “tweetprocessing”)
sketch_2024_01_05
#genuary5 d’aprés Vera Molnar “interruptions” (https://collections.vam.ac.uk/item/O1193775/interruptions-drawing-vera-molnar/)
sketch_2024_01_04
#genuary4 pixels
sketch_2024_01_03
#genuary3 droste
sketch_2024_01_02
#genuary2 no palette
sketch_2024_01_01
#genuary1 #genuary2024 lots of particles
2025 | 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.