Convenience wrappers around recursive.cube.mask.surface.*() using the
classic \(3 \times 3 \times 3\) Menger-sponge keep-mask. These helpers
provide a named cubical 3D benchmark family whose vertices are occupied
subcubes and whose edges connect face-adjacent occupied cells.
menger.sponge.surface.embedding(
level = 2,
surface = c("standard", "bulged", "twisted", "wavy"),
amplitude = 0.2,
freq = 2,
twist = 0.6,
x_scale = 1,
y_scale = 1,
z_scale = 1
)menger.sponge.surface.graph(
level = 2,
surface = c("standard", "bulged", "twisted", "wavy"),
amplitude = 0.2,
freq = 2,
twist = 0.6,
x_scale = 1,
y_scale = 1,
z_scale = 1,
normalize = c("median", "mean", "none")
)
menger.sponge.surface.embedding() returns an n x 3 numeric
matrix with columns x, y, and z, where
n = 20^level.
menger.sponge.surface.graph() returns the same components as
recursive.cube.mask.surface.graph(), with family set to
"menger.sponge" and a family-specific class and label.
Recursion depth. Must be at least 1.
Cube-mask geometry family. One of "standard",
"bulged", "twisted", or "wavy".
Finite deformation amplitude.
Positive modulation frequency used only when
surface = "wavy".
Finite twist strength used only when
surface = "twisted".
Positive horizontal scaling applied to the canonical cube coordinates.
Positive vertical scaling applied to the canonical cube coordinates.
Positive depth scaling applied to the canonical cube coordinates.
Normalization applied to the induced edge lengths. One of
"median", "mean", or "none".