Three transforms give the color of an output image pixel.

**1. From output pixel indices (i,j) to geometric space**

Isotropic scaling and translation

(x,y) = scale * (i,j) + offset

**2. A nonlinear mapping in geometric space
creates symmetries.**

**3. From geometric space to input image pixel indices (h,k)**

Rotation, isotropic scaling and translation

(h,k) = rotation * scale * (x,y) + offset.

The color of a pixel at (i,j) results from the input image near index values (h,k).

**You can interact with these transformations.**