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.embedding(
  level = 2,
  surface = c("saddle", "paraboloid", "ripple"),
  amplitude = 0.75,
  freq_u = 1,
  freq_v = 1,
  x_scale = 1,
  y_scale = 1
)

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

vicsek.surface.embedding() returns 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

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