rotate.infline: Rotate or Shift Infinite Lines

View source: R/infline.R

rotate.inflineR Documentation

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 class 'infline'
rotate(X, angle = pi/2, ...)

## S3 method for class 'infline'
shift(X, vec = c(0,0), ...)

## S3 method for class 'infline'
reflect(X)

## S3 method for class 'infline'
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.

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.

Value

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

Author(s)

\adrian

.

See Also

infline

Examples

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


spatstat.geom documentation built on Sept. 18, 2024, 9:08 a.m.