Pick a grey, pick an image, mouse around. Hit the FFT button to see a (pretty lossy) frequency-domain version. (Images barely recognizable upon IFFT -- part of the problem is brightness scaling.) Nifty-izing options on the brush include a couple of shapes and mirror-drawing effects ("plus opposite" aids brightening radially symmetric pairs of image lines; "two mirrors" makes it easy to draw fuzzy stringy rings around the center point). There's also a "text" brush that draws with words from this page -- not especially interesting or appropriate for this projext, but it's sure to fit in with something or other sooner or later. The products of the FFT and IFFT are log-scaled for visibility, and therefore look a little abnormal. Not yet implemented is a button for switching between the views.

Bugginess note: you may have to double-click on the image or brush name to get it going. My apologies. An interface note: unsurprisingly, the "1-pixel pencil" size cannot be changed; the size box isn't disabled and greyed-out yet, though. Also, the size box and mirrors do not currently affect the "text, for fun" brush's font or reflections. (It's not yet expected to be useful!) Sad note: the ability to show and paint in all of the modes (real parts, imaginary parts, magnitudes (phases held constant), maybe phases too) in either the space or the frequency picture, was jettisoned on behalf of debugging expediency. Sigh.

Acknowledgements to O'Reilly: I learned Java this week primarily from Java in a Nutshell and Java Examples in a Nutshell (David Flanagan). The DFFT algorithm was lifted from the photocopies provided for the class; less anonymous thanks to that author coming soon.

Now go ahead and scrawl some:


The applet itself.
A class of image arrays with real and imaginary parts including FFT methods.
The class "ColumnLayout" is cribbed with thanks from Java Examples in a Nutshell. URL coming soon (get there from ).

Fez Dog flying
Starry Dog face home page