Last chance! 50% off unlimited learning
Sale ends in
Applies any affine transformation of the plane (linear transformation plus vector shift) to a line segment pattern.
# S3 method for psp
affine(X, mat=diag(c(1,1)), vec=c(0,0), …)
Line Segment pattern (object of class "psp"
).
Matrix representing a linear transformation.
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.
Another line segment pattern (of class "psp"
) representing the
result of applying the affine transformation.
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
This is a method for the generic function affine
.
affine
,
affine.owin
,
affine.ppp
,
affine.im
,
flipxy
,
rotate
,
shift
# NOT RUN {
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)))
# }
Run the code above in your browser using DataLab