PS. Im Going to use this to do some A-Life cellular automata stuff, has anyone else attempted this before using GEM or PDP?
GridFlow comes with two cellular automata examples, 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...
...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.
Again, Thanks for the help! -thewade
thewade wrote:
PS. Im Going to use this to do some A-Life cellular automata stuff, has anyone else attempted this before using GEM or PDP?
GridFlow comes with two cellular automata examples, 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...
...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 is about multiplying samples in the frequency domain (multiplying in the time domain does ring modulation). Usually you take a fourier transform of two signals and multiply pairs of frequency bins. The you do the inverse fourier transform and you have a convolved signal. The dimensions are normally one for sound or two for vision. It can be used for filtering, when one of the arrays is an impulse response, or you can convolve two sounds to get a kind of vocoder effect that's really trippy. You need a fast machine to do it in real time. Edge detection is filtering in two dimensions: convolve an 'edge' with an image to get outlines of objects.
Martin