[PD] Iterative processes on textures in GEM
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