# affine.ppp

##### Apply Affine Transformation To Point Pattern

Applies any affine transformation of the plane (linear transformation plus vector shift) to a point pattern.

##### Usage

```
# S3 method for ppp
affine(X, mat=diag(c(1,1)), vec=c(0,0), …)
```

##### Arguments

- X
Point pattern (object of class

`"ppp"`

).- mat
Matrix representing a linear transformation.

- vec
Vector of length 2 representing a translation.

- …
Arguments passed to

`affine.owin`

affecting the handling of the observation window, if it is a binary pixel mask.

##### Details

The point pattern, and its window, are subjected first to the
linear transformation represented by
`mat`

(multiplying on the left by `mat`

),
and are then translated by the vector `vec`

.

The argument `mat`

must be a nonsingular \(2 \times 2\)
matrix.

This is a method for the generic function `affine`

.

##### Value

Another point pattern (of class `"ppp"`

) representing the
result of applying the affine transformation.

##### See Also

`affine`

,
`affine.owin`

,
`affine.psp`

,
`affine.im`

,
`flipxy`

,
`rotate`

,
`shift`

##### Examples

```
# NOT RUN {
data(cells)
# shear transformation
X <- affine(cells, matrix(c(1,0,0.6,1),ncol=2))
# }
# NOT RUN {
plot(X)
# rescale y coordinates by factor 1.3
plot(affine(cells, diag(c(1,1.3))))
# }
```

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