affine.psp {spatstat.geom} | R Documentation |
Apply Affine Transformation To Line Segment Pattern
Description
Applies any affine transformation of the plane (linear transformation plus vector shift) to a line segment pattern.
Usage
## S3 method for class 'psp'
affine(X, mat=diag(c(1,1)), vec=c(0,0), ...)
Arguments
X |
Line Segment pattern (object of class |
mat |
Matrix representing a linear transformation. |
vec |
Vector of length 2 representing a translation. |
... |
Arguments passed to |
Details
The line segment 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 line segment pattern (of class "psp"
) representing the
result of applying the affine transformation.
Author(s)
Adrian Baddeley Adrian.Baddeley@curtin.edu.au
and Rolf Turner rolfturner@posteo.net
See Also
affine
,
affine.owin
,
affine.ppp
,
affine.im
,
flipxy
,
rotate
,
shift
Examples
oldpar <- par(mfrow=c(2,1))
X <- psp(runif(10), runif(10), runif(10), runif(10), window=owin())
plot(X, main="original")
# shear transformation
Y <- affine(X, matrix(c(1,0,0.6,1),ncol=2))
plot(Y, main="transformed")
par(oldpar)
#
# rescale y coordinates by factor 0.2
affine(X, diag(c(1,0.2)))