Alexandre B A Villares


sketch-a-day

coding a visual idea a day


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


sketch_2024_12_31

sketch_2024_12_31

sketch_2024_12_31 [py5]

Hoping 2025 will be a good year!


sketch_2024_12_30

sketch_2024_12_30

sketch_2024_12_30 [py5]


sketch_2024_12_29

sketch_2024_12_29

sketch_2024_12_29 [py5]


sketch_2024_12_28

video

sketch_2024_12_28 [py5]


sketch_2024_12_27

sketch_2024_12_27

sketch_2024_12_27 [py5]


sketch_2024_12_26

sketch_2024_12_26

sketch_2024_12_26 [py5]


sketch_2024_12_25

sketch_2024_12_25

sketch_2024_12_25 [py5]


sketch_2024_12_24

sketch_2024_12_24

sketch_2024_12_24 [py5]


sketch_2024_12_23

sketch_2024_12_23

sketch_2024_12_23 [py5]


sketch_2024_12_22

sketch_2024_12_22

sketch_2024_12_22 [py5]

tris = sequence.reshape(20,3)
face_centers = vs[tris].mean(axis=1)  

sketch_2024_12_21

sketch_2024_12_21

sketch_2024_12_21 [py5]

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

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


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.