sketch-a-day/docs/README.md

1824 wiersze
65 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)
2025-05-13 04:12:08 +00:00
## coding a visual idea a day
2024-01-01 20:07:23 +00:00
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.
2025-06-07 13:35:15 +00:00
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 [Wise](https://wise.com/pay/me/alexandrev562).
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-06-27 01:59:40 +00:00
<!-- TOGGLE_CONTROLS_HERE -->
---
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-06-30 02:15:50 +00:00
---
2025-07-01 03:19:18 +00:00
<!-- SKETCHES_START -->
2025-07-21 19:28:30 +00:00
### sketch_2025_07_21
![sketch_2025_07_21](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_07_21/sketch_2025_07_21.gif)
[sketch_2025_07_21](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_07_21) [[py5](https://py5coding.org/)]
---
2025-07-20 13:00:44 +00:00
### sketch_2025_07_20
![sketch_2025_07_20](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_07_20/sketch_2025_07_20.gif)
[sketch_2025_07_20](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_07_20) [[py5](https://py5coding.org/)]
---
2025-07-20 00:43:38 +00:00
### sketch_2025_07_19
![sketch_2025_07_19](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_07_19/sketch_2025_07_19.gif)
[sketch_2025_07_19](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_07_19) [[py5](https://py5coding.org/)]
---
2025-07-19 23:49:06 +00:00
### sketch_2025_07_18
![sketch_2025_07_18](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_07_18/sketch_2025_07_18.gif)
[sketch_2025_07_18](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_07_18) [[py5](https://py5coding.org/)]
---
2025-07-18 02:28:01 +00:00
### sketch_2025_07_17
![sketch_2025_07_17](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_07_17/sketch_2025_07_17.gif)
[sketch_2025_07_17](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_07_17) [[py5](https://py5coding.org/)]
#truchet
---
2025-07-17 02:08:25 +00:00
### sketch_2025_07_16
![sketch_2025_07_16](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_07_16/sketch_2025_07_16.gif)
[sketch_2025_07_16](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_07_16) [[py5](https://py5coding.org/)]
---
2025-07-16 01:57:24 +00:00
### sketch_2025_07_15
![sketch_2025_07_15](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_07_15/sketch_2025_07_15.png)
[sketch_2025_07_15](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_07_15) [[py5](https://py5coding.org/)]
---
2025-07-15 02:53:18 +00:00
### sketch_2025_07_14
![sketch_2025_07_14](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_07_14/sketch_2025_07_14.png)
[sketch_2025_07_14](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_07_14) [[py5](https://py5coding.org/)]
---
2025-07-14 02:44:01 +00:00
### sketch_2025_07_13
![sketch_2025_07_13](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_07_13/sketch_2025_07_13.png)
[sketch_2025_07_13](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_07_13) [Folium]
A small #Folium example.
---
2025-07-13 02:09:16 +00:00
### sketch_2025_07_12
![sketch_2025_07_12](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_07_12/sketch_2025_07_12.png)
[sketch_2025_07_12](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_07_12) [[py5](https://py5coding.org/)]
#QueasyCam
---
2025-07-12 02:08:56 +00:00
### sketch_2025_07_11
![sketch_2025_07_11](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_07_11/sketch_2025_07_11.png)
[sketch_2025_07_11](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_07_11) [[ursina](https://www.ursinaengine.org/)]
Eperimenting with #UrsinaEngine
---
2025-07-11 02:11:05 +00:00
### sketch_2025_07_10
![sketch_2025_07_10](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_07_10/sketch_2025_07_10.gif)
[sketch_2025_07_10](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_07_10) [[py5](https://py5coding.org/)]
---
2025-07-09 20:55:37 +00:00
### sketch_2025_07_09
![sketch_2025_07_09](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_07_09/sketch_2025_07_09.gif)
[sketch_2025_07_09](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_07_09) [[py5](https://py5coding.org/)]
---
2025-07-08 22:16:47 +00:00
### sketch_2025_07_08
![sketch_2025_07_08](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_07_08/sketch_2025_07_08.gif)
[sketch_2025_07_08](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_07_08) [[py5](https://py5coding.org/)]
#trimesh #OpenSimplexNoise
---
2025-07-08 01:24:10 +00:00
### sketch_2025_07_07
![sketch_2025_07_07](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_07_07/sketch_2025_07_07.gif)
[sketch_2025_07_07](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_07_07) [[py5](https://py5coding.org/)]
#trimesh
---
2025-07-06 16:31:36 +00:00
### sketch_2025_07_06
![sketch_2025_07_06](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_07_06/sketch_2025_07_06.gif)
[sketch_2025_07_06](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_07_06) [[py5](https://py5coding.org/)]
2025-07-06 17:53:27 +00:00
Finally I made an arbitrary #trimesh "slab" I've been unsuccessfully thinking about doing for a while...
2025-07-06 16:31:36 +00:00
---
2025-07-06 02:57:55 +00:00
### sketch_2025_07_05
![sketch_2025_07_05](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_07_05/sketch_2025_07_05.gif)
[sketch_2025_07_05](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_07_05) [[py5](https://py5coding.org/)]
I hate to calculate the index of vertices on an array for constructiong faces. So I ended up trying a dictionary with the indices... let's see if this helps with my trimesh studies.
---
2025-07-05 13:03:09 +00:00
### sketch_2025_07_04
![sketch_2025_07_04](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_07_04/sketch_2025_07_04.png)
[sketch_2025_07_04](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_07_04) [[py5](https://py5coding.org/)]
---
2025-07-04 01:37:00 +00:00
### sketch_2025_07_03
![sketch_2025_07_03](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_07_03/sketch_2025_07_03.png)
[sketch_2025_07_03](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_07_03) [[py5](https://py5coding.org/)]
---
2025-07-03 02:15:27 +00:00
### sketch_2025_07_02
![sketch_2025_07_02](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_07_02/sketch_2025_07_02.png)
[sketch_2025_07_02](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_07_02) [[py5](https://py5coding.org/)]
Revisiting a 2018 sketch I like a lot... I should work on this a bit.
---
2025-07-02 18:49:57 +00:00
### sketch_2025_07_01
![sketch_2025_07_01](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_07_01/sketch_2025_07_01.png)
[sketch_2025_07_01](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_07_01) [[py5](https://py5coding.org/)]
---
2025-07-01 03:19:18 +00:00
### sketch_2025_06_30
![sketch_2025_06_30](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_06_30/sketch_2025_06_30.gif)
[sketch_2025_06_30](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_06_30) [[py5](https://py5coding.org/)]
#AlanTuring #TuringPride #Pride
---
2025-06-30 02:15:50 +00:00
### sketch_2025_06_29
![sketch_2025_06_29](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_06_29/sketch_2025_06_29.png)
[sketch_2025_06_29](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_06_29) [[py5](https://py5coding.org/)]
2025-06-29 01:35:47 +00:00
---
### sketch_2025_06_28
![sketch_2025_06_28](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_06_28/sketch_2025_06_28.png)
[sketch_2025_06_28](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_06_28) [[py5](https://py5coding.org/)]
---
### sketch_2025_06_27
![sketch_2025_06_27](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_06_27/sketch_2025_06_27.png)
[sketch_2025_06_27](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_06_27) [Blender Geometry Nodes]
2025-06-26 02:28:05 +00:00
---
2025-06-27 02:34:19 +00:00
### sketch_2025_06_26
![sketch_2025_06_26](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_06_26/sketch_2025_06_26.gif)
[sketch_2025_06_26](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_06_26) [[py5](https://py5coding.org/)]
Back to the #numpy based #flocking experiment based on Nicolas Rougier example in "From Pytnon to Numpy"
2025-06-28 22:41:48 +00:00
---
2025-06-27 01:59:40 +00:00
2025-06-26 02:28:05 +00:00
### sketch_2025_06_25
![sketch_2025_06_25](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_06_25/sketch_2025_06_25.png)
[sketch_2025_06_25](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_06_25) [[py5](https://py5coding.org/)]
2025-06-24 02:04:21 +00:00
---
2025-06-26 02:08:09 +00:00
### sketch_2025_06_24
![sketch_2025_06_24](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_06_24/sketch_2025_06_24.png)
[sketch_2025_06_24](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_06_24) [[FreeCAD](https://freecadweb.org)]
#FreeCAD example made during a class
---
2025-06-24 02:04:21 +00:00
### sketch_2025_06_23
![sketch_2025_06_23](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_06_23/sketch_2025_06_23.png)
[sketch_2025_06_23](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_06_23) [[py5](https://py5coding.org/)]
2025-06-21 19:45:46 +00:00
---
2025-06-22 21:34:25 +00:00
### sketch_2025_06_22
![sketch_2025_06_22](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_06_22/sketch_2025_06_22.png)
[sketch_2025_06_22](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_06_22) [[py5](https://py5coding.org/)]
Not very good WIP... I always struggle to make #trimesh 3D meshes from scratch with #numpy
---
2025-06-21 19:45:46 +00:00
### sketch_2025_06_21
![sketch_2025_06_21](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_06_21/sketch_2025_06_21.gif)
[sketch_2025_06_21](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_06_21) [[py5](https://py5coding.org/)]
2025-06-21 02:30:17 +00:00
---
### sketch_2025_06_20
![sketch_2025_06_20](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_06_20/sketch_2025_06_20.gif)
[sketch_2025_06_20](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_06_20) [[py5](https://py5coding.org/)]
2025-06-19 18:59:34 +00:00
---
### sketch_2025_06_19
![sketch_2025_06_19](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_06_19/sketch_2025_06_19.png)
[sketch_2025_06_19](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_06_19) [[py5](https://py5coding.org/)]
2025-06-19 03:09:57 +00:00
---
### sketch_2025_06_18
![sketch_2025_06_18](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_06_18/sketch_2025_06_18.gif)
[sketch_2025_06_18](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_06_18) [[py5](https://py5coding.org/)]
2025-06-18 19:51:29 +00:00
---
### sketch_2025_06_17
![sketch_2025_06_17](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_06_17/sketch_2025_06_17.png)
[sketch_2025_06_17](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_06_17) [[py5](https://py5coding.org/)]
2025-06-17 02:20:02 +00:00
---
### sketch_2025_06_16
![sketch_2025_06_16](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_06_16/sketch_2025_06_16.gif)
[sketch_2025_06_16](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_06_16) [[py5](https://py5coding.org/)]
2025-06-15 14:25:00 +00:00
---
### sketch_2025_06_15
![sketch_2025_06_15](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_06_15/sketch_2025_06_15.gif)
[sketch_2025_06_15](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_06_15) [[py5](https://py5coding.org/)]
2025-06-15 02:47:48 +00:00
---
### sketch_2025_06_14
![sketch_2025_06_14](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_06_14/sketch_2025_06_14.gif)
[sketch_2025_06_14](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_06_14) [[py5](https://py5coding.org/)]
2025-06-14 15:02:26 +00:00
---
### sketch_2025_06_13
![sketch_2025_06_13](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_06_13/sketch_2025_06_13.png)
[sketch_2025_06_13](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_06_13) [[py5](https://py5coding.org/)]
2025-06-13 01:45:38 +00:00
---
### sketch_2025_06_12
![sketch_2025_06_12](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_06_12/sketch_2025_06_12.gif)
[sketch_2025_06_12](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_06_12) [[py5](https://py5coding.org/)]
2025-06-10 02:11:46 +00:00
---
2025-06-12 01:53:58 +00:00
### sketch_2025_06_11
![sketch_2025_06_11](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_06_11/sketch_2025_06_11.gif)
[sketch_2025_06_11](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_06_11) [[py5](https://py5coding.org/)]
#shapely #trimesh
---
2025-06-11 21:17:43 +00:00
### sketch_2025_06_10
![sketch_2025_06_10](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_06_10/sketch_2025_06_10.png)
[sketch_2025_06_10](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_06_10) [[py5](https://py5coding.org/)]
A #trimesh example used in class yesterday!
---
2025-06-10 02:11:46 +00:00
### sketch_2025_06_09
![sketch_2025_06_09](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_06_09/sketch_2025_06_09.png)
[sketch_2025_06_09](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_06_09) [[py5](https://py5coding.org/)]
2025-06-08 18:07:25 +00:00
---
### sketch_2025_06_08
![sketch_2025_06_08](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_06_08/sketch_2025_06_08.gif)
[sketch_2025_06_08](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_06_08) [[py5](https://py5coding.org/)]
---
### sketch_2025_06_07
![sketch_2025_06_07](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_06_07/sketch_2025_06_07.png)
[sketch_2025_06_07](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_06_07) [[py5](https://py5coding.org/)]
2025-06-07 03:11:18 +00:00
---
### sketch_2025_06_06
![sketch_2025_06_06](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_06_06/sketch_2025_06_06.png)
[sketch_2025_06_06](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_06_06) [[py5](https://py5coding.org/)]
2025-06-05 21:10:46 +00:00
---
### sketch_2025_06_05
![sketch_2025_06_05](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_06_05/sketch_2025_06_05.jpg)
[sketch_2025_06_05](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_06_05) [[py5](https://py5coding.org/)]
2025-06-05 02:10:13 +00:00
---
### sketch_2025_06_04
![sketch_2025_06_04](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_06_04/sketch_2025_06_04.png)
[sketch_2025_06_04](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_06_04) [[py5](https://py5coding.org/)]
2025-06-04 03:16:34 +00:00
---
### sketch_2025_06_03
![sketch_2025_06_03](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_06_03/sketch_2025_06_03.png)
[sketch_2025_06_03](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_06_03) [[py5](https://py5coding.org/)]
2025-06-03 03:30:17 +00:00
---
### sketch_2025_06_02
![sketch_2025_06_02](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_06_02/sketch_2025_06_02.png)
[sketch_2025_06_02](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_06_02) [[py5](https://py5coding.org/)]
2025-06-01 22:56:11 +00:00
---
### sketch_2025_06_01
![sketch_2025_06_01](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_06_01/sketch_2025_06_01.gif)
[sketch_2025_06_01](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_06_01) [[py5](https://py5coding.org/)]
2025-05-31 14:21:26 +00:00
---
### sketch_2025_05_31
![sketch_2025_05_31](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_05_31/sketch_2025_05_31.gif)
[sketch_2025_05_31](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_05_31) [[py5](https://py5coding.org/)]
2025-05-31 03:42:26 +00:00
---
### sketch_2025_05_30
![sketch_2025_05_30](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_05_30/sketch_2025_05_30.gif)
[sketch_2025_05_30](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_05_30) [[py5](https://py5coding.org/)]
---
### sketch_2025_05_29
![sketch_2025_05_29](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_05_29/sketch_2025_05_29.gif)
[sketch_2025_05_29](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_05_29) [[py5](https://py5coding.org/)]
2025-05-29 01:31:25 +00:00
---
### sketch_2025_05_28
![sketch_2025_05_28](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_05_28/sketch_2025_05_28.png)
[sketch_2025_05_28](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_05_28) [[py5](https://py5coding.org/)]
2025-05-27 21:11:19 +00:00
---
### sketch_2025_05_27
![sketch_2025_05_27](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_05_27/sketch_2025_05_27.gif)
[sketch_2025_05_27](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_05_27) [[py5](https://py5coding.org/)]
2025-05-26 12:09:47 +00:00
---
### sketch_2025_05_26
![sketch_2025_05_26](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_05_26/sketch_2025_05_26.gif)
[sketch_2025_05_26](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_05_26) [[py5](https://py5coding.org/)]
2025-05-26 03:06:20 +00:00
---
### sketch_2025_05_25
![sketch_2025_05_25](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_05_25/sketch_2025_05_25.gif)
[sketch_2025_05_25](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_05_25) [[py5](https://py5coding.org/)]
2025-05-25 00:09:56 +00:00
---
### sketch_2025_05_24
![sketch_2025_05_24](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_05_24/sketch_2025_05_24.gif)
[sketch_2025_05_24](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_05_24) [[py5](https://py5coding.org/)]
2025-05-24 02:53:00 +00:00
---
### sketch_2025_05_23
![sketch_2025_05_23](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_05_23/sketch_2025_05_23.gif)
[sketch_2025_05_23](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_05_23) [[py5](https://py5coding.org/)]
2025-05-21 03:48:11 +00:00
---
2025-05-23 03:33:41 +00:00
### sketch_2025_05_22
![sketch_2025_05_22](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_05_22/sketch_2025_05_22.png)
[sketch_2025_05_22](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_05_22) [[py5](https://py5coding.org/)]
WIP
---
2025-05-22 03:48:02 +00:00
### sketch_2025_05_21
![sketch_2025_05_21](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_05_21/sketch_2025_05_21.gif)
[sketch_2025_05_21](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_05_21) [[py5](https://py5coding.org/)]
WIP: reviewing my geometry helpers. Hatch polygon seems... broken.
---
2025-05-21 03:48:11 +00:00
### sketch_2025_05_20
![sketch_2025_05_20](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_05_20/sketch_2025_05_20.gif)
[sketch_2025_05_20](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_05_20) [[py5](https://py5coding.org/)]
2025-05-19 03:06:08 +00:00
---
2025-05-20 03:46:40 +00:00
### sketch_2025_05_19
2025-05-20 14:29:55 +00:00
![sketch_2025_05_19](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_05_19/sketch_2025_05_19.gif)
2025-05-20 03:46:40 +00:00
[sketch_2025_05_19](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_05_19) [[py5](https://py5coding.org/)]
Ome more PeasyCam + mouse selection
---
2025-05-19 03:06:08 +00:00
### sketch_2025_05_18
![sketch_2025_05_18](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_05_18/sketch_2025_05_18.gif)
[sketch_2025_05_18](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_05_18) [[py5](https://py5coding.org/)]
2025-05-17 01:27:18 +00:00
---
2025-05-18 01:08:01 +00:00
### sketch_2025_05_17
![sketch_2025_05_17](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_05_17/sketch_2025_05_17.gif)
[sketch_2025_05_17](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_05_17) [[py5](https://py5coding.org/)]
Zoom, pan and *slick* 3D orbit mouse interaction with insane ease, basically for free, with the PeasyCam library.
---
2025-05-17 01:27:18 +00:00
### sketch_2025_05_16
![sketch_2025_05_16](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_05_16/sketch_2025_05_16.gif)
[sketch_2025_05_16](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_05_16) [[py5](https://py5coding.org/)]
2025-05-16 15:02:31 +00:00
---
### sketch_2025_05_15
![sketch_2025_05_15](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_05_15/sketch_2025_05_15.png)
[sketch_2025_05_15](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_05_15) [[py5](https://py5coding.org/)]
2025-05-16 15:00:44 +00:00
---
### sketch_2025_05_14
![sketch_2025_05_14](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_05_14/sketch_2025_05_14.svg)
[sketch_2025_05_14](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_05_14) [[py5](https://py5coding.org/)]
2025-05-14 03:29:43 +00:00
---
### sketch_2025_05_13
![sketch_2025_05_13](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_05_13/sketch_2025_05_13.png)
[sketch_2025_05_13](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_05_13) [[py5](https://py5coding.org/)]
2025-05-11 17:06:39 +00:00
---
2025-05-12 12:59:33 +00:00
### sketch_2025_05_12
![sketch_2025_05_12](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_05_12/sketch_2025_05_12.gif)
[sketch_2025_05_12](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_05_12) [[py5](https://py5coding.org/)]
One more "snub square tiling" #loop #animation :)
---
2025-05-11 17:06:39 +00:00
### sketch_2025_05_11
![sketch_2025_05_11](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_05_11/sketch_2025_05_11.gif)
[sketch_2025_05_11](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_05_11) [[py5](https://py5coding.org/)]
2025-05-10 15:15:46 +00:00
---
### sketch_2025_05_10
![sketch_2025_05_10](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_05_10/sketch_2025_05_10.png)
[sketch_2025_05_10](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_05_10) [[py5](https://py5coding.org/)]
"snub square tiling"
2025-05-10 02:34:34 +00:00
---
### sketch_2025_05_09
![sketch_2025_05_09](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_05_09/sketch_2025_05_09.png)
[sketch_2025_05_09](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_05_09) [[py5](https://py5coding.org/)]
Work in progress on the "snub square tiling"
2025-05-09 01:39:01 +00:00
---
### sketch_2025_05_08
![sketch_2025_05_08](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_05_08/sketch_2025_05_08.gif)
[sketch_2025_05_08](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_05_08) [[py5](https://py5coding.org/)]
Another take at animating "Cairo tiles" which I tried not long ago (actually in 2023...).
2025-05-08 03:01:13 +00:00
---
### sketch_2025_05_07
![sketch_2025_05_07](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_05_07/sketch_2025_05_07.png)
[sketch_2025_05_07](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_05_07) [[py5](https://py5coding.org/)]
2025-05-07 03:12:39 +00:00
---
### sketch_2025_05_06
![sketch_2025_05_06](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_05_06/sketch_2025_05_06.png)
[sketch_2025_05_06](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_05_06) [[py5](https://py5coding.org/)]
2025-05-06 01:16:32 +00:00
---
### sketch_2025_05_05
![sketch_2025_05_05](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_05_05/sketch_2025_05_05.png)
[sketch_2025_05_05](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_05_05) [[py5](https://py5coding.org/)]
Data from #geobr
2025-05-04 15:23:54 +00:00
---
### sketch_2025_05_04
![sketch_2025_05_04](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_05_04/sketch_2025_05_04.png)
[sketch_2025_05_04](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_05_04) [[py5](https://py5coding.org/)]
Still the Marius Watz inspitation... [check the animated version](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_05_04/out.gif)
2025-05-04 01:57:23 +00:00
---
### sketch_2025_05_03
![sketch_2025_05_03](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_05_03/sketch_2025_05_03.png)
[sketch_2025_05_03](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_05_03) [[py5](https://py5coding.org/)]
2025-05-04 15:23:54 +00:00
heavily inspired by Marius Watz's work I posted recently, from the Processing examples...
2025-05-04 01:57:23 +00:00
2025-05-03 02:54:09 +00:00
---
### sketch_2025_05_02
![sketch_2025_05_02](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_05_02/sketch_2025_05_02.png)
[sketch_2025_05_02](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_05_02) [[py5](https://py5coding.org/)]
2025-05-02 13:40:08 +00:00
---
### sketch_2025_05_01
![sketch_2025_05_01](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_05_01/sketch_2025_05_01.png)
[sketch_2025_05_01](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_05_01) [[py5](https://py5coding.org/)]
I needed to make the bodies KINEMATIC... It was a long time since I tried this I had forgoten all about the these.
---
### sketch_2025_04_30
![sketch_2025_04_30](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_04_30/sketch_2025_04_30.png)
[sketch_2025_04_30](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_04_30) [[py5](https://py5coding.org/)]
Broken! Maybe something in pymunk changed, I have to investigate!
(I rotated the box bodies, the shapes are drawn rotated, but the geometry for the collisions seems not to be rotated...)
2025-04-30 02:31:38 +00:00
---
### sketch_2025_04_29
![sketch_2025_04_29](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_04_29/sketch_2025_04_29.png)
[sketch_2025_04_29](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_04_29) [[py5](https://py5coding.org/)]
2025-04-29 01:14:31 +00:00
---
### sketch_2025_04_28
![sketch_2025_04_28](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_04_28/sketch_2025_04_28.png)
[sketch_2025_04_28](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_04_28) [[py5](https://py5coding.org/)]
A small Pymunk example for class.
No interactive segment-wall drawing for this one. And I can't use pickle for this sketch in imported mode :(
(see previous day for both features and the triangulated polys!)
2025-04-28 03:47:12 +00:00
---
### sketch_2025_04_27
![sketch_2025_04_27](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_04_27/sketch_2025_04_27.gif)
[sketch_2025_04_27](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_04_27) [[py5](https://py5coding.org/)]
2025-04-27 19:31:43 +00:00
---
### sketch_2025_04_26
![sketch_2025_04_26](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_04_26/sketch_2025_04_26.gif)
[sketch_2025_04_26](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_04_26) [[py5](https://py5coding.org/)]
2025-04-26 02:40:39 +00:00
---
### sketch_2025_04_25
![sketch_2025_04_25](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_04_25/sketch_2025_04_25.png)
[sketch_2025_04_25](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_04_25) [[py5](https://py5coding.org/)]
WIP
2025-04-25 03:22:23 +00:00
---
### sketch_2025_04_24
![sketch_2025_04_24](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_04_24/sketch_2025_04_24.png)
[sketch_2025_04_24](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_04_24) [[py5](https://py5coding.org/)]
2025-04-24 00:52:26 +00:00
---
### sketch_2025_04_23
![sketch_2025_04_23](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_04_23/sketch_2025_04_23.gif)
[sketch_2025_04_23](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_04_23) [[py5](https://py5coding.org/)]
2025-04-22 18:42:39 +00:00
---
### sketch_2025_04_22
![sketch_2025_04_22](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_04_22/sketch_2025_04_22.png)
[sketch_2025_04_22](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_04_22) [[py5](https://py5coding.org/)]
2025-04-22 01:13:17 +00:00
---
### sketch_2025_04_21
![sketch_2025_04_21](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_04_21/sketch_2025_04_21.gif)
[sketch_2025_04_21](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_04_21) [[py5](https://py5coding.org/)]
2025-04-21 02:56:52 +00:00
---
### sketch_2025_04_20
![sketch_2025_04_20](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_04_20/sketch_2025_04_20.png)
[sketch_2025_04_20](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_04_20) [[py5](https://py5coding.org/)]
---
### sketch_2025_04_19
![sketch_2025_04_19](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_04_19/sketch_2025_04_19.gif)
[sketch_2025_04_19](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_04_19) [[py5](https://py5coding.org/)]
2025-04-19 12:33:43 +00:00
---
### sketch_2025_04_18
![sketch_2025_04_18](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_04_18/sketch_2025_04_18.png)
[sketch_2025_04_18](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_04_18) [[py5](https://py5coding.org/)]
2025-04-18 02:19:15 +00:00
---
### sketch_2025_04_17
![sketch_2025_04_17](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_04_17/sketch_2025_04_17.png)
[sketch_2025_04_17](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_04_17) [[py5](https://py5coding.org/)]
Yet another GOL...
2025-04-16 14:41:39 +00:00
---
### sketch_2025_04_16
![sketch_2025_04_16](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_04_16/sketch_2025_04_16.png)
[sketch_2025_04_16](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_04_16) [[py5](https://py5coding.org/)]
2025-04-15 23:57:29 +00:00
---
### sketch_2025_04_15
![sketch_2025_04_15](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_04_15/sketch_2025_04_15.png)
[sketch_2025_04_15](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_04_15) [[py5](https://py5coding.org/)]
2025-04-15 02:20:46 +00:00
---
### sketch_2025_04_14
![sketch_2025_04_14](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_04_14/sketch_2025_04_14.png)
[sketch_2025_04_14](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_04_14) [[py5](https://py5coding.org/)]
2025-04-14 03:59:22 +00:00
---
### sketch_2025_04_13
![sketch_2025_04_13](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_04_13/sketch_2025_04_13.png)
[sketch_2025_04_13](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_04_13) [[py5](https://py5coding.org/)]
2025-04-13 04:37:16 +00:00
---
### sketch_2025_04_12
![sketch_2025_04_12](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_04_12/sketch_2025_04_12.gif)
[sketch_2025_04_12](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_04_12) [[py5](https://py5coding.org/)]
2025-04-12 23:27:08 +00:00
---
### sketch_2025_04_11
![sketch_2025_04_11](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_04_11/sketch_2025_04_11.png)
2025-04-12 23:28:16 +00:00
[sketch_2025_04_11](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_04_11) [[leafmap](https://leafmap.org/)]
2025-04-12 23:27:08 +00:00
2025-04-11 15:47:36 +00:00
---
### sketch_2025_04_10
![sketch_2025_04_10](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_04_10/sketch_2025_04_10.png)
[sketch_2025_04_10](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_04_10) [[py5](https://py5coding.org/)]
2025-04-10 02:21:29 +00:00
---
### sketch_2025_04_09
![sketch_2025_04_09](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_04_09/sketch_2025_04_09.png)
[sketch_2025_04_09](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_04_09) [[py5](https://py5coding.org/)]
2025-04-09 13:29:59 +00:00
---
### sketch_2025_04_08
![sketch_2025_04_08](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_04_08/sketch_2025_04_08.png)
[sketch_2025_04_08](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_04_08) [[py5](https://py5coding.org/)]
2025-04-07 20:06:52 +00:00
---
### sketch_2025_04_07
![sketch_2025_04_07](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_04_07/sketch_2025_04_07.png)
[sketch_2025_04_07](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_04_07) [[py5](https://py5coding.org/)]
2025-04-07 16:30:05 +00:00
---
### sketch_2025_04_06
![sketch_2025_04_06](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_04_06/sketch_2025_04_06.png)
[sketch_2025_04_06](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_04_06) [[py5](https://py5coding.org/)]
2025-04-06 02:49:08 +00:00
---
### sketch_2025_04_05
![sketch_2025_04_05](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_04_05/sketch_2025_04_05.gif)
[sketch_2025_04_05](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_04_05) [[py5](https://py5coding.org/)]
2025-04-05 01:11:46 +00:00
---
### sketch_2025_04_04
![sketch_2025_04_04](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_04_04/sketch_2025_04_04.jpg)
[sketch_2025_04_04](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_04_04) [[py5](https://py5coding.org/)]
2025-04-04 03:22:07 +00:00
---
2025-04-04 03:37:08 +00:00
### sketch_2025_04_03
2025-04-04 03:22:07 +00:00
2025-04-04 03:37:08 +00:00
![sketch_2025_04_03](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_04_03/sketch_2025_04_03.png)
2025-04-04 03:22:07 +00:00
2025-04-04 03:37:08 +00:00
[sketch_2025_04_03](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_04_03) [[py5](https://py5coding.org/)]
2025-04-04 03:22:07 +00:00
2025-04-03 02:40:15 +00:00
---
### sketch_2025_04_02
![sketch_2025_04_02](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_04_02/sketch_2025_04_02.png)
[sketch_2025_04_02](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_04_02) [[py5](https://py5coding.org/)]
#LSystem
---
### sketch_2025_04_01
![sketch_2025_04_01](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_04_01/sketch_2025_04_01.png)
[sketch_2025_04_01](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_04_01) [[py5](https://py5coding.org/)]
2025-04-01 13:56:40 +00:00
---
### sketch_2025_03_31
![sketch_2025_03_31](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_03_31/sketch_2025_03_31.png)
[sketch_2025_03_31](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_03_31) [[py5](https://py5coding.org/)]
Done during class.
2025-03-31 02:22:04 +00:00
---
### sketch_2025_03_30
![sketch_2025_03_30](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_03_30/sketch_2025_03_30.png)
[sketch_2025_03_30](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_03_30) [[py5](https://py5coding.org/)]
2025-03-29 23:54:23 +00:00
---
### sketch_2025_03_29
![sketch_2025_03_29](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_03_29/sketch_2025_03_29.gif)
[sketch_2025_03_29](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_03_29) [[py5](https://py5coding.org/)]
Trying to adapt an awesome zoom strategy from my dear friend @Introscopia@coletivos.org
2025-03-29 03:24:45 +00:00
---
### sketch_2025_03_28
![sketch_2025_03_28](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_03_28/sketch_2025_03_28.gif)
[sketch_2025_03_28](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_03_28) [[py5](https://py5coding.org/)]
2025-03-28 03:27:26 +00:00
---
### sketch_2025_03_27
![sketch_2025_03_27](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_03_27/sketch_2025_03_27.gif)
[sketch_2025_03_27](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_03_27) [[py5](https://py5coding.org/)]
2025-03-27 21:26:45 +00:00
---
### sketch_2025_03_26
![sketch_2025_03_26](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_03_26/sketch_2025_03_26.png)
[sketch_2025_03_26](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_03_26) [[py5](https://py5coding.org/)]
2025-03-25 21:16:43 +00:00
---
### sketch_2025_03_25
![sketch_2025_03_25](https://raw.githubusercontent.com/villares/sketch-a-day/main/2025/sketch_2025_03_25/sketch_2025_03_25.png)
[sketch_2025_03_25](https://github.com/villares/sketch-a-day/tree/main/2025/sketch_2025_03_25) [[py5](https://py5coding.org/)]
Astronaut Eileen Collins
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/)]
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-06-30 14:49:15 +00:00
<!-- SKETCHES_END -->
2025-06-27 01:59:40 +00:00
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>