# Transformations

# PyNomo transformations

In PyNomo, scales and blocks are first built and transformation is applied in the final stage. This approach is due to the idea, that blocks should be easy to align with respect to each other. If tranformations are applied to individual blocks, one has to be careful that scalings of the aligned blocks still match. Only block oftype 9 can be transformed initially.

In general translations, rotations, shear and projective transformations can be applied to the nomograph. PyNomo does not support transformations yet extensively, but has only limited number of transformations available.

Transformation is applied in the final definion (dict) of nomograph (main_params below):

... # define nomograph main_params={ 'filename':'filename_of_nomograph.pdf', 'block_params':[block_1,block_2], 'transformations':[('scale paper',)], # <-- HERE are transformations as a list of tuples } # create nomograph Nomographer(main_params)

## Transformations

The following transformations are implemented:

### 'scale paper'

This transformation scales the nomograph to the defined paper size in 'paper_height' and 'paper_width'. An example:

... # define nomograph main_params={ ... 'paper_height':20.0, 'paper_width':20.0, 'transformations':[('scale paper',)], } # create nomograph Nomographer(main_params)

### 'rotate'

This transformation rotates the nomograph the given angle in degrees. This is often used in examples in order to make angles definite for axis title directions (to be corrected later). An example:

... # define nomograph main_params={ ... 'transformations':[('rotate',10)], # rotates nomographs 10 degrees } # create nomograph Nomographer(main_params)