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.