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

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

X

Window (object of class `"owin"`

).

mat

Matrix representing a linear transformation.

vec

Vector of length 2 representing a translation.

rescue

Logical. If `TRUE`

, the transformed window
will be processed by `rescue.rectangle`

.

…

Optional arguments passed to `as.mask`

controlling the pixel resolution of the transformed window,
if `X`

is a binary pixel mask.

Another window (of class `"owin"`

) representing the
result of applying the affine transformation.

The window is subjected first to the linear transformation represented by
`mat`

(multiplying on the left by `mat`

),
and then the result is 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`

.

# NOT RUN { # shear transformation shear <- matrix(c(1,0,0.6,1),ncol=2) X <- affine(owin(), shear) if(interactive()) plot(X) affine(letterR, shear, c(0, 0.5)) affine(as.mask(letterR), shear, c(0, 0.5)) # }