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

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.