# Difference between revisions of "Procedural Image"

Procedural Image
Field: Computer Graphics
Image Created By: [[Author:| ]]

Procedural Image

A procedural image is an image generated by a series of mathematical functions

# Basic Description

Procedural images can be created by combining a wide variety of mathematical functions into a single expression.

# A More Mathematical Explanation

Consider a simple example of creating a checkerboard texture for a binary image. Let '"`UNIQ--math-0 [...]

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)$