Cymatic/Chlandi simulation

Mar 27, 2007 at 1:39pm

Cymatic/Chlandi simulation

I’d like to write a simulation of a Cymatic Tonoscope.

I plan to create a physical model of a circular membrane, sand will be sprinkled on top of it. When a person speaks into a microphone the membrane will vibrate causing the sand to move into the nodal lines forming standing wave patterns.

Obviously this will be done in real time.

I have looked at PMPD in PD and I dont think it’s possible.

Any ideas guys? I really want to write this :)

#31049
Mar 27, 2007 at 2:10pm

do you really want to move the sand? I guess that if you just make
the membrane vibrate according to the speakers voice the sand would
move. I did get sound on a membrane if you’re interested in that but
it was a different technique which had very few to do with max.

best

pieter

On 27 Mar 2007, at 15:39, Carl Knott wrote:

>
> I’d like to write a simulation of a Cymatic Tonoscope.
>
> I plan to create a physical model of a circular membrane, sand will
> be sprinkled on top of it. When a person speaks into a microphone
> the membrane will vibrate causing the sand to move into the nodal
> lines forming standing wave patterns.
>
> Obviously this will be done in real time.
>
> I have looked at PMPD in PD and I dont think it’s possible.
>
> Any ideas guys? I really want to write this :)
>

#100329
Mar 27, 2007 at 2:30pm

Yes, I’d love to see your membrane example. Is it done in real-time and how did you implement it?

#100330
Mar 27, 2007 at 2:46pm

I used solenoids hooked onto a large amplifier (just to have enough
pxer) the solenoids were connected to the membrane and the solenoids
functioned as a large speaker. I guess you could look at it as a
normal speaker. You can look into the MFB (motion feedback) speakers
of the late 60′s.
If you could make a closed system in wich the space between the
membrane and the speaker is airtight your vibrations of the speaker
are transposed onto the membrane
still no max involved

grtz
p

On 27 Mar 2007, at 16:30, Carl Knott wrote:

>
> Yes, I’d love to see how your membrane example. Is it done in real-
> time and how did you implement it?
>

#100331
Mar 27, 2007 at 6:17pm

Ahh, though interesting I dont think that’ll help as I want to do it in software.. any more ideas guys?

#100332
Mar 28, 2007 at 9:40am

Carl Knott schrieb:
> Ahh, though interesting I dont think that’ll help as I want to do it
> in software.. any more ideas guys?

Why do you think its not possible with PMPD? As the modes probably only
show up with lower frequencies, you can filter and downsample the
incoming audio and then apply it to PMPD models…

Another approach is to crossfade pictures according to the knowledge of
the modes. Analyze the sound for the resonant frequencies or use filters
and then mix the images… I know that’s a fake which could lead to
wrong results…

Stefan


Stefan Tiedje————x——-
–_____———–|————–
–(_|_ —-|—–|—–()——-
– _|_)—-|—–()————–
———-()——–www.ccmix.com

#100333
Mar 28, 2007 at 11:11am

http://local.wasp.uwa.edu.au/~pbourke/surfaces_curves/chladni/

Paul Bourke is the man.

I’m not sure my math is up to it. But here’s a first thought:

If you represent the surface of a (square) plate as a matrix of
dimension LxL, the value of the cell [x,y] is:

cos(n pi x / L) cos(m pi y / L) – cos(m pi x / L) cos(n pi y / L)

Might this be in the scope of jit.expr?

The sand should move towards areas where the value is nearest zero
(you could do some processing on the matrix to get a topology or
field out of it, and then put your sand particle system through it).
Differentiate the matrix (jit.op @op -, with feedback) and you will
get the slope at x,y; then move the sand particle by a fraction of
that xy (jit.repos?)

n and m I believe are two frequency components of the input signal,
not entirely sure. Putting arbitrary signals through might be hard;
maybe do an FFT and pick the peak bins? Or use fiddle~/analyze~?

I’m actually tempted to try it.

For the circular plate, I think I would use a matrix of r & theta,
then do a cartesian to polar conversion to represent it visually. No
idea how to implement a Bessel function.

Chladni Plate Mathematics, 2D

Written by Paul Bourke
March 2003

The basic experiment that is given the name “Chladni” consists of a
plate or drum of some shape, possibly constrained at the edges or at
a point in the center, and forced to vibrate historically with a
violin bow or more recently with a speaker. A fine sand or powder is
sprinkled on the surface and it is allowed to settle. It will do so
at those parts of the surface that are not vibrating, namely at the
nodes of vibration.

The equation for the zeros of the standing wave on a square Chladni
plate (side length L) constrained at the center is given by the
following.

cos(n pi x / L) cos(m pi y / L) – cos(m pi x / L) cos(n pi y / L) = 0
where n and m are integers. The Chladni patterns for n,m between 1
and 5 are shown below, click on the image for a larger version or
click on the “continuous” link for the standing wave amplitude maps.
Note that the solution is uninteresting for n = m and the lower half
of the table is the same as the upper half, namely (n1,m2) = (n2,m1).

Circular plate

For a circular plate with radius R the solution is given in terms of
polar coordinates (r,theta) by

Jn(K r) (C1 cos(n theta) + C2 sin(n theta))

Where Jn is the n’th order Bessel function. If the plate is fixed
around the rim (eg: a drum) then K = Znm / R, Znm is the m’th zero of
the n’th order Bessel function. The term “Znm r / R” means the Bessel
function term goes to zero at the rim as required by the constraint
of the rim being fixed.

On Mar 27, 2007, at 6:39 AM, Carl Knott wrote:

>
> I’d like to write a simulation of a Cymatic Tonoscope.
>
> I plan to create a physical model of a circular membrane, sand will
> be sprinkled on top of it. When a person speaks into a microphone
> the membrane will vibrate causing the sand to move into the nodal
> lines forming standing wave patterns.
>
> Obviously this will be done in real time.
>
> I have looked at PMPD in PD and I dont think it’s possible.
>
> Any ideas guys? I really want to write this :)

grrr waaa
http://www.grahamwakefield.net

#100334
Mar 28, 2007 at 11:53am

OK, I got enthusiastic… enjoy!

max v2;
#N vpatcher 602 54 1283 607;
#P window setfont “Sans Serif” 9.;
#P message 232 480 68 196617 fullscreen $1;
#P toggle 215 480 15 0;
#P newex 257 455 35 196617 sel 27;
#P newex 215 455 40 196617 key;
#P newex 40 503 163 196617 jit.window chladni @size 256 256;
#P toggle 491 40 15 0;
#N vpatcher 109 123 517 452;
#P outlet 147 245 15 0;
#P outlet 73 245 15 0;
#P window setfont “Sans Serif” 9.;
#P window linecount 1;
#P newex 73 215 59 196617 line 0. 200;
#P newex 73 190 51 196617 pack 0. 0;
#P newex 73 165 34 196617 / 50.;
#P newex 73 141 70 196617 random 1000;
#P inlet 73 54 15 0;
#P newex 73 84 29 196617 gate;
#P window linecount 0;
#P newex 73 110 30 196617 t b b;
#P window linecount 1;
#P newex 224 163 37 196617 + 100;
#P newex 147 215 59 196617 line 0. 200;
#P newex 147 190 51 196617 pack 0. 0;
#P newex 224 141 76 196617 random 10000;
#P newex 147 165 34 196617 / 50.;
#P window linecount 0;
#P newex 147 141 70 196617 random 1000;
#P connect 8 0 7 0;
#P fasten 8 0 6 0 78 76 65 76 65 105 78 105;
#P connect 7 0 6 0;
#P connect 6 0 9 0;
#P connect 9 0 10 0;
#P connect 10 0 11 0;
#P connect 11 0 12 0;
#P connect 12 0 13 0;
#P fasten 4 1 7 1 201 238 323 238 323 66 97 66;
#P connect 5 0 11 1;
#P connect 6 0 0 0;
#P connect 0 0 1 0;
#P connect 1 0 3 0;
#P connect 3 0 4 0;
#P connect 4 0 14 0;
#P connect 5 0 3 1;
#P connect 6 1 2 0;
#P connect 2 0 5 0;
#P pop;
#P newobj 491 64 37 196617 p auto;
#P comment 13 58 297 196617 http://www.grahamwakefield.net;
#P window setfont “Sans Serif” 20.;
#P comment 13 31 297 196628 Chlandni plate simulation;
#P window setfont “Sans Serif” 9.;
#P comment 115 394 100 196617 feedback mix;
#P flonum 74 392 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#N vpatcher 79 161 478 415;
#P outlet 62 194 15 0;
#P window setfont “Sans Serif” 9.;
#P window linecount 1;
#P newex 62 165 64 196617 jit.op @op +;
#P inlet 212 60 15 0;
#P inlet 62 61 15 0;
#P inlet 310 68 15 0;
#P window linecount 0;
#P newex 310 105 30 196617 !- 1.;
#P window linecount 1;
#P newex 212 131 108 196617 jit.op @op * @val 0.1;
#P window linecount 0;
#P newex 62 130 108 196617 jit.op @op * @val 0.9;
#P connect 4 0 0 0;
#P connect 0 0 6 0;
#P connect 6 0 7 0;
#P connect 1 0 6 1;
#P fasten 3 0 0 1 315 97 165 97;
#P connect 5 0 1 0;
#P connect 3 0 2 0;
#P connect 2 0 1 1;
#P pop;
#P newobj 40 418 45 196617 p mixer;
#P comment 126 96 297 196617 Chlandni plate equation from;
#P window linecount 2;
#P comment 126 113 297 196617 http://local.wasp.uwa.edu.au/~pbourke/
surfaces_curves/chladni/index.html;
#P window linecount 1;
#P newex 40 460 65 196617 jit.op @op *;
#P comment 467 409 100 196617 “stability” map;
#P comment 549 265 100 196617 amplitude map;
#P newex 40 117 48 196617 loadbang;
#P newex 40 348 181 196617 jit.matrix 1 float32 256 256 @thru 0;
#P newex 450 426 161 196617 jit.expr @expr “1.0 – abs(in[0])”;
#P newex 57 316 134 196617 jit.noise 1 float32 256 256;
#P flonum 532 118 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 491 118 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 465 286 68 196617 jit.normalize;
#P user jit.pwindow 464 308 66 66 0 1 0 0 1 0;
#P toggle 40 254 15 0;
#P newex 40 275 63 196617 qmetro 100;
#P newex 125 232 69 196617 prepend expr;
#P newex 125 209 52 196617 toSymbol;
#P window linecount 2;
#P message 125 171 283 196617 (cos(in[1] * PI * snorm[0]) * cos(in[2]
* PI * snorm[1])) – (cos(in[2] * PI * snorm[0]) * cos(in[1] * PI *
snorm[1]));
#P button 450 155 15 0;
#P window linecount 1;
#P newex 450 182 142 196617 jit.matrix 1 float32 256 256;
#P newex 450 261 92 196617 jit.expr @inputs 3;
#P comment 137 153 297 196617 cos(n pi x / L) cos(m pi y / L) – cos(m
pi x / L) cos(n pi y / L);
#P comment 492 103 118 196617 n , m (shouldn’t be equal);
#P comment 112 278 100 196617 virtual sand;
#P connect 18 0 10 0;
#P connect 10 0 9 0;
#P fasten 21 0 17 0 45 481 20 481 20 325 45 325;
#P connect 9 0 17 0;
#P connect 17 0 24 0;
#P connect 24 0 21 0;
#P fasten 21 0 31 0 45 484 45 484;
#P fasten 35 0 31 0 237 499 45 499;
#P connect 9 0 15 0;
#P connect 15 0 24 1;
#P connect 25 0 24 2;
#P fasten 16 0 21 1 455 451 100 451;
#P fasten 18 0 6 0 45 144 130 144;
#P connect 6 0 7 0;
#P connect 7 0 8 0;
#P fasten 33 0 34 0 262 477 220 477;
#P fasten 34 0 35 0 231 495 231 480;
#P fasten 32 0 33 0 256 472 256 457;
#P fasten 18 0 5 0 45 144 455 144;
#P fasten 14 0 5 0 537 144 455 144;
#P fasten 13 0 5 0 496 144 455 144;
#P connect 5 0 4 0;
#P connect 4 0 3 0;
#P fasten 8 0 3 0 130 254 455 254;
#P connect 3 0 16 0;
#P fasten 3 0 12 0 455 283 470 283;
#P connect 12 0 11 0;
#P connect 30 0 29 0;
#P hidden connect 29 0 13 0;
#P connect 13 0 3 1;
#P hidden connect 29 1 14 0;
#P connect 14 0 3 2;
#P pop;

grrr waaa
http://www.grahamwakefield.net

#100335
Mar 28, 2007 at 12:58pm

Brilliant Graham your posts have been very helpful, I’ll try your example at home tonight :)

#100336
Apr 5, 2007 at 8:04pm

Graham Wakefield skrev:
> OK, I got enthusiastic… enjoy!

A magical patch, that. And might I also add that your website holds some
of the most interesting descriptions of academic processes I have read
in a long time!

Thank you.

Andreas.

#100337
Apr 6, 2007 at 6:09am

Just for kicks, I wondered what a Chladni plate might look like if it
was a three-dimensional box with the virtual sand shaking inside it
(yeah, physically impossible but that’s not what we like computers
for anyway)… so, the equations might be wrong, but the images the
jit.gl.volume makes are definitely interesting, in a old-flakes new-
flakes way…

max v2;
#N vpatcher 438 44 1407 798;
#P window setfont “Sans Serif” 9.;
#P window linecount 1;
#P comment 836 69 100 196617 cpu killer;
#P message 188 609 53 196617 enable $1;
#P message 106 609 53 196617 enable $1;
#P toggle 156 561 15 0;
#P newex 156 586 47 196617 gate 1 0;
#P newex 92 353 126 196617 jit.clip @min -1. @max 1.;
#P flonum 257 602 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P message 257 622 59 196617 isolevel $1;
#P window linecount 3;
#P newex 156 647 297 196617 jit.gl.isosurf chladni @depth_enable 1
@lighting_enable 1 @smooth_shading 1 @depth_enable 0 @poly_mode 1 1
@isolevel 0. @scale 2 2 2 @blend_enable 1 @color 1. 1. 1. 0.05;
#P toggle 96 561 15 0;
#P window linecount 2;
#P newex 96 692 226 196617 jit.gl.volume chladni @slices 64
@intensity 400 @density 1. @bounds 0 @clip 0 @blend_enable 1;
#P user jit.fpsgui 32 302 60 196617 0;
#P window linecount 1;
#N vpatcher 489 188 1068 439;
#P window setfont “Sans Serif” 9.;
#P window linecount 3;
#P message 100 164 429 196617 (cos(in[1] * PI * snorm[0]) * cos(in[2]
* PI * snorm[1]) * cos(in[3] * PI * snorm[2])) -(cos(in[2] * PI *
snorm[0]) * cos(in[3] * PI * snorm[1]) * cos(in[1] * PI * snorm[2]))
+ (cos(in[3] * PI * snorm[0]) * cos(in[1] * PI * snorm[1]) * cos(in
[2] * PI * snorm[2]));
#P message 80 101 429 196617 – (cos(in[1] * PI * snorm[0]) * cos(in
[2] * PI * snorm[1]) * cos(in[3] * PI * snorm[2])) + (cos(in[2] * PI
* snorm[0]) * cos(in[3] * PI * snorm[1]) * cos(in[1] * PI * snorm
[2])) – (cos(in[3] * PI * snorm[0]) * cos(in[1] * PI * snorm[1]) * cos
(in[2] * PI * snorm[2]));
#P message 48 53 414 196617 – (cos(in[1] * PI * snorm[0]) * cos(in[2]
* PI * snorm[1]) * cos(in[3] * PI * snorm[2])) + (cos(in[2] * PI *
snorm[0]) * cos(in[3] * PI * snorm[1]) * cos(in[1] * PI * snorm[2]))
+ (cos(in[3] * PI * snorm[0]) * cos(in[1] * PI * snorm[1]) * cos(in
[2] * PI * snorm[2]));
#P inlet 111 28 15 0;
#P outlet 48 185 15 0;
#P connect 2 0 0 0;
#P connect 4 0 0 0;
#P connect 3 0 0 0;
#P connect 1 0 4 0;
#P pop 1;
#P newobj 218 157 102 196617 p possible_equations;
#P message 22 514 80 196617 rotate $1 0 1 0;
#N counter 0 360;
#X flags 0 0;
#P newobj 22 491 74 196617 counter 0 360;
#P newex 797 43 66 196617 loadmess 64;
#P newex 394 45 78 196617 loadmess 1 1 1;
#P newex 394 69 76 196617 unpack 0. 0. 0.;
#P number 797 67 35 9 4 256 67 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 763 190 34 196617 r dim;
#P newex 380 326 34 196617 r dim;
#P newex 797 113 34 196617 s dim;
#P message 797 93 71 196617 dim $1 $1 $1;
#P user jit.fpsgui 814 311 60 196617 3;
#P button 131 186 31 0;
#P button 109 82 31 0;
#P newex 109 299 298 196617 jit.gl.render chladni @erase_color 0. 0.
0. 0.9 @camera 0 0 3.2;
#P newex 109 270 58 196617 t b b erase;
#P newex 645 667 213 196617 jit.window chladni @floating 1 @fsmenubar 0;
#P flonum 428 122 35 9 0. 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 437 355 81 196617 loadmess 0.995;
#P window linecount 2;
#P newex 133 413 194 196617 jit.expr @inputs 3 @expr “(in[0] * in[2])
+ (in[1] * (1.0 – in[2]))”;
#P window linecount 1;
#P message 695 634 68 196617 fullscreen $1;
#P toggle 678 634 15 0;
#P newex 720 609 35 196617 sel 27;
#P newex 678 609 40 196617 key;
#P newex 96 586 47 196617 gate 1 1;
#P toggle 343 29 35 0;
#N vpatcher 761 283 1395 608;
#P window setfont “Sans Serif” 9.;
#P window linecount 1;
#P newex 379 193 34 196617 delay;
#P outlet 235 246 15 0;
#P newex 235 166 46 196617 / 1000.;
#P newex 235 142 83 196617 drunk 1000 500;
#P outlet 147 245 15 0;
#P outlet 73 245 15 0;
#P newex 73 165 40 196617 / 500.;
#P newex 73 141 83 196617 drunk 1000 500;
#P inlet 73 54 15 0;
#P newex 73 84 29 196617 gate;
#P window linecount 0;
#P newex 73 110 30 196617 t b b;
#P window linecount 1;
#P newex 379 143 40 196617 i 4000;
#P newex 147 165 40 196617 / 500.;
#P window linecount 0;
#P newex 147 141 83 196617 drunk 1000 500;
#P connect 5 0 4 0;
#P fasten 5 0 3 0 78 76 65 76 65 105 78 105;
#P connect 4 0 3 0;
#P connect 3 0 6 0;
#P connect 6 0 7 0;
#P connect 7 0 8 0;
#P connect 13 0 4 1;
#P connect 3 0 0 0;
#P connect 0 0 1 0;
#P connect 1 0 9 0;
#P connect 3 1 10 0;
#P connect 10 0 11 0;
#P connect 11 0 12 0;
#P connect 3 1 2 0;
#P connect 2 0 13 0;
#P pop;
#P newobj 344 68 37 196617 p auto;
#P comment 13 58 297 196617 http://www.grahamwakefield.net;
#P window setfont “Sans Serif” 20.;
#P comment 13 31 297 196628 Chladni 3D simulation?;
#P window setfont “Sans Serif” 9.;
#P comment 499 384 100 196617 feedback mix;
#P flonum 435 382 46 9 0. 1. 3 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P comment 325 159 297 196617 Pseudo 3D-Chladni plate equations;
#P newex 133 486 65 196617 jit.op @op *;
#P comment 744 409 100 196617 “stability” map;
#P comment 826 265 100 196617 amplitude map;
#P newex 109 115 20 196617 t b;
#P newex 133 380 184 196617 jit.matrix 1 float32 32 32 32 @thru 0;
#P newex 335 457 161 196617 jit.expr @expr “1.0 – abs(in[0])”;
#P newex 225 351 137 196617 jit.noise 1 float32 32 32 32;
#P flonum 385 122 35 9 0. 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 344 122 35 9 0. 0 1 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 742 286 68 196617 jit.normalize;
#P user jit.pwindow 741 308 66 66 0 1 0 0 1 0;
#P toggle 109 223 15 0;
#P newex 109 244 57 196617 qmetro 33;
#P newex 218 230 69 196617 prepend expr;
#P newex 218 207 52 196617 toSymbol;
#P button 727 191 15 0;
#P newex 727 218 145 196617 jit.matrix 1 float32 32 32 32;
#P newex 727 261 92 196617 jit.expr @inputs 4;
#P comment 345 107 118 196617 n , m (shouldn’t be equal);
#P comment 233 334 100 196617 virtual sand;
#P fasten 36 1 49 0 138 292 27 292;
#P connect 49 0 50 0;
#P fasten 36 0 52 0 114 294 37 294;
#P fasten 19 0 58 0 138 507 81 507 81 343 97 343;
#P connect 54 0 27 0;
#P connect 27 0 53 0;
#P connect 61 0 53 0;
#P connect 54 0 61 0;
#P connect 38 0 16 0;
#P connect 16 0 8 0;
#P connect 8 0 7 0;
#P connect 7 0 36 0;
#P connect 39 0 36 0;
#P connect 36 0 37 0;
#P connect 36 2 37 0;
#P connect 36 1 15 0;
#P fasten 43 0 15 0 385 379 138 379;
#P fasten 58 0 15 0 97 375 138 375;
#P connect 15 0 32 0;
#P connect 32 0 19 0;
#P fasten 50 0 27 1 27 537 138 537;
#P connect 19 0 27 1;
#P connect 60 0 59 0;
#P connect 59 0 55 0;
#P connect 62 0 55 0;
#P connect 56 0 55 0;
#P fasten 14 0 19 1 340 482 193 482;
#P connect 60 0 62 0;
#P fasten 2 0 59 1 732 544 198 544;
#P fasten 50 0 59 1 27 541 198 541;
#P connect 16 0 51 0;
#P connect 51 0 5 0;
#P connect 5 0 6 0;
#P fasten 36 1 13 0 138 345 230 345;
#P fasten 43 0 13 0 385 350 230 350;
#P connect 13 0 32 1;
#P connect 57 0 56 0;
#P fasten 21 0 32 2 440 405 322 405;
#P fasten 2 0 14 0 732 447 340 447;
#P connect 26 0 25 0;
#P connect 46 0 11 0;
#P hidden connect 25 0 11 0;
#P connect 46 1 12 0;
#P hidden connect 25 1 12 0;
#P connect 47 0 46 0;
#P connect 46 2 34 0;
#P hidden connect 25 2 34 0;
#P connect 33 0 21 0;
#P connect 31 0 35 0;
#P fasten 29 0 30 0 725 631 683 631;
#P fasten 30 0 31 0 694 649 694 634;
#P fasten 28 0 29 0 719 626 719 611;
#P fasten 12 0 4 0 390 144 732 144;
#P fasten 11 0 4 0 349 144 732 144;
#P fasten 16 0 4 0 114 144 732 144;
#P fasten 34 0 4 0 433 144 732 144;
#P fasten 51 0 4 0 223 182 732 182;
#P fasten 44 0 3 0 768 211 732 211;
#P connect 4 0 3 0;
#P connect 3 0 2 0;
#P fasten 6 0 2 0 223 254 732 254;
#P fasten 2 0 10 0 732 283 747 283;
#P connect 10 0 9 0;
#P fasten 11 0 2 1 349 260 759 260;
#P fasten 12 0 2 2 390 260 786 260;
#P connect 48 0 45 0;
#P connect 45 0 41 0;
#P connect 41 0 42 0;
#P fasten 34 0 2 3 433 260 813 260;
#P fasten 10 0 40 0 747 307 819 307;
#P pop;

#100338
Apr 7, 2007 at 6:05pm

On 4/6/07, Graham Wakefield

wrote:
> Just for kicks, I wondered what a Chladni plate might look like if it
> was a three-dimensional box with the virtual sand shaking inside it
> (yeah, physically impossible but that’s not what we like computers
> for anyway)… so, the equations might be wrong, but the images the
> jit.gl.volume makes are definitely interesting, in a old-flakes new-
> flakes way…

ISTR seeing a video of an artist’s project installed on an airplane
flying a parabolic arc to create momentary weightlessness. It
consisted of a closed transparent plastic cylinder with a speaker at
one end. A modest quantity of puffed rice or other small granular
objects was enclosed in the cylinder. In weightless conditions,
acoustic waves sorted the grains into 3-D patterns. I would guess that
could be called a 3D Chladni.

There were videos of it out on the net, but I couldn’t locate them.
Maybe someone in the forum remembers.

– Paul


—– |(*,+,#,=)(#,=,*,+)(=,#,+,*)(+,*,=,#)| —–

#100339
May 26, 2008 at 5:10am

I hunted around for the link you mentioned.

Is this it?

http://www.geocities.jp/cosmo21art/worksws_e.html

#100340
May 29, 2008 at 11:45pm

That microgravity experiment reminds me of this bi-axial rotation mould making technique this guy purportedly tested.
http://video.google.ca/videoplay?docid=148004506625128048
Claims he encountered the idea while trying to mentally reverse engineer an extra-terrestrial powerplants construction.

If only he had used a Buchla instead of that Moog-we’d have Fusion powered “Hitachi Magic Wands” by now!

I’m thinking this would of been helpful as a dynamic surface. Unfortunately, looks like the links to this amazing patch have all dried up.
http://www.lma.cnrs-mrs.fr/~IM/Projets/en_scansynth.htm
Donut understand why this never received more attention.
One of my favorite patches.

#100341
May 30, 2008 at 1:12am

maxobjects.com is your friend – do a search for ‘scansynth’

Brad

On 29-May-08, at 5:45 PM, Ryan C. Dean wrote:

>
> That microgravity experiment reminds me of this bi-axial rotation
> mould making technique this guy purportedly tested.
> http://video.google.ca/videoplay?docid=148004506625128048
> Claims he encountered the idea while trying to mentally reverse
> engineer an extra-terrestrial powerplants construction.
>
> If only he had used a Buchla instead of that Moog-we’d have Fusion
> powered “Hitachi Magic Wands” by now!
>
>
> I’m thinking this would of been helpful as a dynamic surface.
> Unfortunately, looks like the links to this amazing patch have all
> dried up.
> http://www.lma.cnrs-mrs.fr/~IM/Projets/en_scansynth.htm
> Donut understand why this never received more attention.
> One of my favorite patches.

#100342

You must be logged in to reply to this topic.