### 12.14.1 General remarks

The transformations in this section operate on any geometric object. They take as arguments parameters to specify the transformation. They can optionally take a geometric object as the last argument, in which case the transformed object is returned. Without the geometric object as an argument, these transformations will return a new command which performs the transformation. For example, to move an object P 3 units up, either

translation([0,0,3],P)

or

t := translation([0,0,3])
t(P)

works.