One visual idea a day py5 processing python
 
 
 
 
 
Go to file
Alexandre B A Villares 9a13a6eec3 339 2018-12-03 09:33:50 -02:00
_layouts
assets/css Update style.css 2018-05-04 10:13:33 -03:00
s041
s042
s043
s044
s045
s045b
s046
s047
s048
s049
s050
s051
s052
s053
s054
s055
s056
s057
s058
s059
s060
s061
s062
s063
s064
s065
s066
s067 day 68 2018-03-09 22:08:04 -03:00
s068 fixed 68's comments! 2018-03-10 10:28:29 -03:00
s069 fixing comments 2018-03-11 19:06:38 -03:00
s070 71 2018-03-12 22:29:33 -03:00
s071 71 2018-03-12 22:29:33 -03:00
s072 say 73 2018-03-14 11:23:57 -03:00
s073 comments 2018-03-14 11:25:13 -03:00
s074 frameRate() should not be inside draw()!!! 2018-03-24 23:03:25 -03:00
s075 frameRate() should not be inside draw()!!! 2018-03-24 23:03:25 -03:00
s076 frameRate() should not be inside draw()!!! 2018-03-24 23:03:25 -03:00
s077 frameRate() should not be inside draw()!!! 2018-03-24 23:03:25 -03:00
s078 frameRate() should not be inside draw()!!! 2018-03-24 23:03:25 -03:00
s079 frameRate() should not be inside draw()!!! 2018-03-24 23:03:25 -03:00
s080 frameRate() should not be inside draw()!!! 2018-03-24 23:03:25 -03:00
s081 frameRate() should not be inside draw()!!! 2018-03-24 23:03:25 -03:00
s082 small fixes 2018-03-26 20:58:54 -03:00
s083 small fixes 2018-03-26 20:58:54 -03:00
s084 small fixes 2018-03-26 20:58:54 -03:00
s085 gif 85! 2018-03-26 21:16:26 -03:00
s086 day 86 2018-03-27 23:25:17 -03:00
s087 clean up 2018-03-29 22:30:08 -03:00
s088 renamed circles & squares 2018-03-30 13:03:23 -03:00
s089 rectMode() comment 2018-03-30 11:58:40 -03:00
s090 day 90 2018-03-31 21:13:41 -03:00
s091 segond clean up 2018-04-02 00:50:22 -03:00
s092 useless list() 2018-04-05 23:59:16 -03:00
s093 useless list() 2018-04-05 23:59:16 -03:00
s094 useless list() 2018-04-05 23:59:16 -03:00
s095 day 95 2018-04-05 22:59:17 -03:00
s096 Day 96 2018-04-06 20:19:35 -03:00
s097 day 98 2018-04-08 09:22:42 -03:00
s098 day 99 2018-04-09 07:33:20 -03:00
s099 day 100 2018-04-10 20:41:23 -03:00
s100 day 100 2018-04-10 20:41:23 -03:00
s101 day 102! hexagrid 2018-04-12 22:06:02 -03:00
s102 day 103 2018-04-14 11:51:18 -03:00
s103 update 103 2018-04-14 14:47:54 -03:00
s104 Update s104.pyde 2018-04-15 17:21:21 -03:00
s105 day 105 gif 2018-04-15 17:59:37 -03:00
s106 ups! wrong folder 2018-04-29 23:39:17 -03:00
s107 comments 2018-04-18 18:43:18 -03:00
s108 day 108 2018-04-18 18:43:48 -03:00
s109 ups... rename 109 2018-04-19 08:42:56 -03:00
s110 day 110 & 111 2018-04-21 14:59:12 -03:00
s111 day 110 & 111 2018-04-21 14:59:12 -03:00
s112 day 112 2018-04-22 23:21:56 -03:00
s113 day 114 2018-04-24 23:52:09 -03:00
s114 day 114 2018-04-24 23:52:09 -03:00
s115 fix 115 & day 116 2018-04-26 22:55:03 -03:00
s116 fix 115 & day 116 2018-04-26 22:55:03 -03:00
s117 day 118 2018-04-28 23:00:59 -03:00
s118 day 119 2018-04-29 23:16:39 -03:00
s119 ups! wrong folder 2018-04-29 23:39:17 -03:00
s120 [::-1] -> reversed() 2018-04-30 23:21:53 -03:00
s121 cleanup 2018-05-03 21:11:57 -03:00
s122 cleanup 2018-05-03 21:11:57 -03:00
s122_revisited 160 2018-06-09 21:03:41 -03:00
s123 Day 123 2018-05-03 23:19:50 -03:00
s124 day 124 2018-05-04 23:42:07 -03:00
s125 125b! 2018-05-05 22:28:49 -03:00
s126 comments 2018-05-09 20:25:48 -03:00
s127 comments 2018-05-09 20:25:48 -03:00
s128 Day 128 2018-05-08 21:04:02 -03:00
s129 ups 2018-05-11 10:08:28 -03:00
s130 day 131 2018-05-11 23:25:14 -03:00
s131 131 2018-05-12 19:22:51 -03:00
s132 133 2018-05-13 22:04:49 -03:00
s133 Update s133.pyde 2018-05-15 11:12:00 -03:00
s134 Add files via upload 2018-05-15 11:41:44 -03:00
s135 134 & 135 2018-05-15 19:15:40 -03:00
s136 day 136 2018-05-16 06:54:32 -03:00
s137 137 readme 2018-05-17 22:09:45 -03:00
s138 138 & 139 date fix 2018-05-19 22:14:24 -03:00
s139 readme corrections (missing s137!) 2018-05-20 09:51:20 -03:00
s140 140 gif off 2018-05-22 22:41:09 -03:00
s140_s141_s142 ops, wrong name 2018-05-22 23:13:23 -03:00
s141 140 gif off 2018-05-22 22:41:09 -03:00
s142 142 2018-05-22 08:26:24 -03:00
s143 143 2018-05-23 21:24:16 -03:00
s144 144 2018-05-24 21:25:57 -03:00
s145 cleanup 145 2018-05-26 10:57:20 -03:00
s146 coisas velhas sobrando 2018-05-26 10:54:30 -03:00
s147 147 2018-05-27 19:57:22 -03:00
s148 148 2018-05-28 11:53:04 -03:00
s149 149b 2018-05-29 11:06:58 -03:00
s149b smaller GIF 2018-05-29 11:27:13 -03:00
s150 150 2018-05-30 23:04:33 -03:00
s151 correct date 2018-06-01 10:41:18 -03:00
s152 remove noLoop() debug 2018-06-01 10:40:15 -03:00
s153 153 2018-06-02 18:43:04 -03:00
s154 155 2018-06-04 23:26:17 -03:00
s155 157 2018-06-06 21:43:34 -03:00
s156 156 2018-06-05 22:56:28 -03:00
s157 157 2018-06-06 21:43:34 -03:00
s158 158b 2018-06-07 22:57:00 -03:00
s159 smaller gif 159 2018-06-09 22:43:12 -03:00
s160 160 2018-06-09 21:03:41 -03:00
s161 161 eye 2018-06-10 23:49:30 -03:00
s161_plus_gif_exporter 163 2018-06-11 23:38:27 -03:00
s162 162 2018-06-11 10:36:14 -03:00
s163 163 2018-06-11 23:38:27 -03:00
s164 164 & 165 mov & png 2018-06-14 17:28:05 -03:00
s165 164 & 165 mov & png 2018-06-14 17:28:05 -03:00
s166 166 2018-06-15 09:41:30 -03:00
s166_py 166 fix 2018-06-15 20:32:25 -03:00
s167 pontos & boxes -> points 2018-06-17 15:34:07 -03:00
s167_py pontos & boxes -> points 2018-06-17 15:34:07 -03:00
s167_slower readme 167 2018-06-16 18:11:47 -03:00
s168 pontos & boxes -> points 2018-06-17 15:34:07 -03:00
s169 169 2018-06-17 16:01:54 -03:00
s170 170 2018-06-18 17:04:53 -03:00
s171 day & comments 2018-06-26 17:20:05 -03:00
s171_py day & comments 2018-06-26 17:20:05 -03:00
s172 day & comments 2018-06-26 17:20:05 -03:00
s172b readme 2018-06-22 21:42:40 -03:00
s173 day & comments 2018-06-26 17:20:05 -03:00
s174 Update s174.pyde 2018-10-01 20:05:42 -03:00
s175 day & comments 2018-06-26 17:20:05 -03:00
s176 day & comments 2018-06-26 17:20:05 -03:00
s177 fixing readme 177 178 180 2018-07-03 22:32:59 -03:00
s177_gif 177 e 178 2018-06-25 08:54:25 -03:00
s178 fixing readme 177 178 180 2018-07-03 22:32:59 -03:00
s179 179 2018-06-26 17:20:14 -03:00
s180 comments 2018-07-03 23:15:19 -03:00
s181 183 2018-06-30 23:25:47 -03:00
s182 183 2018-06-30 23:25:47 -03:00
s183 184 2018-07-01 23:27:51 -03:00
s184 185 2018-07-02 22:37:30 -03:00
s185 185 2018-07-02 22:37:30 -03:00
s186 186 & 187 2018-07-04 22:59:04 -03:00
s186gif 186gif 2018-07-04 22:57:56 -03:00
s187 188 cleanup 2018-07-05 21:56:24 -03:00
s188 188 cleanup 2018-07-05 21:56:24 -03:00
s189 189 2018-07-06 22:46:31 -03:00
s190 190 2018-07-07 10:24:17 -03:00
s191 191 2018-07-08 22:39:24 -03:00
s192 192 2018-07-09 08:16:19 -03:00
s193 lighter 193 2018-07-11 19:47:33 -03:00
s194 194 2018-07-11 19:44:44 -03:00
s195 196 2018-07-13 08:45:50 -03:00
s196 196 revised! 2018-07-13 10:12:40 -03:00
s197 197 2018-07-14 10:34:36 -03:00
s198 198 b 2018-07-15 00:28:44 -03:00
s199 199 2018-07-16 22:57:12 -03:00
s200 200 2018-07-18 12:47:49 -03:00
s201 readme 201\ 2018-07-18 22:27:53 -03:00
s202 202 & 203 2018-07-20 20:33:14 -03:00
s203 203 pngs 2018-07-21 08:55:50 -03:00
s204 204 comment 2018-07-22 16:07:04 -03:00
s205 205 & 205b 2018-07-22 17:50:22 -03:00
s205b 205 & 205b 2018-07-22 17:50:22 -03:00
s206 206 2018-07-23 23:07:36 -03:00
s207 207 date 2018-07-25 23:34:02 -03:00
s208 208 2018-07-25 23:38:05 -03:00
s208b 208b 2018-07-26 23:50:11 -03:00
s209 209 update 2018-07-27 00:04:56 -03:00
s210 210 cleanup 2018-07-28 19:42:08 -03:00
s211 211 conceptual reframe (similar visual result) 2018-07-29 11:41:30 -03:00
s212 212 fix comment 2018-07-30 10:19:15 -03:00
s213 213 2018-07-30 10:19:38 -03:00
s214 fixing dates 2018-08-02 21:38:16 -03:00
s215 fixing dates 2018-08-02 21:38:16 -03:00
s216 216 cleanup 2018-08-03 11:01:34 -03:00
s217 217 2018-08-03 23:45:41 -03:00
s218 218 revert 2018-08-05 11:40:14 -03:00
s219 220 2018-08-06 20:24:55 -03:00
s220 220 date 2018-08-07 12:33:26 -03:00
s221 221 gif & seed 2018-08-07 12:50:13 -03:00
s222 222 gif fix 2018-08-08 12:37:00 -03:00
s223 223 2018-08-09 08:58:07 -03:00
s224 cleanup & comments 2018-08-11 12:06:00 -03:00
s225 225 readme 2018-08-11 14:03:46 -03:00
s226 226 2018-08-12 17:59:43 -03:00
s227 227 2018-08-13 18:42:54 -03:00
s228 228 2018-08-15 19:51:05 -03:00
s229 ooops 2018-08-15 21:43:43 -03:00
s230 230 2018-08-16 19:45:07 -03:00
s231 readme 2018-08-20 19:03:33 -03:00
s232 232 2018-08-18 23:27:57 -03:00
s233 233 recover! 2018-08-20 23:32:33 -03:00
s234 234 2018-08-20 23:45:20 -03:00
s235 235 2018-08-21 23:49:25 -03:00
s236 237 2018-08-23 23:55:27 -03:00
s237 237 2018-08-24 12:59:16 -03:00
s238 238 2018-08-24 22:51:04 -03:00
s239 239 2018-08-25 18:01:30 -03:00
s240 240 2018-08-26 23:05:15 -03:00
s241 241 2018-08-27 23:09:56 -03:00
s241_simplified 241 2018-10-09 23:59:19 -03:00
s242 update readme 2018-09-14 18:41:55 -03:00
s243 243 2018-09-15 21:32:42 -03:00
s244 244 png 2018-09-14 18:52:56 -03:00
s245 reverted 244 to original code 2018-09-14 18:52:33 -03:00
s246 246 doc 2018-09-14 18:57:32 -03:00
s247 updated dates and readme 2018-09-15 17:28:34 -03:00
s248 updated dates and readme 2018-09-15 17:28:34 -03:00
s249 updated dates and readme 2018-09-15 17:28:34 -03:00
s250 updated dates and readme 2018-09-15 17:28:34 -03:00
s251 updated dates and readme 2018-09-15 17:28:34 -03:00
s252 updated dates and readme 2018-09-15 17:28:34 -03:00
s253 updated dates and readme 2018-09-15 17:28:34 -03:00
s254 updated dates and readme 2018-09-15 17:28:34 -03:00
s255 updated dates and readme 2018-09-15 17:28:34 -03:00
s256 updated dates and readme 2018-09-15 17:28:34 -03:00
s257 updated dates and readme 2018-09-15 17:28:34 -03:00
s258 updated dates and readme 2018-09-15 17:28:34 -03:00
s259 date and number comment fix 2018-09-16 22:12:32 -03:00
s260 date and number comment fix 2018-09-16 22:12:32 -03:00
s261 261 2018-09-16 22:14:28 -03:00
s262 s262 2018-09-17 09:31:43 -03:00
s263 Add files via upload 2018-09-18 17:23:42 -03:00
s264 264 2018-09-19 16:10:35 -03:00
s265 265 & 266 2018-09-21 22:40:29 -03:00
s266 265 & 266 2018-09-21 22:40:29 -03:00
s267 267 2018-09-22 08:21:47 -03:00
s268 268 randint 2018-09-24 23:09:54 -03:00
s268_pygame size(width, height) 2018-09-25 09:31:04 -03:00
s269 272 2018-09-27 23:50:46 -03:00
s269_pygame 272 2018-09-27 23:50:46 -03:00
s270 270 2018-09-25 23:58:37 -03:00
s271 271 refactor 2018-09-30 09:33:58 -03:00
s271b 271 refactor 2018-09-30 09:33:58 -03:00
s272 Update s272.pyde 2018-10-27 22:46:50 -03:00
s273 273 font option 2018-09-29 20:50:09 -03:00
s274 274 cleanup 2018-09-30 09:59:30 -03:00
s275 275 2018-09-30 10:00:03 -03:00
s276 276 2018-10-01 22:06:36 -03:00
s277 277 2018-10-03 18:13:36 -03:00
s278 278 2018-10-03 18:34:33 -03:00
s279 279 2018-10-04 18:39:26 -03:00
s280 fix date 2018-10-07 22:40:45 -03:00
s281 fix date 2018-10-07 22:40:45 -03:00
s282 282 283 2018-10-09 21:34:54 -03:00
s283 282 283 2018-10-09 21:34:54 -03:00
s284 date 2018-10-10 22:26:49 -03:00
s285 285 no save 2018-10-13 10:37:10 -03:00
s285_order one more step into the face problem 2018-10-22 22:27:47 -02:00
s286 286 cleanup 2018-10-13 10:24:05 -03:00
s287 287 cleanup 2018-10-13 10:33:38 -03:00
s288 smaller 288 gif 2018-10-14 22:23:19 -03:00
s289 289 2018-10-14 22:23:54 -03:00
s290 290 & 291 background 2018-10-17 19:03:58 -03:00
s291 290 & 291 background 2018-10-17 19:03:58 -03:00
s292 292 2018-10-17 19:04:07 -03:00
s293 293 2018-10-18 10:42:25 -03:00
s294 294 gif 2018-10-20 21:29:01 -03:00
s295 295 cleanup2 2018-10-21 01:03:51 -02:00
s296 296 2018-10-21 23:39:57 -02:00
s297 Update s297/s297.pyde 2018-10-22 11:02:23 -02:00
s298 Update s298/s298.pyde 2018-10-26 22:09:17 -03:00
s299 299 2018-10-26 22:09:32 -03:00
s300 300 2018-10-26 22:09:41 -03:00
s301 301 2018-10-26 22:09:47 -03:00
s302 302 2018-10-27 22:08:35 -03:00
s303 303 2018-10-28 23:16:51 -03:00
s304 304 gif 2018-10-30 23:06:05 -03:00
s305 305 png & readme 2018-10-30 23:18:46 -03:00
s306 cleanup 2018-11-03 12:09:54 -03:00
s307 cleanup 2018-11-04 19:21:54 -02:00
s308 cleanup 2018-11-04 19:21:54 -02:00
s309 cleanup 2018-11-04 19:21:54 -02:00
s310 smaller gifs 2018-11-07 23:56:06 -02:00
s311 311 & 312 2018-11-06 20:21:04 -02:00
s312 311 & 312 2018-11-06 20:21:04 -02:00
s313 Update s313/s313.pyde 2018-11-08 09:53:46 -02:00
s314 314 2018-11-08 09:53:42 -02:00
s315 315 2018-11-09 09:07:30 -02:00
s316 Update s316/s316.pyde 2018-11-11 22:18:38 -02:00
s317 Update s317/s317.pyde 2018-11-12 18:10:55 -02:00
s318 318 update 2018-11-13 10:07:55 -02:00
s319 Add files via upload 2018-11-17 12:21:24 -02:00
s320 319 320 2018-11-14 23:45:41 -02:00
s321 321 2018-11-15 23:18:51 -02:00
s322 s322 2018-11-16 22:33:15 -02:00
s323 Rename s323b.pyde to s323.pyde 2018-11-18 22:20:38 -02:00
s324 Create s324.png 2018-11-19 22:40:56 -02:00
s325 s325 2018-11-19 22:41:07 -02:00
s326 Create s326.png 2018-11-22 23:05:42 -02:00
s327 Create s327.png 2018-11-22 23:05:48 -02:00
s328 328 ups 2018-11-22 23:06:33 -02:00
s329 329 2018-11-23 23:20:13 -02:00
s330 330 2018-11-24 21:52:38 -02:00
s331 331a 2018-11-25 22:56:28 -02:00
s332 332 2018-11-26 23:40:42 -02:00
s333 333 2018-11-28 08:43:49 -02:00
s334 334 2018-11-28 17:29:08 -02:00
s335 335 2018-11-29 22:29:56 -02:00
s336 updates 2018-12-02 16:32:25 -02:00
s337 comments 337 & 338 2018-12-02 16:37:03 -02:00
s338 338 2018-12-02 17:46:53 -02:00
s339 339 2018-12-03 09:33:50 -02:00
s180101
s180102
s180103
s180104
s180105
s180106
s180107
s180108
s180108_liveEdu
s180109
s180110
s180111
s180112
sketch_180113a
sketch_180114a
sketch_180115a
sketch_180116a
sketch_180117a
sketch_180118a
sketch_180119a
sketch_180120a
sketch_180120b
sketch_180121b
sketch_180123b
sketch_180124b
sketch_180125c
sketch_180126c
sketch_180127c
sketch_180128c
sketch_180129c
sketch_180130c
sketch_180131c
sketch_180201c
sketch_180202c
sketch_180202campus
sketch_180203c
sketch_180204b
sketch_180205b
sketch_180206a
sketch_180208d
sketch_180208e
sketch_180209a
.gitignore 141+142+143 2018-05-22 22:50:40 -03:00
README.md 332 2018-11-26 23:40:42 -02:00
_config.yml

README.md

Hi! I'm [Alexandre Villares](https://abav.lugaralgum.com), let's see if I can make one small program (*sketch*) a day. I'm working mostly with Python ([Processing Python Mode](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)) and sometimes [Processing Java Mode](https://processing.org) and [P5JS (JavaScript)](p5js.org) or other stuff. If you enjoy this, be a [patreon](https://patreon.com/arteprog) or make a donation [here](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=HCGAKACDMVNV2) Feel free to [contact me](http://contato.lugaralgum.com) regarding licenses to use my work, teaching opportunities, consulting or other projects.
# sketch-a-day ### one visual idea a day [on GitHub!] Hi! I'm Alexandre Villares, let's see if I can make one small program (sketch) a day. I'm working mostly with Python (Processing Python Mode) and sometimes Processing Java Mode and P5JS (JavaScript) or other stuff. If you enjoy this, be a patreon or make a donation here Feel free to contact me regarding licenses to use my work, teaching opportunities, consulting or other projects.

s332

332: code [Py.Processing]


s331

331: code [Py.Processing]


s330

330: code [Py.Processing]


s329

329: code [Py.Processing]


s328

328: code [Py.Processing]


s327

327: code [Py.Processing]


s326

326: code [Py.Processing]


s325

325: code [Py.Processing]


s324

324: code [Py.Processing]


s323

323: code [Py.Processing]


s322

322: code [Py.Processing]


s321

321: code [Py.Processing]


s320

320: code [Py.Processing]


s319

319: code [Py.Processing]


s318

318: code [Py.Processing]


s317

317: code [Py.Processing]


s316

316: code [Py.Processing]

A 3D take on 314


s315

315: GIF code [Py.Processing]

Horizontaly connected 314


s314

314: code [Py.Processing]

Isolating elements from 313


s313

313: code [Py.Processing]


s312

312: code [Py.Processing]


s311

311: code [Py.Processing]


s310

310: code [Py.Processing]


s309

309: code [Py.Processing]


s308

308: code [Py.Processing]


s307

307: code [Py.Processing]


s306

306: code [Py.Processing]


s305

305: code [Py.Processing]


s304

304: code [Py.Processing]


s303

303: code [Py.Processing]


s302

302: code [Py.Processing]

Hatches parallel to opposed sides.


s301

301: code [Py.Processing]

Tried to supress some vertices from the hatch grid.


s300

300: code [Py.Processing]

Cross hatch and, a simplified "cell" polygon drawing and selective non-random verticies (if pos % 3 == 0)


s299

299: code [Py.Processing]

Inclined hatches


s298

298: code [Py.Processing]

First hatch attempt on a random "cell" grid. Each cell has 4 "node" vertices


s297

297: code [Py.Processing]

Changed my internal point grid to "pixels"


s296

296: code [Py.Processing]

Demo of how the "inside poly" test works from from my lines intersecting poly function.


s295

295: code [Py.Processing]

Testing if a point is inside a poly to make a grid/retucule. Advancing from my lines intersecting poly function.


s294

294: code [Py.Processing]

Playing with my code for lines intersecting polygons.


s293

293: code [Py.Processing]

The polygons now are non-self-intersecting, and the hatches are kept inside :) White lines in the background are from discarded random polys that self-intersected.


s292

292: code [Py.Processing]


s291

291: code [Py.Processing]


s290

290: code [Py.Processing]


s289

289: code [Py.Processing]

True arcs and lines


s288

288: code [Py.Processing]

Ellipse arcs


s287

287: code [Py.Processing]


s286

286: code [Py.Processing]


s285

285: code [Py.Processing]


s284

284: code [Py.Processing]


s283

283: code [Py.Processing]


s282

282: code [Py.Processing]

First attempt at joining rectangular cells into bigger polygonal faces.


s281

281: code [Py.Processing]


s280

280: code [Py.Processing]


s279

279: code [Py.Processing]


s278

278: code [Py.Processing]


s277

277: code [Py.Processing]


s276

276: code [Py.Processing]


s275

275: code [Py.Processing]


s274

274: code [Py.Processing]


s273

273: code [Py.Processing]

This sorts a gliph sequence from lighter to darker


s272

272: code [Py.Processing]


s271

271: code [Py.Processing]


s270

270: code [Py.Processing]


s269

269: code [Py.Processing]


s268

268: code[Py.Processing] & code[Pygame]


s267 267: code [Py.Processing]


s266 266: code [Py.Processing]


s265 265: code [Py.Processing]


s264 264: code [Py.Processing]


s263 263: code [Py.Processing]


s262

262: code [Py.Processing]


s261

261: code [Py.Processing]


s260

260: code [Py.Processing]


s259

259: code [Py.Processing]


s258

258: code [Py.Processing]


s257

257: code [Py.Processing]


s256

256: code [Py.Processing]


s254

254: code [Py.Processing]


s253

253: code [Py.Processing]


s252

252: code [Py.Processing]


s251

251: code [Py.Processing]


s250

250: code [Py.Processing]

This was kind of a dead end. It's easy to rotate stuff with pushMatrix(), transtlate() and rotate(), but it doesn't work inside beginShape() as I found out the next day.


s249

249: code [Py.Processing]


s248

248: code [Py.Processing]

Animation


s247

247: code [Py.Processing]


s246

246: code [Py.Processing]


s245

245: code [Py.Processing]


s244

244: code [Py.Processing]


s243

243: code [Py.Processing]


s242

242: code [Py.Processing]


s241

241: code [Py.Processing]


s240

240: code [Py.Processing]


s239

239: code [Py.Processing]


s238

238: code [Py.Processing]


s237

237: code [Py.Processing]


s236

236: code [Py.Processing]


s235

235: code [Py.Processing]


s234

234: code [Py.Processing]


s233

233: code [Py.Processing]


s232

232: code [Py.Processing]


s231

231: code [Py.Processing]


s230

230: code [Py.Processing]


s229

229: code [Py.Processing]


s228

228: code [Py.Processing]


s227

227: code [Py.Processing]


s226

226: code [Py.Processing]


s225

225: code [Py.Processing]

Now (hollow) boxes, and a cutting-plane controlled by the keyboard.


s224

224: code [Py.Processing]

Tubes! Solid boxes hollowed in one of three directions.


s223

223: code [Py.Processing]


s222

222: code [Py.Processing]


s221

221: code [Py.Processing]


s220

220: code [Py.Processing]


s219

219: code [Py.Processing]


s218

218: code [Py.Processing]


s217

217: code [Py.Processing]


s216

216: code [Py.Processing]


s215

215: code [Py.Processing]


s214

214: code [Py.Processing]


s213

213: code [Py.Processing]


s212

212: code [Py.Processing]


s211

211: code [Py.Processing]


s210

210: code [Py.Processing]


s209

209: code [Py.Processing]


s208

208: code [Py.Processing]


s207

207: code [Py.Processing]


s206

206: code [Py.Processing]


s204

205b: code [Py.Processing]

Two layer version. Added rotateX(rot).


s204

205: code [Py.Processing]

One layer version, I'll use it to test some ideas another day.


s204

204: code [Py.Processing]

At each cycle, it starts on the next node.


s203

203: code [Py.Processing]

A big one, animated the maze generation process.


s202

202: code [Py.Processing]

A bigger one


s201

201: code [Py.Processing]


s200

200: code [Py.Processing]


s199

199: code [Py.Processing]


s198

198: code [Py.Processing]


s197

197: code [Py.Processing]


s196

196: code [Py.Processing]


s195

195: code [Py.Processing]


s194

194: code [Py.Processing]


s193

193: code [Py.Processing]


s192

192: code [Py.Processing]


s191

191: code [Py.Processing]


s190

190: code [Py.Processing]


s189

189: code [Py.Processing]


s188

188: code [Py.Processing]


s187

187: code [Py.Processing]


s186gif s186

186: code [Py.Processing]


s185

185: code [Processing Java]


s184

184: code [Processing Java]


s183

183: code [Processing Java]


s182

182: code [Processing Java]


s181

181: code [Processing Java]


s180

    def set_nbs(self):
        self.nbs, self.unvisited_nbs = [], []
        for node in Node.nodes:
            if node != self and dist(node.x, node.y, node.z,
                                     self.x, self.y, self.z) <= Node.spacing * 1.1:
                self.nbs.append(node)
                self.unvisited_nbs.append(node)

s180b

if node != self and dist(node.x, node.y, node.z,
                         self.x, self.y, self.z) <= Node.spacing * 1.5:

180: code [Py.Processing]


s179COLOR s179PB

179: code [Py.Processing]


s178

178: code [Py.Processing]


s177

177: code [Py.Processing]


s176

176: code [Py.Processing]


s175

175: code [Py.Processing]


s174

174: code [Py.Processing]


s173

173: code [Py.Processing]


s172

172: code [Py.Processing]


s171

171:Java code[Processing Java] & Python code [Py.Processing]


s170

170:code [Py.Processing]


s169

169:code [Py.Processing]

Now same Z lines can form floors.


s168

168:code [Py.Processing]

No random movement in Z so no line connections between different (Z) levels. Comparing lines with different Zs to create translucent 'walls'.


s167

167: Java code [Processing Java] & Python code [Py.Processing]


s166

166: code [Py.Processing]


s165

165: code [Py.Processing]


s164

164: code [Py.Processing]


s163

163: code [Py.Processing]

(#152 revisited in 3D :)


s162

162: code [Processing Java]

Perlin Noise "walker" + ?


s161

161: code [Processing Java]

Perlin Noise "walker" + eye


s160

160: code [Processing Java]

Interactive genetic algorithm


s159

159: code [Processing Java]


s158

158: code [Py.Processing]


s157

157: code [Py.Processing]


s156

156: code [Py.Processing]


s155

155: code [Py.Processing]


s154

154: code [Py.Processing]


s153

153: code [Py.Processing]


s152

152: code [Py.Processing]


s151

151: code [Py.Processing]


s150

150: code [Py.Processing]


s149b

149b: code [Py.Processing]


s149

149: code [Py.Processing]


s148

148: code [Py.Processing]


s147

147: code [Py.Processing]


s146

146: code [Py.Processing]


s145

145: code [Py.Processing]


s144

144: code [Py.Processing]


s143

143: code [Py.Processing]


s140 + s141 + s142

140 + 141 + 142 code [Py.Processing]


s142

142: code [Py.Processing]


s141

141: code [Py.Processing]


s140

s140: code [Py.Processing]


s139

s139: code [Py.Processing]


s138

138: code [Py.Processing]

Revisiting ideas of recursion from s071

Heavy animated GIF: s138.gif


s137

s137: code [Py.Processing]

PDF: diagram.pdf


s136

136: code [Py.Processing]


s135

135: code [Py.Processing]


s134

134: code [Py.Processing]


s133

133: code [Py.Processing]


s132

132: code [Py.Processing]


s131

131: code [Py.Processing]


s130

130: code [Py.Processing]


s129

129: code [Py.Processing]

Maybe I fixed it, I guess, not sure…


s128

128: code [Py.Processing]

BROKEN!


s127

127: code [Py.Processing]


s126

126: code [Py.Processing]


s125

125: code [Py.Processing]


s124

124: code [Py.Processing]


s123

123: code [Py.Processing]


s122

122: code [Py.Processing]


s121

121: code [Py.Processing]


s120

120: code [Py.Processing]

To be brutally honest, I had no idea that reversing the second random grid would bring me this result!


s119

119: code [Py.Processing]


s118

118: code [Py.Processing]


s117

117: code [Py.Processing]


s116

116: code [Py.Processing]


s115

115: code [Py.Processing]


s114

114: code [Py.Processing]


s113

113: code [Py.Processing]


s112

112: code [Py.Processing]

Hexagons!

```python def hexagon(x, y, r): with pushMatrix(): translate(x, y) beginShape() for i in range(6): vx = cos(i * TWO_PI /6) * r vy = sin(i * TWO_PI /6) * r vertex(vx, vy) endShape(CLOSE)


----

![s111](s111/s111.gif)

111: [code](https://github.com/villares/sketch-a-day/tree/master/s111)  [[Py.Processing](https://villares.github.io/como-instalar-o-processing-modo-python/index-EN)]

Now I 'fixed' the rotation with propper pushMatrix() and translate()

```python
        with pushMatrix():
            translate(x0,y0)
            rotate(fs0)
            stroke(st0)
            equilateral(0, 0, fs0)
        with pushMatrix():
            translate(x1,y1)
            rotate(fs1)
            stroke(st1)
            equilateral(0, 0, fs1)
        with pushMatrix():
            translate(x2,y2)
            rotate(fs2)
            stroke(st2)
            equilateral(0, 0, fs2)

s110

110: code [Py.Processing]

Just added some rotations to mess things up. It's "wrong", but I like it!

        rotate(fs0)
        stroke(st0)
        equilateral(x0, y0, fs0)
        stroke(st1)
        rotate(fs1)
        equilateral(x1, y1, fs1)
        stroke(st2)
        rotate(fs2)
        equilateral(x2, y2, fs2)


s109

109: code [Py.Processing]

colorMode(HSB)
...
C = color(map(final_size,-63 , 63, 0, 255), 255, 255)
                          

s108

108: code [Py.Processing]

colorMode(HSB)
...
C = color(map(abs(final_size), 0, 63, 0, 255), 255, 255)


s107

107: code [Py.Processing]

Inverting odd rows

  v = spac_size * 1.5
    h = spac_size * sqrt(3)
    for ix in range(-1, grid_elem + 1):
        for iy in range(-1, grid_elem + 1):
            if iy % 2:
                x = ix * h + h / 4
                es = elem_size
            else:
                x = ix * h - h / 4
                es = -elem_size
            y = iy * v
            for i in range(3):
                final_size = es * (i + 0.5)
                C = map(final_size, 0, 63, 0, 255)
                oX = rand_posi * random(-1, 1)
                oY = rand_posi * random(-1, 1)
                ELEMENTS.append((C, x + oX, y + oY, final_size))

s106

106: code [Py.Processing]

Lazy triangles

def equilateral(x, y, r):
    with pushMatrix():
        translate(x, y)
        triangle(-0.866 * r, -0.5 * r,
                  0.866 * r, -0.5 * r,
                  0.000 * r,  1.0 * r) 
                  # I know... 0 * r and 1 * r...

s105

105: code [Py.Processing]

Layers now have different "base" sizes (0.5, 1.5 and 2.5 times base size). Removed lines for now.


s104

104: code [Py.Processing]

Back to stroke variation


s103

103: code [Py.Processing]

Layers but only black strokes

    spac_size = width / (grid_elem + 1)
    v = spac_size * 1.5
    h = spac_size * sqrt(3)
    for ix in range(-1, grid_elem + 1):
        for iy in range(-1, grid_elem + 1):
            if iy % 2:
                x = ix * h + h / 4
            else:
                x = ix * h - h / 4
            y = iy * v
            for i in range(3):
                final_size = elem_size + rand_size * random(-1, 1)
                ELEMENTS.append((x, y, final_size))
    # three layers of elements            
    for i in range(3):
        offsetX = rand_posi * random(-1, 1)
        offsetY = rand_posi * random(-1, 1)
        for elem in ELEMENTS[i::3]:
            x, y, es = elem
            ellipse(x + offsetX, y + offsetY, es, es)

    for _ in range(grid_elem):
        x1, y1, es1 = rnd_choice(ELEMENTS)
        x2, y2, es2 = rnd_choice(ELEMENTS)
        line(x1, y1, x2, y2)

s102

102: code [Py.Processing]

    spac_size = width / (grid_elem + 1)
    v = spac_size * 1.5
    h = spac_size * sqrt(3)
    for ix in range(-1, grid_elem + 1):
        for iy in range(-1, grid_elem + 1):
            if iy % 2:
                x = ix * h + h / 4
            else:
                x = ix * h - h / 4
            y = iy * v
            final_size = elem_size + rand_size * random(-1, 1)
            offsetX = rand_posi * random(-1, 1)
            offsetY = rand_posi * random(-1, 1)
            C = map(final_size, 0, 63, 0, 255)
            ELEMENTS.append((C,
                             x + offsetX,
                             y + offsetY,
                             final_size
                             ))
    for elem in ELEMENTS:
        stroke1, x1, y1, es1 = elem
        ellipse(x1, y1, es1, es1)

    for _ in range(grid_elem):
        stroke1, x1, y1, es1 = rnd_choice(ELEMENTS)
        stroke2, x2, y2, es2 = rnd_choice(ELEMENTS)
        stroke(stroke2)
        line(x1, y1, x2, y2)


s101

101: code [Py.Processing]

    for _ in range(grid_elem * 2):        
        stroke1, x1, y1, es1 = rnd_choice(ELEMENTS)
        stroke(stroke1)
        ellipse(x1, y1, es1, es1)
        stroke2, x2, y2, es2 = rnd_choice(ELEMENTS)
        stroke(stroke2)
        # line
        ellipse(x2, y2, es2, es2)
        line(x1, y1, x2, y2)

s100

100: code [Py.Processing]

    spac_size = int(width / (grid_elem + 1))
    for _ in range(2):
        for x in range(spac_size / 2, width, spac_size): 
            for y in range(spac_size / 2, width, spac_size):
                final_size = elem_size + rand_size * random(-1, 1)
                offsetX = rand_posi * random(-1, 1)
                offsetY = rand_posi * random(-1, 1)
                C = map(final_size, 0, 63, 0, 255)
                ELEMENTS.append((C,
                                x + offsetX,
                                y + offsetY,
                                final_size
                                ))
    for stroke_c, x, y, el_size in ELEMENTS:
        stroke(stroke_c)
        ellipse(x, y, el_size, el_size)
    for _ in range(grid_elem):
        stroke_c, x1, y1, _ = rnd_choice(ELEMENTS)
        ________, x2, y2, _ = rnd_choice(ELEMENTS)
        stroke(stroke_c)
        line(x1, y1, x2, y2)

s099

099: code [Py.Processing]

    spac_size = int(width / (grid_elem + 1))
    for x in range(spac_size / 2, width, spac_size):  
        for y in range(spac_size / 2, width, spac_size): 
            final_size = elem_size + rand_size * random(-1, 1)
            offsetX = rand_posi * random(-1, 1)
            offsetY = rand_posi * random(-1, 1)
            GREY = map(final_size, 0, 63, 0, 255)
            stroke(GREY)
            ellipse(x + offsetX,  # desenha um círculo
                 y + offsetY,
                 final_size,
                 final_size)

s098

098: code [Py.Processing]

    spac_size = int(width / (grid_elem + 1))
    for x in range(spac_size / 2, width, spac_size):  
        for y in range(spac_size / 2, width, spac_size): 
            square_size = elem_size + rand_size * random(-1, 1)
            offsetX = rand_posi * random(-1, 1)
            offsetY = rand_posi * random(-1, 1)
            HUE = map(offsetX + offsetY, -128, 127, 0, 255)
            SAT = map(square_size, 0, 63, 0, 255)
            fill(HUE, SAT, 255, 200)
            rect(x + offsetX,  # desenha um quadrado
                 y + offsetY,
                 square_size,
                 square_size)

s097

097: code [Py.Processing]

    spac_size = int(width / (grid_elem + 1))
    for x in range(spac_size / 2, width, spac_size):
        for y in range(spac_size / 2, width, spac_size):
            # sorteia um tamanho (se o rand_size > 0)
            square_size = elem_size + rand_size * random(-1, 1)
            rect(x + rand_posi * random(-1, 1),  # desenha um quadrado
                 y + rand_posi * random(-1, 1),  
                 square_size,
                 square_size)

s096

096: code [Py.Processing]

More 'Inputs' helper changes (WASD & arrows for sliders). New GIF export helper actually works now! More lone nodes and edge creation changes...


s095

095: code [Py.Processing]

Complete rewrite of the 'Inputs' helper

# Ask user for Arduino port, uses slider if none is selected, use on `setup()`
global input
input = Input(Arduino)

# on `draw()`read analog pins 1, 2, 3, 4 or sliders
pot1 = input.analog(1)
pot2 = input.analog(2)
pot3 = input.analog(3)
pot4 = input.analog(4)

tilt = input.digital(13) # also triggered by [space bar]

# When on sliders, this draws them and checks mouse dragging / keystrokes
input.update()


s094

094: code [Py.Processing]

Connection 'rate' can be less than 1, prevents less than 2 nodes


s093

093: code [Py.Processing]

Nodes without connection are now removed

    COM_ARESTAS = set()  # para guardar pontos com aresta
    for aresta in Aresta.ARESTAS:
        if (aresta.p1 not in Ponto.SET) or (aresta.p2 not in Ponto.SET)\
                or (aresta.p1 is aresta.p2):  # arestas degeneradas
            Aresta.ARESTAS.remove(aresta)   # remove a aresta
        else:                # senão, tudo OK!
            aresta.desenha()  # desenha a linha
            aresta.puxa_empurra(TAM_ARESTA)  # altera a velocidade dos pontos
            # Adiciona ao conjunto de pontos com aresta
            COM_ARESTAS.update([aresta.p1, aresta.p2])
    Ponto.SET = COM_ARESTAS  # isto remove pontos sem nenhuma aresta
 

s092

092: code [Py.Processing]

Dynamic change of connection rate

if NUM_PONTOS * NUM_CONNECT > len(Aresta.ARESTAS):
        rnd_choice(list(Ponto.SET)).cria_arestas()
    elif NUM_PONTOS * NUM_CONNECT < len(Aresta.ARESTAS):
        Aresta.ARESTAS.remove(rnd_choice(Aresta.ARESTAS))

s091

091: code [Py.Processing]

Major rethink of my Arduino/Firmata code. I can now choose on start between sliders and potentiometers.


s090

090: code [Py.Processing]

Opaque strokes, no fill, randomized colours by column.


s089

089: code [Py.Processing]

X stroke now is translucent and grid elements have random colour inside grids.


s088

088: code [Py.Processing]

Filled rects, ellipses and losangles (without sktroke) and Xs


s087

087: code [Py.Processing]

No fill again, less colours. Variable/random number of elements per grid.


s086

086: code [Py.Processing]

Translucent fill & some stroke weight


s085

085: code [Py.Processing]

Some colour, and some crazy meddling with the Slider class...


s084

084: code [Py.Processing]

Make the grid's position/origin align based on the spacing size (super- grid)


s083

083: code [Py.Processing]

Xs and rotated rectangles


s082

082: code [Py.Processing]

Squares and ellipses


s081

081: code [Py.Processing]

Let's try some grids


s080

080: code [Py.Processing]

More arrows (black and white alternate by generation)


s079

079: code [Py.Processing]

Arrows (right black, left white)


s078

078: code [Py.Processing]

Color


s077

077: code [Py.Processing]

Random branch reduction is now less simmetric, and random seed changes on depth change.


s076

076: code [Py.Processing]

Stroke weight and some transparency


s075

075: code [Py.Processing]

... and slightly different parameters and recursion level control instead of lenght


s074

074: code [Py.Processing]

Adaptomg Shiffmans recusive Tree, with sliders or Pots...


s073

073: code [Py.Processing]

The code remains ugly :(


s072

072: code [Py.Processing]

Let's mix some arrows?


s071

071: code [Py.Processing]

Thicker and with a saturation slider (no more scale offset)


s070

070: code [Py.Processing]

Thicker and with a saturation slider (no more scale offset)


s069

069: code [Py.Processing]

Added rotation.


s068

068: code [Py.Processing]

... and with sliders (by Peter Farell)


s067

067: code [Py.Processing]

Something else.


s066

066: code [Py.Processing]

Arrow grid networks can be sized and placed...


s065

065: code [Py.Processing]

Arrow grid networks are now objects...


s064

064: code [Py.Processing]

Revisiting yet an older graph, adding arrows...


s063

063: code [Py.Processing]

Revisiting an older graph adding arrows...


s062

062: code [Py.Processing]

+ and - keys control the distange/range of targes in 0.5 * SPACING increments


s061

061: code [Py.Processing]

Sometimes we have multiple arrows now out of each node...But I reduced the range (distance) they can point to.


s060

060: code [Py.Processing]

Complete Object Oriented refactor...


s059

059: code [Py.Processing]

Back to a list of points, now every point of the grid has a node. Limited points_to random each.


s058

058: code [Py.Processing]

Now with some deepcopy of changeable imutable namedtuples (containing mutable lists), and some lerp()


s057

057: code [Py.Processing]

Revisited 54 and now I'm re-selecting random points_to nodes...


s056

056: code [Py.Processing]

Arrow grid moving in HSB colour space


s055

055: code [Py.Processing]

Grid revisited


s054

054: code [Py.Processing]

New arrows! With a "Tail" parameter...


s053

053: code [Py.Processing]

Big invisible refactor (no more point-grid to select from, now a list of possible X and Y positons to choose). On the visible side, fewer elements, and non-pointing elements redrawn in red on top.


s052

052: code [Py.Processing]

White lines first, black arrows on top.


s051

051: code [Py.Processing]

Points now on a grid.


s050

050: code [Py.Processing]

Arrows now...


s049

049: code [Py.Processing] Yet more graphs


s048

048: code [Py.Processing] Yet more graphs


s047

047: code [Py.Processing] Yet more graphs


s046

046: code [Py.Processing] Yet more graphs


s045

045: code [Py.Processing] Yet more graphs


s044

044: code [Py.Processing] More graphs


s043

043: code [Py.Processing] More graphs


s042

042: code [Py.Processing] Yet another interactive recursive thingy, the image on the right is shown with a key pressed


s041

041: code [Py.Processing] Yet another interactive recursive thingy, the image on the right is shown with a key pressed


040 040

040: sketch_180209a [Py.Processing] More recursion


039

039: sketch_180208e [Py.Processing] Manoloide inspired recursion


038

038: sketch_180208d [Py.Processing] Saskia Freeke inspired grid


037

037: sketch_180206b [Py.Processing] "Carnahacking is near!"


036

036: sketch_180205b [Py.Processing] Added some mouse disturbance


035

035: sketch_180204b [Py.Processing] Preparing for "Carnahacking"


034

034: sketch_180203c [Py.Processing] Like 33 but again with "w squared" circles


033

033: sketch_180202c [Py.Processing] Like 32 but again with lines


032

032: sketch_180201c [Py.Processing] Like 29 but with moving points after the gesture is done


031

031: sketch_180130c [Py.Processing] Like 29 but with moving points after the gesture is done


030

030: sketch_180130c [Py.Processing] Like 29 but with 3D and PeasyCam orbit...


29c

029: sketch_180129c [Py.Processing] Like 27 but with circles


28c

028: sketch_180128c [Py.Processing] Like 27 but on grayscale


27c

027: sketch_180127c [Py.Processing]YouTube

Saving a list of points to animate colour... Mouse speed changes recorded colour & strokeWeight()


26

026: sketch_180126c [Py.Processing] Mouse speed changing colour & strokeWeight()


25

025c: sketch_180125b [Py.Processing] Mouse speed changing strokeWeight()


24

024b: sketch_180124b [Py.Processing] Maybe tomorrow I'll try adding some sliders & movement to this graph ? [nah...]


23

023b: sketch_180123b [Py.Processing] Farrel's Sliders adding random displacement


022: missed :(


21b

021b: sketch_180121b [Py.Processing] Playing with Peter "Hacking Math Class" Farrel's Sliders!


20b

020b: sketch_180120b [Py.Processing] I was stuck on my DBN conversion sketch 20a, so this HSB shape play is 20b...

20a

020a: sketch_180120a [Py.Processing] Refactored the code generation, removed most of the repeated vertices... C D E G O R not nice yet…


19a

019: sketch_180119a [Py.Processing] DBN Letters: Now working on a new approach, generating vertex/Shape code, not there yet...


18a

018: sketch_180118a [Py.Processing] DBN Color font? Nah…


17a

017: sketch_180117a [Py.Processing] John Maeda's dbnletters.dbn code from Design by Numbers on Processing Python Mode


16a

016: 16a [Py.Processing] Converting some Typography code from Design by Numbers, almost there!


15a

015: sketch_180115a [Py.Processing] Converting some Typography code from Design by Numbers, first trials


14a

014: sketch_180114a [Py.Processing] Another 3D Graph


13a

013: s180113 [Py.Processing] 3D Graph


s180112

012: s180112 [Py.Processing] Another Graph Take


s180111

011: s180111 [Py.Processing] A Graph Take


s180110

010: s180110 [Py.Processing] More Manoloide inspired balls PNG (derived from a sketch by Manuel Gamboa Naon)


GIF

009: s180109 [Py.Processing] Balls for Manoloide GIF (derived from a sketch by Manuel Gamboa Naon)


GIF

008: s180108 [Py.Processing] Grid of Platonic Solids in Python Mode GIF


GIF

007: s180107 [Processing Java] Another grid of Platonic Solids in Java Mode GIF


GIF

006: s180106 [Processing Java] Grid of Platonic Solids in Java Mode GIF


005: s180105 [p5js] Line Tetrahedrons in p5*js - interactive


GIF

004: s180104 [Processing Java] Tetrahedrons in Java Mode- GIF


GIF

003: s180103 [Py.Processing] Tetrahedrons Python Mode- GIF


002: s180102 [Py.Processing] Many Stars 3D - YouTube


001: s180101[Py.Processing] Many Stars - YouTube (inspired by my own p5js Xmas & New Year card code)