by Mark Grundland
Project for Computational
School of Computer Science at McGill University
|Using VoronoImage: Composition|
|Using VoronoImage: Glass Mosaic|
|Using VoronoImage: Glass Tints|
Welcome to VoronoImage: the virtual stained glass workshop for the Macintosh, turning a snapshot into a fine work of art through the power of computational geometry. Here is a quick and dirty recipe for stained glass. Start with a sketch of the image which you wish to turn into a stained glass panel. First cut the tiles of stained glass, arranging them into a mosaic where each tile captures a facet of the image with its shape, color, and translucence. By careful tinting or engraving, instill layers of details in the tiles. While the layout of the mosaic gives the panel its form, it is the detailing of the tiles that gives it substance. Finally frame and assemble the tiles together into the stained glass panel. Behold in the light. Handle with joy and care.
This is the basic idea behind VoronoImage, except that it is much easier to color pixels then to cut glass. VoronoImage calculates a fractal arrangement of discreet Voronoi diagrams to create, in about a minute, a semblance of what would take a skilled artisan weeks of painstaking labor to complete. Of course, virtual stained glass windows pale in comparison to the real thing, if for no other reason than that they can never be illuminated by the sun.
If you are curious to see how VoronoImage works, take a look at the on-line "VoronoImage Technical Manual". For examples of artwork produced with VoronoImage visit the on-line "VoronoImage Picture Gallery".
The VoronoImage folder should contain the following items:
Hardware: VoronoImage works on a Power Macintosh or a regular Macintosh with a 68020 or better microprocessor. A color monitor also helps if you wish to see the images which the program creates. For best viewing, set your display to thousands (16 bit) of colors.
Software: System 7 or newer is required. Also you need HyperCard Player 2.2 or HyperCard 2.2 . You can download the latest version of HyperCard Player from Apple for free. If you wish to use MosaicMaker, then you will also need Mathematica 2 or newer.
Memory: Like many image processing applications, VoronoImage insists on having plenty of memory available for its calculations. The bigger the image, the more memory is needed by the VoronoImagination application. Give it as much memory as you have and hope for the best. The amount of memory the VoronoImagination application actually receives depends on how much free memory is left over once the VoronoImage stack is opened in HyperCard. Initially VoronoImagination's preferred memory partition is set to 10MB, which is usually sufficient for images as big as 1000 x1000 pixels. Note that this memory is only used during the calculations; once they are finished, it is released. If you wish to view images from the VoronoImage stack, then you may need to increase the memory partition of HyperCard to 2.5MB or 3.0MB.
Troubleshooting: In its first release, the program has only very primitive error handling. If the VoronoImage stack encounters a problem, you will hear a beep and the input value causing the problem will be selected. If the VoronoImagination application finds it can't perform its calculations, then you will hear three beeps and the application will quit. Typically this would be a sign of a lack of memory or that one of the input files is missing, corrupted or has the wrong format. Give your image processing settings a quick sanity check, open the input picture file in a reliable application and save it again as a standard PICT file, allot VoronoImagination more memory to play with or try a different input picture file. If none of these measures helps, send me a bug report.
To use VoronoImage, open the VoronoImage stack. You will be presented with the "Composition" preference panel. To navigate between this preference panel and the other two, "Glass Mosaic" and "Glass Tints", use the pop down menu which displays the preference panel's title or click on the triangular arrows next to it.
In the "Composition" preference panel, click on the "Open" button to choose your input PICT image file, serving as the preliminary sketch for the stained glass panel. For best results, use a photograph or drawing with rich colors and fine detail. The finished stained glass panel will be saved as a PICT image file having the same size, resolution and color depth as the original sketch. For this reason, using a sketch with thousands of colors (16 bit color depth) is recommended; if you use one with 256 colors (8 bit color depth) then VoronoImage will have to resort to dithering, in order to render the stained glass panel with so few colors, and hence reducing the quality of the outcome. Click on the "Save" to designate where to save the finished stained glass panel. If a file with the same name already exists then it will be replaced. At any time you can use the "View" buttons to see the respective PICT image files.
Once you have made your choices, click on the "Create" button of the "Composition" preference panel. Then sit back, relax, and let the calculations take their time (of course, on a speedy Power Macintosh, it should all go by pretty quickly). If you grow impatient, just click "Cancel" to abort the calculations. Once the calculations are completed, providing the "View Automatically" check box button is selected, the finished stained glass panel will be displayed.
The tiles of the stained glass mosaic determine abstract character of the stained glass panel. In the "Glass Mosaic" preference panel, you can specify the layout of the stained glass panel through the placement of control sites. Each control site corresponds to a glass tile stained with the color of the pixel, in the input picture, located at that site. The tile will be a convex polygon formed around its control site and composed of all the pixels that are closer to that control site than to any other control site. In computational geometry, such a tiling is called a Voronoi diagram. For example, if a mosaic file is comprised of ten control sites, all lying on a circle around the center of the image, then the mosaic tiling with be composed of ten triangular tiles radiating from the center of the image:
You may choose one of the two options:
In the "Glass Tints" preference panel, you can decide how and how much detail to embed in the glass tiles. These details are rendered by sampling more pixels in the input image and carefully blending their colors with those of the stained glass tiles. The more detailed the tiles, the easier it will be to recognize the reflection of input image in the stained glass panel. You have the following options:
VoronoImage is not public domain. In this first release, license to use VoronoImage is granted is only to the students and faculty of the School of Computer Science at McGill University. You may freely use VoronoImage as well as the pictures you create with it for only educational and noncommercial purposes. Please don't distribute VoronoImage yet. A general public release is planned for the near future.
Your comments, suggestions, bug reports, or other inspired ideas will be appreciated. You can reach me at MGrund@PO-Box.McGill.Ca
Wishing you many strange and wonderful images,
VoronoImage Package: Copyright © 1997 Mark Grundland. All rights reserved.