Skip to contents

Convenience wrappers around recursive.mask.grid.surface.*() using the connected \(3 \times 3\) axial-cross mask: center plus the four cardinal neighbors. This produces a mesh-derived fractal family with strong bottlenecks while remaining orthogonally connected at every level.

Usage

vicsek.surface.graph(
  level = 2,
  surface = c("saddle", "paraboloid", "ripple"),
  amplitude = 0.75,
  freq.u = 1,
  freq.v = 1,
  x.scale = 1,
  y.scale = 1,
  normalize = c("median", "mean", "none")
)

Arguments

level

Recursion depth. Must be at least 1.

surface

Surface family used for the lift. One of "saddle", "paraboloid", or "ripple".

amplitude

Finite numeric amplitude controlling the non-flat displacement.

freq.u

Positive ripple frequency in the horizontal parameter direction. Used only when surface = "ripple".

freq.v

Positive ripple frequency in the vertical parameter direction. Used only when surface = "ripple".

x.scale

Positive horizontal scaling of the parameter domain.

y.scale

Positive vertical scaling of the parameter domain.

normalize

Normalization applied to the induced edge lengths. One of "median", "mean", or "none".

Value

The coords_surface component is an n x 3 numeric matrix with columns x, y, and z, where n = 5^level.

vicsek.surface.graph() returns the same components as recursive.mask.grid.surface.graph(), with family set to "vicsek" and a family-specific class and label.

Details

The coords.surface component contains the 3D coordinates of the occupied cells in the same vertex order as edges. vicsek.surface.graph() returns a reusable weighted-graph bundle for the named Vicsek family.

Examples

vicsek <- vicsek.surface.graph(level = 1)