R: Apply Geometrical Transformation To Tessellation

affine.tess {spatstat} | R Documentation

## Apply Geometrical Transformation To Tessellation

### Description

Apply various geometrical transformations of the plane to each tile in a tessellation.

### Usage

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

      ## S3 method for class 'tess'
    shift(X, ...)

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

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

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

### Arguments

`X` | Tessellation (object of class `"tess"`).
`angle` | Rotation angle in radians (positive values represent anticlockwise rotations).
`mat` | Matrix representing a linear transformation.
`vec` | Vector of length 2 representing a translation.
`f` | Positive number giving scale factor.
`...` | Arguments passed to other methods.
`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)`.

### Details

These are method for the generic functions `reflect`, `shift`, `rotate`, `scalardilate`, `affine` for tessellations (objects of class `"tess"`).

The individual tiles of the tessellation, and the window containing the tessellation, are all subjected to the same geometrical transformation.

The transformations are performed by the corresponding method for windows (class `"owin"`) or images (class `"im"`) depending on the type of tessellation.

If the argument `origin` is used in `shift.tess` it is interpreted as applying to the window containing the tessellation. Then all tiles are shifted by the same vector.

### Value

Another tessellation (of class `"tess"`) representing the result of applying the geometrical transformation.

### Author(s)

Adrian Baddeley Adrian.Baddeley@curtin.edu.au

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

### See Also

Generic functions `reflect`, `shift`, `rotate`, `scalardilate`, `affine`.

Methods for windows: `reflect.default`, `shift.owin`, `rotate.owin`, `scalardilate.owin`, `affine.owin`.

Methods for images: `reflect.im`, `shift.im`, `rotate.im`, `scalardilate.im`, `affine.im`.

### Examples

      live <- interactive()
      if(live) {
        H <- hextess(letterR, 0.2)
        plot(H)
        plot(reflect(H))
        plot(rotate(H, pi/3))
      } else H <- hextess(letterR, 0.6)

      # shear transformation
      shear <- matrix(c(1,0,0.6,1),2,2)
      sH <- affine(H, shear)
      if(live) plot(sH)

[Package spatstat version 1.54-0 Index]