Learn R Programming

spatstat (version 1.48-0)

rotate.infline: Rotate or Shift Infinite Lines

Description

Given the coordinates of one or more infinite straight lines in the plane, apply a rotation or shift.

Usage

"rotate"(X, angle = pi/2, ...)
"shift"(X, vec = c(0,0), ...)
"reflect"(X)
"flipxy"(X)

Arguments

X
Object of class "infline" representing one or more infinite straight lines in the plane.
angle
Angle of rotation, in radians.
vec
Translation (shift) vector: a numeric vector of length 2, or a list(x,y), or a point pattern containing one point.
...
Ignored.

Value

Another "infline" object representing the result of the transformation.

Details

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.

See Also

infline

Examples

Run this code
  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