spatstat (version 1.61-0)

selfcut.psp: Cut Line Segments Where They Intersect

Description

Finds any crossing points between the line segments in a line segment pattern, and cuts the segments into pieces at these crossing-points.

Usage

selfcut.psp(A, …, eps)

Arguments

A

Line segment pattern (object of class "psp").

eps

Optional. Smallest permissible length of the resulting line segments. There is a sensible default.

Ignored.

Value

Another line segment pattern (object of class "psp") in the same window as A with the same kind of marks as A.

The result also has an attribute "camefrom" indicating the provenance of each segment in the result. For example camefrom[3]=2 means that the third segment in the result is a piece of the second segment of A.

Details

This function finds any crossing points between different line segments in the line segment pattern A, and cuts the line segments into pieces at these intersection points.

A crossing point occurs whenever one of the line segments in A intersects another line segment in A, at a nonzero angle of intersection.

See Also

selfcrossing.psp

Examples

Run this code
# NOT RUN {
  X <- psp(runif(10), runif(10), runif(10), runif(10), window=owin())
  Y <- selfcut.psp(X)
  n <- nsegments(Y)
  plot(Y %mark% factor(sample(seq_len(n), n, replace=TRUE)))
# }

Run the code above in your browser using DataCamp Workspace