Given the coordinates of one or more infinite straight lines in the plane, apply a rotation or shift.
# S3 method for infline
rotate(X, angle = pi/2, …)# S3 method for infline
shift(X, vec = c(0,0), …)
# S3 method for infline
reflect(X)
# S3 method for infline
flipxy(X)
Object of class "infline"
representing one or more
infinite straight lines in the plane.
Angle of rotation, in radians.
Translation (shift) vector: a numeric vector of length 2,
or a list(x,y)
, or a point pattern containing one point.
Ignored.
Another "infline"
object representing the
result of the transformation.
These functions are methods for the generic
shift
, rotate
,
reflect
and flipxy
for the class "infline"
.
An object of class "infline"
represents one or more
infinite lines in the plane.
# NOT RUN {
L <- infline(v=0.5)
plot(square(c(-1,1)), main="rotate lines", type="n")
points(0, 0, pch=3)
plot(L, col="green")
plot(rotate(L, pi/12), col="red")
plot(rotate(L, pi/6), col="red")
plot(rotate(L, pi/4), col="red")
L <- infline(p=c(0.4, 0.9), theta=pi* c(0.2, 0.6))
plot(square(c(-1,1)), main="shift lines", type="n")
L <- infline(p=c(0.7, 0.8), theta=pi* c(0.2, 0.6))
plot(L, col="green")
plot(shift(L, c(-0.5, -0.4)), col="red")
plot(square(c(-1,1)), main="reflect lines", type="n")
points(0, 0, pch=3)
L <- infline(p=c(0.7, 0.8), theta=pi* c(0.2, 0.6))
plot(L, col="green")
plot(reflect(L), col="red")
# }
Run the code above in your browser using DataLab