# Edit Edit an Image Page: Procedural Image

To create an image page, simply complete the form below and then hit the 'Save Page' button at the bottom of the form. As you complete the form, remember that one of the main goals of the Math Images Project is to provide explanations of the images on our site at various levels, so that everyone can understand some of the math behind the images. Try to complete the form as fully as possible, but remember that other users will have the opportunity to add more information to your image pages in the future. Also, please note that by contributing to the Math Images Project, you agree to comply to the guidelines as stated in our general disclaimer.

As always, thank you for your contributions! --The Math Images Project

If you need help filling out this page, please consult our Help sections: Want to Contribute and Math Resources.

Note: * Indicates a required field.

Please note: When you are filling in the below explanations, you should feel free to use standard wikitext.

 Image Title*: Upload a Math Image A procedural image is an image generated by a series of mathematical functions Procedural images can be created by combining a wide variety of mathematical functions into a single expression. Consider a simple example of creating a checkerboard texture for a binary image. Let $I(x,y)$ be our output image. To create a checkerboard image let's defined our image as $I_{1}(x,y) \equiv \left( \frac{x}{w} \pmod{2} + \frac{y}{h} \pmod{2} \right) \pmod{2} \equiv \frac{x}{w} + \frac{y}{h} \pmod{2}$ where w is the width of the checker and h is it's height. This function simply returns 1 when on a checker and 0 when not on a checker. Let's extend our example to three channel RGB images. Let $I_{2}(x,y) = ( 1 - I_{1}(x,y) ) c_{0} + I_{1}(x,y) c_{1}$ where $c_{1}$ is a dimension 3 vector representing the color of a checker and $c_{0}$ is the other color. Imagine that we want to add a bit of monochrome noise to our checkerboard image. $I_{3}(x,y) = I_{2}(x,y) + r(x,y) \left[ \begin{array}{c} 1 \\ 1 \\ 1 \end{array} \right]$ where r(x,y) is a random number generator Additionally we can add two images together: $I_{4}(x,y) = \frac{1}{2} I_{2}(x,y) + \frac{1}{2} I_{3}(x,y)$ ==Demonstration== {{HideThis|1=Interactive Applet|2=}} Instructions: Each machine has a set of inputs and outputs. Inputs are location on the top of the machine, outputs on the bottom. Connect machines by dragging from an output to an input. Disconnect by clicking on an input. One output can be connected to many inputs, but an input can only be connected to one output. Click and drag the box to move machines around. Connect machines to the "Output" machine to produce an image. The three inputs of the Output machine are the red, green, and blue channel of the image, respectively. The "X" and "Y" input machines send the X and Y pixel position from 0.0 to 1.0 to their outputs. Right click machines to change options or to delete them. Right click anywhere else to open a menu to add more machines. Algebra Analysis Calculus Dynamic Systems Fractals Geometry Graph Theory Number Theory Polyhedra Topology Other None Algebra Analysis Calculus Dynamic Systems Fractals Geometry Graph Theory Number Theory Polyhedra Topology Other None Algebra Analysis Calculus Dynamic Systems Fractals Geometry Graph Theory Number Theory Polyhedra Topology Other Yes, it is.