Section 4.3 - Linear transformations

These are of the form r(1,x,y)=r(0,ax+by+c,a'x+b'y+c'), with a,b,c,a',b',c' constants.

Some simple examples:

r(0,y,x) is a symetry through the diagonal (y=x) line.
r(0,x/2,y/2) doubles the size of the image (you will only see the top left quarter)
r(0,x+y/2,y-x/2) rotates (and reduces) the picture a little, 'round the top-left corner.

I can't really give you some general formulas for these, I will let you experiment yourself. Just remember that you may replace x by (x-x0) or y by (y-y0), or both, to move the "center" of the transformation.

And: r(1,x,y)=r(0,ax+by+c,ay-bx+d) does always a regular rotation (no other linear distortion, like (x,y+x/2) would do).

They are all other transformations of the form r(1,x,y)=r(0,f(x,y),g(x,y)), where you put what you want as f and g.

Note that convolution is not a simple non-linear transformation, because it accesses the inter-referencing functions several times.

Here it is even worse than the linear transformation. Although I can give you some tricks, there are no general formula to make you get a precise thing. You have to guess :-).

Compute the distance to a specific point (x0;y0) (remember that you can read the coordinates of a given point clicking on a project window!) with:

And the argument (angle) to that point (x0;y0). Use the internal function angle: angle(x-x0,y-y0). You will get a number between -pi and +pi.

And (re)read the chapter two about mathematical operators (Section 2.1)...

Also important is to train a lot with black and white pictures, without using inter-referencing, to really 'feel' what the mathematical function can do... I have spent months only with that, while inter-referencing was not yet implemented, and the colour display did not show more than 256 colours, ie the shades of gray :-)


Chapter four: Inter-referencing

4.1: Having fun with colours
4.2: Convolutions
4.3: Linear transformations

Chapter five: Using masks

5.1: Selection masks
5.2: Translation masks
5.3: Absolute masks