Convenience wrappers around recursive.cube.mask.surface.*() for three
named porous cubical families: a periodic tunnel lattice, an asymmetric
cavity family, and a deterministic channel network. Each family uses a
reusable base keep-array and then recurses it in exactly the same way as the
generic cube-mask helpers.
cube.periodic.tunnels.surface.embedding(
level = 2,
side = 5,
tunnel_width = 1,
tunnel_period = 2,
tunnel_offset = 2,
surface = c("standard", "bulged", "twisted", "wavy"),
amplitude = 0.2,
freq = 2,
twist = 0.6,
x_scale = 1,
y_scale = 1,
z_scale = 1
)cube.periodic.tunnels.surface.graph(
level = 2,
side = 5,
tunnel_width = 1,
tunnel_period = 2,
tunnel_offset = 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")
)
cube.asymmetric.cavities.surface.embedding(
level = 2,
side = 5,
cavity_size = 2,
pocket_size = max(1L, cavity_size - 1L),
surface = c("standard", "bulged", "twisted", "wavy"),
amplitude = 0.2,
freq = 2,
twist = 0.6,
x_scale = 1,
y_scale = 1,
z_scale = 1
)
cube.asymmetric.cavities.surface.graph(
level = 2,
side = 5,
cavity_size = 2,
pocket_size = max(1L, cavity_size - 1L),
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")
)
cube.channel.network.surface.embedding(
level = 2,
side = 5,
channel_width = 1,
branch_offset = 2,
surface = c("standard", "bulged", "twisted", "wavy"),
amplitude = 0.2,
freq = 2,
twist = 0.6,
x_scale = 1,
y_scale = 1,
z_scale = 1
)
cube.channel.network.surface.graph(
level = 2,
side = 5,
channel_width = 1,
branch_offset = 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")
)
Each *.surface.embedding() helper returns an n x 3 numeric
matrix with columns x, y, and z.
Each *.surface.graph() helper returns the same components as
recursive.cube.mask.surface.graph(), with a family-specific
family field, class, and label.
Recursion depth. Must be at least 1.
Side length of the base cubic keep-array.
Width of each removed tunnel band.
Spacing between successive tunnel bands.
Starting index of the first tunnel band.
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".
Side length of the larger interior cavity block.
Side length of the smaller secondary cavity block.
Width of each removed channel in the channel-network family.
Interior offset of the extra branch channel in the channel-network family.