Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

affine.linnet

Apply Geometrical Transformations to a Linear Network


Description

Apply geometrical transformations to a linear network.

Usage

## S3 method for class 'linnet'
affine(X, mat=diag(c(1,1)), vec=c(0,0), ...)

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

  ## S3 method for class 'linnet'
rotate(X, angle=pi/2, ..., centre=NULL)

  ## S3 method for class 'linnet'
scalardilate(X, f, ...)

  ## S3 method for class 'linnet'
rescale(X, s, unitname)

Arguments

X

Linear network (object of class "linnet").

mat

Matrix representing a linear transformation.

vec

Vector of length 2 representing a translation.

angle

Rotation angle in radians.

f

Scalar dilation factor.

s

Unit conversion factor: the new units are s times the old units.

...

Arguments passed to other methods.

origin

Character string determining a location that will be shifted to the origin. Options are "centroid", "midpoint" and "bottomleft". Partially matched.

centre

Centre of rotation. Either a vector of length 2, or a character string (partially matched to "centroid", "midpoint" or "bottomleft"). The default is the coordinate origin c(0,0).

unitname

Optional. New name for the unit of length. A value acceptable to the function unitname<-

Details

These functions are methods for the generic functions affine, shift, rotate, rescale and scalardilate applicable to objects of class "linnet".

All of these functions perform geometrical transformations on the object X, except for rescale, which simply rescales the units of length.

Value

Another linear network (of class "linnet") representing the result of applying the geometrical transformation.

Author(s)

and Rolf Turner r.turner@auckland.ac.nz

See Also

Generic functions affine, shift, rotate, scalardilate, rescale.

Examples

U <- rotate(simplenet, pi)
  stretch <- diag(c(2,3))
  Y <- affine(simplenet, mat=stretch)
  shear <- matrix(c(1,0,0.6,1),ncol=2, nrow=2)
  Z <- affine(simplenet, mat=shear, vec=c(0, 1))

spatstat.linnet

Linear Networks Functionality of the 'spatstat' Family

v2.1-1
GPL (>= 2)
Authors
Adrian Baddeley [aut, cre], Rolf Turner [aut], Ege Rubak [aut], Ottmar Cronie [ctb], Tilman Davies [ctb], Greg McSwiggan [ctb], Suman Rakshit [ctb]
Initial release
2021-03-28

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.