max v2; #N vpatcher 557 60 1249 810; #P user meter~ 376 114 456 127 100 0 168 0 103 103 103 255 153 0 255 0 0 217 217 0 153 186 0 12 3 3 3 3; #P user jit.pwindow 110 536 203 167 0 1 0 0 1 0; #P window setfont "Sans Serif" 9.; #P window linecount 1; #P newex 111 501 111 196617 jit.lcd 4 char 320 240; #P newex 111 460 94 196617 prepend frameoval; #P newex 111 425 114 196617 ladd 160 120 160 120; #P newex 111 395 142 196617 pack 0 0 0 0; #P newex 243 355 27 196617 + 2; #P newex 199 355 27 196617 + 2; #P newex 155 355 27 196617 - 2; #P newex 111 354 27 196617 - 2; #P number 340 330 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P message 283 305 33 196617 clear; #P newex 111 303 54 196617 poltocar; #P newex 111 267 43 196617 float 0.; #P newex 155 216 77 196617 * 0.098175; #P button 111 218 15 0; #P newex 111 184 40 196617 Uzi 64; #N vpatcher 572 250 1217 789; #P origin 0 13; #P window setfont "Sans Serif" 9.; #P window linecount 0; #P comment 89 28 439 196617 Figure 2 does more complex drawing. Its 64 circles drawn touching at the center of the image. Any image that is radially symmetrical like this one is best drawn with polar coordinates. The metro drives the whole process \, starting with the amplitude measurement and clearing the lcd. The uzi generates 64 numbers \, which are translated into angles (in radians) for the poltocar object. The amplitude (scaled from the original values of > 1.0) is banged into Peter Elsea 2004 4 the radius input of the poltocar \, which produces an origin in Cartesian coordinates for each circle.; #P window linecount 10; #P comment 89 163 440 196617 The arguments to frameoval are the rectangle that encloses the circle. To get these from the origin and move to the center of the lcd \, the arguments are calculated thus: ¥ Left is origin X + center X Ð radius ¥ Top is origin Y + center Y Ð radius ¥ Bottom is origin X + center X + radius Peter Elsea 2004 5 ¥ Right is origin Y + center Y + radius The dynamics of this patch are pretty simple. The image expands as the music gets loud \, pretty much pulsing to a beat1. A more subtle effect is produced by keeping the circles constant in size and moving the origins.; #P pop; #P newobj 9 28 69 196617 p explanation; #P flonum 386 174 59 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0; #P newex 340 211 56 196617 * 8000.; #P newex 340 174 32 196617 avg~; #P user ezadc~ 340 65 384 98 0; #P newex 64 91 52 196617 metro 30; #P toggle 64 65 15 0; #P comment 388 152 100 196617 scale radius; #P window linecount 0; #P comment 509 36 138 196617; #P window linecount 1; #P comment 140 125 100 196617 measure amplitude; #P comment 143 147 100 196617 clear lcd; #P comment 349 315 100 196617 radius of circles; #P connect 5 0 6 0; #P fasten 6 0 12 0 69 170 116 170; #P connect 12 0 13 0; #P connect 13 0 15 0; #P connect 15 0 16 0; #P connect 16 0 19 0; #P connect 19 0 23 0; #P connect 23 0 24 0; #P connect 24 0 25 0; #P fasten 17 0 26 0 288 485 116 485; #P fasten 6 0 26 0 69 487 116 487; #P connect 25 0 26 0; #P connect 26 0 27 0; #P fasten 18 0 19 1 345 350 133 350; #P fasten 9 0 15 1 345 249 149 249; #P connect 12 2 14 0; #P connect 14 0 16 1; #P connect 16 1 20 0; #P connect 20 0 23 1; #P fasten 18 0 20 1 345 351 177 351; #P fasten 16 0 21 0 116 340 204 340; #P connect 21 0 23 2; #P fasten 18 0 21 1 345 352 221 352; #P fasten 16 1 22 0 160 331 248 331; #P connect 22 0 23 3; #P fasten 18 0 22 1 345 352 265 352; #P fasten 6 0 17 0 69 157 288 157; #P connect 7 0 8 0; #P fasten 6 0 8 0 69 135 345 135; #P connect 8 0 9 0; #P connect 9 0 18 0; #P connect 7 0 28 0; #P connect 10 0 9 1; #P pop;