[PD] Iterative processes on textures in GEM

Mathieu Bouchard matju at sympatico.ca
Fri Jul 23 10:30:47 CEST 2004

On Sun, 18 Jul 2004, thewade wrote:

> > Both examples are based on GridFlow\'s powerful [@convolve] object.
> I used to know how convolution works but Ive forgotten. Could you
> remind me? (by the way, GEM has a [pix_convolve] object as well)
> If I remember correctly, convolution traverses a two-dimentional
> array of numbers, and multiplies thoes numbers and their adjacent
> values by some lesser dimentioned array...

yes, that's how it works.

> ...Im an artist/computer science major and I only remember this
> (proabably flawed) bit if information from a cognitive science
> class where they were using convolution as edge detection for
> robotic vision.

Convolution with only positive numbers is a blur effect; convolution with
mixed positive/negative acts as various kinds of edge detectors;

the game-of-life is equivalent to a blur coupled with some kind of
double-thresholding, but I wouldn't quite know how to make one with GEM.
See if you can duplicate the one in GridFlow; and then I don't know how
fast GEM's convolution will be, compared to GridFlow's.

In general you can shortcut a convolution by using the fact that:

  fft(A conv B) = fft(A) * fft(B)

but, in the case of game-of-life, there is something else than just a
convolution, and that thing is not easily expressible in frequency domain
(or: if it can, I really want to hear about it!!!) so you can't shortcut

Mathieu Bouchard                       http://artengine.ca/matju

More information about the Pd-list mailing list