sketch-a-day/docs/README.md

832 wiersze
30 KiB
Markdown
Czysty Zwykły widok Historia

2024-01-01 20:07:23 +00:00
# [sketch-a-day](https://abav.lugaralgum.com/sketch-a-day)
#### coding a visual idea a day
2024-07-02 03:00:36 +00:00
Welcome! My name is [Alexandre Villares](https://abav.lugaralgum.com) and since January, 2018 I have been coding *sketches* everyday, publishing the source code in the same repository that stores this page, [github.com/villares/sketch-a-day](https://github.com/villares/sketch-a-day).
2024-01-01 20:07:23 +00:00
2024-07-02 03:00:36 +00:00
The results here are mostly tentative, exploratory, and I dont feel like they need to be relevant or meaningful on any particular day. The everyday practice leads to the emergence of ideas that I consider interesting, worthy of further exploration. Some of those have been added to [selected work](https://abav.lugaralgum.com/selected-work/index-EN.html), this collection itself became valuable for me, and it is my pleasure to share it with anyone willing to explore coding as a creative and expressive medium.
2024-01-01 20:07:23 +00:00
2024-07-02 03:00:36 +00:00
You can follow me on Mastodon [@villares@ciberlandia.pt](https://ciberlandia.pt/@villares) or at <a rel="me" href="https://pynews.com.br/@villares">@villares@pynews.com.br</a>, where I post most of my daily sketches. Please do not hesitate to [contact me](http://contato.lugaralgum.com) regarding licenses to use my work, teaching opportunities, consulting or other projects.
If you appreciate what I have been doing, you may also support my artistic work, research and open educational resources I publish on-line using the Brazilan PIX key at `46c37783-5edb-4f1c-b3a8-1309db11488c`, [PayPal](https://www.paypal.com/donate/?hosted_button_id=5B4MZ78C9J724) or [gumroad.com/villares](https://gumroad.com/villares), where you can subscribe to my [[sketch-mail](https://villares.gumroad.com/l/sketch-mail)] newsletter.
2024-01-01 20:07:23 +00:00
2024-12-23 20:09:40 +00:00
<link
2024-01-01 20:07:23 +00:00
rel="alternate"
type="application/rss+xml"
2024-12-23 20:09:40 +00:00
href="http://pynews.com.br/@villares.rss"
title="RSS Feed">
2024-01-01 20:07:23 +00:00
---
2025-01-02 02:03:56 +00:00
2025 \| [<b>2024</b>](2024.md) \| [<b>2023</b>](2023.md) \| [<b>2022</b>](2022.md) \| [<b>2021</b>](2021.md) \| [<b>2020</b>](2020.md) \| [<b>2019</b>](2019.md) \| [<b>2018</b>](2018.md)
2025-03-23 02:00:16 +00:00
2025-03-25 02:49:30 +00:00
---
### sketch_2025_03_24
![sketch_2025_03_24](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_03_24/sketch_2025_03_24.png)
[sketch_2025_03_24](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_03_24) [[py5](https://py5coding.org/)]
2025-03-24 03:31:40 +00:00
---
### sketch_2025_03_23
![sketch_2025_03_23](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_03_23/sketch_2025_03_23.gif)
[sketch_2025_03_23](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_03_23) [[py5](https://py5coding.org/)]
2025-03-23 02:00:16 +00:00
---
### sketch_2025_03_22
![sketch_2025_03_22](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_03_22/sketch_2025_03_22.png)
[sketch_2025_03_22](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_03_22) [[py5](https://py5coding.org/)]
2024-01-08 22:51:48 +00:00
2025-03-19 02:40:55 +00:00
2025-03-22 14:22:10 +00:00
---
### sketch_2025_03_21
![sketch_2025_03_21](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_03_21/sketch_2025_03_21.png)
[sketch_2025_03_21](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_03_21) [[py5](https://py5coding.org/)]
2025-03-21 02:56:47 +00:00
---
### sketch_2025_03_20
![sketch_2025_03_20](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_03_20/sketch_2025_03_20.gif)
[sketch_2025_03_20](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_03_20) [[py5](https://py5coding.org/)]
2025-03-21 02:47:14 +00:00
---
### sketch_2025_03_19
![sketch_2025_03_19](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_03_19/sketch_2025_03_19.gif)
[sketch_2025_03_19](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_03_19) [[py5](https://py5coding.org/)]
2025-03-19 02:40:55 +00:00
---
### sketch_2025_03_18
![sketch_2025_03_18](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_03_18/sketch_2025_03_18.gif)
[sketch_2025_03_18](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_03_18) [[py5](https://py5coding.org/)]
2025-03-18 15:39:20 +00:00
---
### sketch_2025_03_17
![sketch_2025_03_17](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_03_17/sketch_2025_03_17.png)
[sketch_2025_03_17](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_03_17) [[py5](https://py5coding.org/)]
2025-03-17 01:53:10 +00:00
---
### sketch_2025_03_16
![sketch_2025_03_16](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_03_16/sketch_2025_03_16.gif)
[sketch_2025_03_16](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_03_16) [[py5](https://py5coding.org/)]
2025-03-15 23:24:25 +00:00
---
### sketch_2025_03_15
![sketch_2025_03_15](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_03_15/sketch_2025_03_15.gif)
[sketch_2025_03_15](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_03_15) [[py5](https://py5coding.org/)]
2025-03-15 00:50:18 +00:00
---
### sketch_2025_03_14
![sketch_2025_03_14](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_03_14/sketch_2025_03_14.png)
[sketch_2025_03_14](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_03_14) [[py5](https://py5coding.org/)]
2025-03-14 00:35:40 +00:00
---
### sketch_2025_03_13
![sketch_2025_03_13](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_03_13/sketch_2025_03_13.png)
[sketch_2025_03_13](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_03_13) [[py5](https://py5coding.org/)]
2025-03-12 01:25:54 +00:00
---
2025-03-13 01:58:20 +00:00
### sketch_2025_03_12
![sketch_2025_03_12](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_03_12/sketch_2025_03_12.png)
[sketch_2025_03_12](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_03_12) [[py5](https://py5coding.org/)]
Work in progress... #OpenStreetMap data as usual #osmnx
---
2025-03-12 01:25:54 +00:00
### sketch_2025_03_11
![sketch_2025_03_11](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_03_11/sketch_2025_03_11.gif)
[sketch_2025_03_11](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_03_11) [[py5](https://py5coding.org/)]
2025-03-11 01:27:05 +00:00
---
### sketch_2025_03_10
![sketch_2025_03_10](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_03_10/sketch_2025_03_10.png)
[sketch_2025_03_10](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_03_10) [[py5](https://py5coding.org/)]
2025-03-10 00:06:52 +00:00
---
### sketch_2025_03_09
![sketch_2025_03_09](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_03_09/sketch_2025_03_09.png)
[sketch_2025_03_09](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_03_09) [[py5](https://py5coding.org/)]
2025-03-08 19:26:54 +00:00
---
### sketch_2025_03_08
![sketch_2025_03_08](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_03_08/sketch_2025_03_08.png)
[sketch_2025_03_08](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_03_08) [[py5](https://py5coding.org/)]
2025-03-08 02:55:29 +00:00
---
### sketch_2025_03_07
![sketch_2025_03_07](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_03_07/sketch_2025_03_07.png)
[sketch_2025_03_07](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_03_07) [[py5](https://py5coding.org/)]
2025-03-05 00:22:15 +00:00
---
2025-03-07 02:05:05 +00:00
### sketch_2025_03_06
![sketch_2025_03_06](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_03_06/sketch_2025_03_06.png)
[sketch_2025_03_06](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_03_06) [[py5](https://py5coding.org/)]
Collage from "Mercado Municipal (São Paulo)" by Wilfredo Rafael Rodriguez Hernandez (Wilfredor)
https://commons.wikimedia.org/wiki/File:Mercado_Municipal_(S%C3%A3o_Paulo)_16.jpg
Creative Commons Attribution-Share Alike 4.0 International license.
---
2025-03-06 02:02:00 +00:00
### sketch_2025_03_05
![sketch_2025_03_05](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_03_05/sketch_2025_03_05.png)
[sketch_2025_03_05](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_03_05) [[py5](https://py5coding.org/)]
Demo of raster clipping/masking with #py5 and #numpy.
---
2025-03-05 00:22:15 +00:00
### sketch_2025_03_04
![sketch_2025_03_04](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_03_04/sketch_2025_03_04.gif)
[sketch_2025_03_04](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_03_04) [[py5](https://py5coding.org/)]
2025-03-04 02:03:43 +00:00
---
### sketch_2025_03_03
![sketch_2025_03_03](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_03_03/sketch_2025_03_03.gif)
[sketch_2025_03_03](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_03_03) [[py5](https://py5coding.org/)]
2025-03-03 03:14:19 +00:00
---
### sketch_2025_03_02
![sketch_2025_03_02](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_03_02/sketch_2025_03_02.gif)
[sketch_2025_03_02](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_03_02) [[py5](https://py5coding.org/)]
2025-03-02 01:03:59 +00:00
---
### sketch_2025_03_01
![sketch_2025_03_01](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_03_01/sketch_2025_03_01.gif)
[sketch_2025_03_01](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_03_01) [[py5](https://py5coding.org/)]
2025-02-27 19:50:56 +00:00
---
2025-03-01 01:30:53 +00:00
### sketch_2025_02_28
![sketch_2025_02_28](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_02_28/sketch_2025_02_28.gif)
[sketch_2025_02_28](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_02_28) [[py5](https://py5coding.org/)]
Domingo vai ter oficina de GIFs animados no Garoa... [versão maior da animação](sketch_2025_02_28_maior.gif)
---
2025-02-27 19:50:56 +00:00
### sketch_2025_02_27
![sketch_2025_02_27](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_02_27/sketch_2025_02_27.png)
[sketch_2025_02_27](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_02_27) [[py5](https://py5coding.org/)]
2025-02-27 12:32:27 +00:00
---
### sketch_2025_02_26
![sketch_2025_02_26](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_02_26/sketch_2025_02_26.png)
[sketch_2025_02_26](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_02_26) [[py5](https://py5coding.org/)]
2025-02-24 02:37:58 +00:00
---
2025-02-26 03:40:10 +00:00
### sketch_2025_02_25
![sketch_2025_02_25](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_02_25/sketch_2025_02_25.png)
[sketch_2025_02_25](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_02_25) [[py5](https://py5coding.org/)]
Adding basic zoom and pan
---
2025-02-25 03:12:40 +00:00
### sketch_2025_02_24
![sketch_2025_02_24](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_02_24/sketch_2025_02_24.png)
[sketch_2025_02_24](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_02_24) [[py5](https://py5coding.org/)]
Poly data (c) OpenStreetMap contributors
https://www.openstreetmap.org/copyright
---
2025-02-24 02:37:58 +00:00
### sketch_2025_02_23
![sketch_2025_02_23](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_02_23/sketch_2025_02_23.png)
[sketch_2025_02_23](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_02_23) [[py5](https://py5coding.org/)]
2025-02-23 02:24:46 +00:00
---
### sketch_2025_02_22
![sketch_2025_02_22](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_02_22/sketch_2025_02_22.png)
[sketch_2025_02_22](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_02_22) [[py5](https://py5coding.org/)]
---
### sketch_2025_02_21
![sketch_2025_02_21](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_02_21/sketch_2025_02_21.png)
[sketch_2025_02_21](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_02_21) [matplotlib]
2025-02-20 03:43:09 +00:00
---
2025-02-21 02:35:32 +00:00
### sketch_2025_02_20
![sketch_2025_02_20](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_02_20/sketch_2025_02_20.gif)
[sketch_2025_02_20](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_02_20) [[py5](https://py5coding.org/)]
#ControlP5 example. This is a Processing Java library, but it can be used with py5 :)
---
2025-02-20 03:43:09 +00:00
### sketch_2025_02_19
![sketch_2025_02_19](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_02_19/sketch_2025_02_19.gif)
[sketch_2025_02_19](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_02_19) [[py5](https://py5coding.org/)]
2025-02-18 17:20:15 +00:00
---
### sketch_2025_02_18
![sketch_2025_02_18](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_02_18/sketch_2025_02_18.gif)
[sketch_2025_02_18](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_02_18) [[py5](https://py5coding.org/)]
2025-02-18 01:31:58 +00:00
---
### sketch_2025_02_17
![sketch_2025_02_17](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_02_17/sketch_2025_02_17.gif)
[sketch_2025_02_17](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_02_17) [[py5](https://py5coding.org/)]
2025-02-15 14:18:11 +00:00
---
2025-02-16 18:22:19 +00:00
### sketch_2025_02_16
![sketch_2025_02_16](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_02_16/sketch_2025_02_16.gif)
[sketch_2025_02_16](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_02_16) [[py5](https://py5coding.org/)]
#DelaunayTriangulations and #TravelingSalesmanProblem investigations with #SciPy can be in 3D too :)
---
2025-02-15 14:18:11 +00:00
### sketch_2025_02_15
![sketch_2025_02_15](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_02_15/sketch_2025_02_15.png)
[sketch_2025_02_15](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_02_15) [[py5](https://py5coding.org/)]
2025-02-14 22:26:16 +00:00
---
### sketch_2025_02_14
![sketch_2025_02_14](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_02_14/sketch_2025_02_14.gif)
[sketch_2025_02_14](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_02_14) [[py5](https://py5coding.org/)]
2025-02-14 02:58:10 +00:00
---
### sketch_2025_02_13
![sketch_2025_02_13](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_02_13/sketch_2025_02_13.gif)
[sketch_2025_02_13](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_02_13) [[py5](https://py5coding.org/)]
#SciPy.spatial #ConvexHull and #MinimalSpanningTree
2025-02-13 02:27:00 +00:00
---
### sketch_2025_02_12
![sketch_2025_02_12](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_02_12/sketch_2025_02_12.png)
[sketch_2025_02_12](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_02_12) [[py5](https://py5coding.org/)]
2025-02-12 03:18:11 +00:00
---
### sketch_2025_02_11
![sketch_2025_02_11](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_02_11/sketch_2025_02_11.gif)
[sketch_2025_02_11](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_02_11) [[py5](https://py5coding.org/)]
#TravellingSalesmanProblem #MinimalSpanningTree #SciPy #graphs
2025-02-11 03:40:41 +00:00
---
### sketch_2025_02_10
![sketch_2025_02_10](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_02_10/sketch_2025_02_10.gif)
[sketch_2025_02_10](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_02_10) [[py5](https://py5coding.org/)]
Naive "nearest neighbor" #TravelingSalesmanProblem aproximation with just #scipy, fast but crude. Maybe tomorrow I'll try to implement something from a scientific paper on the problem, or maybe a naive genetic algorithm just for fun.
2025-02-10 13:29:06 +00:00
---
### sketch_2025_02_09
![sketch_2025_02_09](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_02_09/sketch_2025_02_09.gif)
[sketch_2025_02_09](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_02_09) [[py5](https://py5coding.org/)]
#networkx #TSP approximation
2025-02-09 02:34:11 +00:00
---
### sketch_2025_02_08
![sketch_2025_02_08](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_02_08/sketch_2025_02_08.gif)
[sketch_2025_02_08](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_02_08) [[py5](https://py5coding.org/)]
#MinimalSpanningTree #networkx
2025-02-08 04:07:17 +00:00
---
### sketch_2025_02_07
![sketch_2025_02_07](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_02_07/sketch_2025_02_07.gif)
[sketch_2025_02_07](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_02_07) [[py5](https://py5coding.org/)]
#networkx #MinimumSpanningTree
2025-02-07 02:31:00 +00:00
---
### sketch_2025_02_06
![sketch_2025_02_06](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_02_06/sketch_2025_02_06.gif)
[sketch_2025_02_06](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_02_06) [[py5](https://py5coding.org/)]
2025-02-06 02:29:49 +00:00
---
### sketch_2025_02_05
![sketch_2025_02_05](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_02_05/sketch_2025_02_05.png)
[sketch_2025_02_05](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_02_05) [[py5](https://py5coding.org/)]
2025-02-05 00:05:56 +00:00
---
### sketch_2025_02_04
![sketch_2025_02_04](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_02_04/sketch_2025_02_04.png)
[sketch_2025_02_04](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_02_04) [[py5](https://py5coding.org/)]
2025-02-04 03:49:43 +00:00
---
### sketch_2025_02_03
![sketch_2025_02_03](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_02_03/sketch_2025_02_03.png)
[sketch_2025_02_03](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_02_03) [[py5](https://py5coding.org/)]
2025-02-03 02:37:12 +00:00
---
### sketch_2025_02_02
![sketch_2025_02_02](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_02_02/sketch_2025_02_02.png)
[sketch_2025_02_02](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_02_02) [[py5](https://py5coding.org/)]
2025-02-02 18:04:46 +00:00
---
### sketch_2025_02_01
![sketch_2025_02_01](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_02_01/sketch_2025_02_01.png)
[sketch_2025_02_01](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_02_01) [[py5](https://py5coding.org/)]
Another #PixelSorting experiment I didn't heve the energy to try yesterday, also from an earlier #OSNoise sketch idea + #NumPy.
2025-02-01 03:50:05 +00:00
---
### sketch_2025_01_31
![sketch_2025_01_31](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_01_31/sketch_2025_01_31.gif)
[sketch_2025_01_31](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_01_31) [[py5](https://py5coding.org/)]
Using #numpy.sort on a variation of the previous sketch, animating a few frames, but the color compression is brutal :(
---
### sketch_2025_01_30
![sketch_2025_01_30](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_01_30/sketch_2025_01_30.png)
[sketch_2025_01_30](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_01_30) [[py5](https://py5coding.org/)]
2025-01-30 00:07:31 +00:00
---
### sketch_2025_01_29
![sketch_2025_01_29](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_01_29/sketch_2025_01_29.png)
[sketch_2025_01_29](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_01_29) [[py5](https://py5coding.org/)]
[animated screen capture](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_01_29/sketch_2025_01_29.mp4)
2025-01-28 02:38:08 +00:00
---
2025-01-29 03:19:46 +00:00
### sketch_2025_01_28
![sketch_2025_01_28](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_01_28/sketch_2025_01_28.png)
[sketch_2025_01_28](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_01_28) [[py5](https://py5coding.org/)]
2025-01-30 00:07:31 +00:00
[animated screen capture](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_01_28/sketch_2025_01_28.mp4)
2025-01-29 03:19:46 +00:00
Interactive OpenSimplexNoise based "infinite scroll" #genuary28 #genuary2025
2025-01-28 02:38:08 +00:00
### sketch_2025_01_27
![sketch_2025_01_27](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_01_27/sketch_2025_01_27.png)
[sketch_2025_01_27](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_01_27) [[py5](https://py5coding.org/)]
2025-01-27 02:47:13 +00:00
---
### sketch_2025_01_26
![sketch_2025_01_26](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_01_26/sketch_2025_01_26.gif)
[sketch_2025_01_26](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_01_26) [[py5](https://py5coding.org/)]
2025-01-26 03:15:44 +00:00
---
### sketch_2025_01_25
![sketch_2025_01_25](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_01_25/sketch_2025_01_25.gif)
[sketch_2025_01_25](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_01_25) [[py5](https://py5coding.org/)]
2025-01-25 02:51:24 +00:00
---
### sketch_2025_01_24
![sketch_2025_01_24](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_01_24/sketch_2025_01_24.png)
[sketch_2025_01_24](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_01_24) [p5js]
2025-01-25 03:08:33 +00:00
I'm too sad to make my own #genuary sketch because of news of [Vamoss](https://openprocessing.org/user/65884) passing away. I decided to just tweak one of his openprocessing sketches, he loved that people could work on top of his code. We will miss him so much. His inspiring energy will live on.
2025-01-25 02:51:24 +00:00
---
### sketch_2025_01_23
![sketch_2025_01_23](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_01_23/sketch_2025_01_23.gif)
[sketch_2025_01_23](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_01_23) [[py5](https://py5coding.org/)]
2025-01-23 01:15:07 +00:00
---
### sketch_2025_01_22
![sketch_2025_01_22](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_01_22/sketch_2025_01_22.png)
[animation](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_01_22/sketch_2025_01_22.mp4)
[sketch_2025_01_22](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_01_22) [[py5](https://py5coding.org/)]
2025-01-22 03:20:16 +00:00
---
### sketch_2025_01_21
![sketch_2025_01_21](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_01_21/sketch_2025_01_21.gif)
[sketch_2025_01_21](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_01_21) [[py5](https://py5coding.org/)]
#genuary21
2025-01-20 21:45:02 +00:00
### sketch_2025_01_20
![sketch_2025_01_20](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_01_20/sketch_2025_01_20.gif)
[sketch_2025_01_20](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_01_20) [[py5](https://py5coding.org/)]
#genuary20
2025-01-22 03:20:16 +00:00
### sketch_2025_01_19
![sketch_2025_01_19](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_01_19/sketch_2025_01_19.gif)
[sketch_2025_01_19](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_01_19) [[py5](https://py5coding.org/)]
#genuary2025 #genuary19 Homage to Jesús Soto.
2025-01-19 02:46:21 +00:00
---
### sketch_2025_01_18
![sketch_2025_01_18](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_01_18/sketch_2025_01_18.gif)
[sketch_2025_01_18](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_01_18) [[py5](https://py5coding.org/)]
A lazy rehash of a PyMunk sketch
2025-01-18 03:20:52 +00:00
---
### sketch_2025_01_17
![sketch_2025_01_17](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_01_17/sketch_2025_01_17.gif)
[sketch_2025_01_17](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_01_17) [[py5](https://py5coding.org/)]
#genuary2025 #genuary17
2025-01-16 23:56:41 +00:00
---
### sketch_2025_01_16
![sketch_2025_01_16](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_01_16/sketch_2025_01_16.gif)
[sketch_2025_01_16](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_01_16) [[py5](https://py5coding.org/)]
2025-01-15 20:51:14 +00:00
---
### sketch_2025_01_15
![sketch_2025_01_15](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_01_15/sketch_2025_01_15.png)
[sketch_2025_01_15](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_01_15) [[py5](https://py5coding.org/)]
#genuary2025 #genuary15
2025-01-14 15:34:19 +00:00
---
### sketch_2025_01_14
![sketch_2025_01_14](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_01_14/sketch_2025_01_14.png)
[sketch_2025_01_14](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_01_14) [[py5](https://py5coding.org/)]
#genuary2025 #genurary14
2025-01-13 12:55:43 +00:00
---
### sketch_2025_01_13
![sketch_2025_01_13](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_01_13/sketch_2025_01_13.png)
[sketch_2025_01_13](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_01_13) [[py5](https://py5coding.org/)]
2025-01-13 01:50:33 +00:00
---
### sketch_2025_01_12
![sketch_2025_01_12](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_01_12/sketch_2025_01_12.png)
[sketch_2025_01_12](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_01_12) [[py5](https://py5coding.org/)]
#genuary2025 #genuary12
2025-01-12 02:41:32 +00:00
---
### sketch_2025_01_11
![sketch_2025_01_11](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_01_11/sketch_2025_01_11.png)
[sketch_2025_01_11](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_01_11) [[py5](https://py5coding.org/)]
#Wolfram #genuary2025 #genuary11 I wanted to optimize with NumPy but couldn't do much, the drawing part needs more work...
2025-01-11 01:13:26 +00:00
---
### sketch_2025_01_10
2025-01-11 01:25:00 +00:00
![sketch_2025_01_10](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_01_10/sketch_2025_01_10.png)
2025-01-11 01:13:26 +00:00
[sketch_2025_01_10](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_01_10) [[py5](https://py5coding.org/)]
2025-01-11 01:25:00 +00:00
#genuary2025 #genuary10 Tau is the only number contant... (based on genuary 8)
2025-01-11 01:13:26 +00:00
2025-01-10 02:49:16 +00:00
---
### sketch_2025_01_09
![sketch_2025_01_09](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_01_09/sketch_2025_01_09.png)
[sketch_2025_01_09](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_01_09) [[py5](https://py5coding.org/)]
I'd love to see Wolfram's "rule 30" on my bus seats! #genuary9 #genuary2025
2025-01-09 02:33:33 +00:00
---
### sketch_2025_01_08
![sketch_2025_01_08](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_01_08/sketch_2025_01_08.png)
[sketch_2025_01_08](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_01_08) [[py5](https://py5coding.org/)]
4000 white points randomly selected from the volume of a sphere, rotated over the Y axis and redrawn 250 times. #genuary2025 #genuary8
2025-01-08 01:55:53 +00:00
---
### sketch_2025_01_07
![sketch_2025_01_07](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_01_07/sketch_2025_01_07.png)
[sketch_2025_01_07](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_01_07) [python]
#pyautogui #LibreOffice
2025-01-07 02:46:26 +00:00
---
### sketch_2025_01_06
![sketch_2025_01_06](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_01_06/sketch_2025_01_06.png)
[sketch_2025_01_06](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_01_06) [[py5](https://py5coding.org/)]
2025-01-06 02:16:44 +00:00
---
### sketch_2025_01_05
![sketch_2025_01_05](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_01_05/sketch_2025_01_05.gif)
2025-01-06 02:21:07 +00:00
[animation](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_01_05/out.gif)
2025-01-06 02:16:44 +00:00
2025-01-06 02:21:07 +00:00
[sketch_2025_01_05](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_01_05) [[py5](https://py5coding.org/)]
2025-01-06 02:16:44 +00:00
2025-01-05 00:45:13 +00:00
---
### sketch_2025_01_04
![sketch_2025_01_04](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_01_04/sketch_2025_01_04.png)
[sketch_2025_01_04](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_01_04) [[py5](https://py5coding.org/)]
2025-01-04 02:43:26 +00:00
---
### sketch_2025_01_03
![sketch_2025_01_03](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_01_03/sketch_2025_01_03.png)
2025-01-04 20:39:26 +00:00
The next day I think I improved it:
![sketch_2025_01_03b](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_01_03/sketch_2025_01_03b.png)
2025-01-04 02:43:26 +00:00
[sketch_2025_01_03](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_01_03) [[py5](https://py5coding.org/)]
#genuary3 #genuary2025 "42 lines of code"
2025-01-03 02:40:56 +00:00
---
### sketch_2025_01_02
![sketch_2025_01_02](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_01_02/sketch_2025_01_02.png)
[sketch_2025_01_02](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_01_02) [[py5](https://py5coding.org/)]
#genuary2 #genuary2025 layers and layers.
2024-01-08 22:51:48 +00:00
---
2025-01-02 02:15:29 +00:00
### sketch_2025_01_01
![sketch_2025_01_01](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_01_01/sketch_2025_01_01.gif)
[sketch_2025_01_01](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_01_01) [[py5](https://py5coding.org/)]
2024-01-01 20:07:23 +00:00
---
2025-01-02 02:03:56 +00:00
2025 \| [<b>2024</b>](2024.md) \| [<b>2023</b>](2023.md) \| [<b>2022</b>](2022.md) \| [<b>2021</b>](2021.md) \| [<b>2020</b>](2020.md) \| [<b>2019</b>](2019.md) \| [<b>2018</b>](2018.md)
2025-01-02 02:15:29 +00:00
2024-01-01 20:07:23 +00:00
---
2024-03-25 13:59:50 +00:00
<p xmlns:cc="http://creativecommons.org/ns#" xmlns:dct="http://purl.org/dc/terms/">The <a property="dct:title" rel="cc:attributionURL" href="https://abav.lugaralgum.com/sketch-a-day">sketch-a-day</a> project, images and code repository, by <a rel="cc:attributionURL dct:creator" property="cc:attributionName" href="https://abav.lugaralgum.com">Alexandre B A Villares</a> are licensed under <a href="http://creativecommons.org/licenses/by-nc-nd/4.0/?ref=chooser-v1" target="_blank" rel="license noopener noreferrer" style="display:inline-block;">Attribution-NonCommercial-NoDerivatives 4.0 International <img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;" src="https://github.com/villares/sketch-a-day/assets/3694604/061f1e34-5559-4468-b476-e9cdf3fcc2ed"><img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;" src="https://github.com/villares/sketch-a-day/assets/3694604/8515025d-fa94-4fa4-8531-41238ba125ad"><img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;" src="https://github.com/villares/sketch-a-day/assets/3694604/2917f4d1-28d7-472b-927a-d7c6cb6c9f86"><img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;" src="https://github.com/villares/sketch-a-day/assets/3694604/544bcc6a-ddb2-44c7-99a6-46b6997ca8c0"></a>, except if marked/attributed otherwise in a file or code section. Please contact for licensing questions.</p>