One visual idea a day py5 processing python
 
 
 
 
 
Go to file
Alexandre B A Villares a4ce0a8622 338 2018-12-02 17:46:53 -02:00
_layouts layout 2018-01-04 00:06:50 -02:00
assets/css Update style.css 2018-05-04 10:13:33 -03:00
s041 day 41 2018-02-10 11:03:21 -02:00
s042 day 44 2018-02-13 17:15:35 -02:00
s043 day 43 (and some older fixes) 2018-02-12 09:12:03 -02:00
s044 Merge branch 'master' of https://github.com/villares/sketch-a-day 2018-02-13 21:04:32 -02:00
s045 day 47 2018-02-16 22:58:07 -02:00
s045b day 50 2018-02-19 14:53:30 -03:00
s046 day 47 2018-02-16 22:58:07 -02:00
s047 smaller GIF 2018-02-16 23:02:31 -02:00
s048 day 48! 2018-02-18 13:23:36 -03:00
s049 day 50 2018-02-19 14:53:30 -03:00
s050 50 comments 2018-02-19 18:26:46 -03:00
s051 51 fix 2018-02-22 11:22:43 -03:00
s052 day 53 (& 52 refactor) 2018-02-22 10:52:30 -03:00
s053 comments and promissing a new arrow def will come… 2018-02-22 12:31:56 -03:00
s054 day 54, readme 2018-02-23 10:13:40 -03:00
s055 head comment 55 2018-02-26 22:27:25 -03:00
s056 Day 57 2018-02-26 16:15:46 -03:00
s057 Day 57 2018-02-26 16:15:46 -03:00
s058 58 head comment 2018-03-01 00:10:07 -03:00
s059 59 small fixes 2018-03-01 00:09:01 -03:00
s060 small adjustments 2018-03-02 01:22:48 -03:00
s061 Merge branch 'master' of https://github.com/villares/sketch-a-day 2018-03-03 15:29:08 -03:00
s062 62 gif! 2018-03-03 16:05:30 -03:00
s063 gig 63! 2018-03-04 22:47:17 -03:00
s064 gif 64 2018-03-05 21:20:33 -03:00
s065 say 66 2018-03-07 21:36:47 -03:00
s066 say 66 2018-03-07 21:36:47 -03:00
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
s180101 comments 2018-01-05 20:59:47 -02:00
s180102 49.... 2018-02-19 11:46:54 -03:00
s180103 comments 2018-01-05 20:59:47 -02:00
s180104 comments 2018-01-05 20:59:47 -02:00
s180105 placement 2018-01-05 22:00:08 -02:00
s180106 cleanup 2018-01-08 14:38:54 -02:00
s180107 cleanup 2018-01-08 14:38:54 -02:00
s180108 type_ & Manoloide 2018-01-09 21:25:41 -02:00
s180108_liveEdu Update PlatonicSolids.py 2018-01-09 19:34:34 -02:00
s180109 c! 2018-01-11 12:59:12 -02:00
s180110 180110 2018-01-11 13:40:08 -02:00
s180111 day 12 2018-01-12 11:54:53 -02:00
s180112 sketch 13 2018-01-13 10:24:47 -02:00
sketch_180113a smaller! 2018-01-13 11:11:50 -02:00
sketch_180114a day 14 2018-01-14 16:24:22 -02:00
sketch_180115a readme image day 16 2018-01-16 21:59:40 -02:00
sketch_180116a day17 2018-01-17 21:33:43 -02:00
sketch_180117a comments 18 2018-01-18 21:51:18 -02:00
sketch_180118a 20a improvement... 2018-01-20 23:37:23 -02:00
sketch_180119a 20 B! 2018-01-20 19:25:19 -02:00
sketch_180120a day 20a... 2018-01-21 00:05:31 -02:00
sketch_180120b 20a improvement... 2018-01-20 23:37:23 -02:00
sketch_180121b better credit to Peter "Hacking Math" Farell pointing to GitHub repo 2018-01-22 08:26:01 -02:00
sketch_180123b day 24 2018-01-24 22:50:03 -02:00
sketch_180124b comment 2018-01-25 15:48:05 -02:00
sketch_180125c coments day 25 2018-01-26 00:15:57 -02:00
sketch_180126c day 26 2018-01-26 00:11:24 -02:00
sketch_180127c save frame 2018-01-27 15:38:46 -02:00
sketch_180128c removed enumerate() 2018-01-28 19:16:46 -02:00
sketch_180129c save frame update 2018-01-29 22:19:37 -02:00
sketch_180130c day 30 2018-01-30 23:44:27 -02:00
sketch_180131c day 32 2018-02-01 16:37:16 -02:00
sketch_180201c day 32 2018-02-01 16:37:16 -02:00
sketch_180202c day 33 2018-02-02 18:53:53 -02:00
sketch_180202campus day 33 2018-02-02 18:53:53 -02:00
sketch_180203c day 34 2018-02-03 22:09:13 -02:00
sketch_180204b Update sketch_180204b.pyde 2018-02-06 09:45:19 -02:00
sketch_180205b Update sketch_180205b.pyde 2018-02-06 09:37:34 -02:00
sketch_180206a day 37 2018-02-06 20:38:25 -02:00
sketch_180208d intro comments 2018-02-09 22:08:42 -02:00
sketch_180208e intro comments 2018-02-09 22:08:42 -02:00
sketch_180209a day 43 (and some older fixes) 2018-02-12 09:12:03 -02:00
.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 layout 2018-01-04 00:06:50 -02:00

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)