Rays Rule

Partitions input region using straight path segments in the manner of ‘rays‘. Intersections of ‘ray’ segments with each other are called junctions, and intersections at iregion boundary – entrancesDelaunay Triangulation is used (related to Voronoi Diagram, which is its dual).

Entrances (boundary intersections) are determined by the list of boundary parameters or selections. Junction placement (ray intersections) is determined by sample distribution radius:

rays(boundary_selections, radius) 
 { RegionList } { PathList } { JunctionList }

Alternatively, a number of samples can be specified, and the algorithm tries to guess the sample radius:

rays(boundary_selections, number_of_samples) 
 { RegionList } { PathList } { JunctionList }

Optionally, minimal offset from junctions to the boundary can be provided:

rays(boundary_selections, ..., junction_offset) 
 { RegionList } { PathList } { JunctionList }
  • boundary selections – list of parameter values within the range [0..1]. For example [0, 0.25, 0.5, 0.75] will place entrances at the corners of a square.
  • radius, number_of_samples – minimum radius between any two junctions, and respectively the number of junctions. Also, see Cells Rule for the explanation with one difference: in Cells Rule radius refers to the distance between quarters, rather than junctions ).
  • offset – centres of the junctions is placed with this minimum distance from the boundary.
  • RegionList, PathList, JunctionList – label selector lists (see Grid Rule for explanation).