# affine.linnet

##### Apply Geometrical Transformations to a Linear Network

Apply geometrical transformations to a linear network.

##### Usage

```
# S3 method for linnet
affine(X, mat=diag(c(1,1)), vec=c(0,0), …)
``` # S3 method for linnet
shift(X, vec=c(0,0), …, origin=NULL)

# S3 method for linnet
rotate(X, angle=pi/2, …, centre=NULL)

# S3 method for linnet
scalardilate(X, f, …)

# S3 method for linnet
rescale(X, s, unitname)

##### Arguments

- X
Linear network (object of class

`"linnet"`

).- mat
Matrix representing a linear transformation.

- vec
Vector of length 2 representing a translation.

- angle
Rotation angle in radians.

- f
Scalar dilation factor.

- s
Unit conversion factor: the new units are

`s`

times the old units.- …
Arguments passed to other methods.

- origin
Character string determining a location that will be shifted to the origin. Options are

`"centroid"`

,`"midpoint"`

and`"bottomleft"`

. Partially matched.- centre
Centre of rotation. Either a vector of length 2, or a character string (partially matched to

`"centroid"`

,`"midpoint"`

or`"bottomleft"`

). The default is the coordinate origin`c(0,0)`

.- unitname
Optional. New name for the unit of length. A value acceptable to the function

`unitname<-`

##### Details

These functions are methods for the generic functions
`affine`

,
`shift`

,
`rotate`

,
`rescale`

and
`scalardilate`

applicable to objects of class `"linnet"`

.

All of these functions
perform geometrical transformations on the object `X`

,
except for `rescale`

, which simply rescales the units of length.

##### Value

Another linear network (of class `"linnet"`

) representing the
result of applying the geometrical transformation.

##### See Also

Generic functions
`affine`

,
`shift`

,
`rotate`

,
`scalardilate`

,
`rescale`

.

##### Examples

```
# NOT RUN {
U <- rotate(simplenet, pi)
stretch <- diag(c(2,3))
Y <- affine(simplenet, mat=stretch)
shear <- matrix(c(1,0,0.6,1),ncol=2, nrow=2)
Z <- affine(simplenet, mat=shear, vec=c(0, 1))
# }
```

*Documentation reproduced from package spatstat, version 1.62-2, License: GPL (>= 2)*