Learn R Programming

spatstat.geom (version 3.2-5)

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

# 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)

Value

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

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.

Author

Adrian Baddeley Adrian.Baddeley@curtin.edu.au.

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