Convenience helpers that build a layered simplicial ball by taking a subdivided triangulated polyhedron, normalizing its vertices to directions on the sphere, placing those directions on nested radial layers, and connecting adjacent layers by a deterministic prism-to-tetrahedra edge pattern. The center vertex is included explicitly, so the resulting graph is genuinely volumetric rather than just a closed surface.
irregular.ball.solid.embedding(
base = c("tetrahedron", "octahedron", "icosahedron"),
level = 1,
layers = 3,
outer_radius = 1,
radial_irregularity = 0.25,
layer_twist = 0.35,
surface = c("standard", "bulged", "twisted", "wavy"),
amplitude = 0.2,
freq_theta = 2,
freq_phi = 2,
twist = 0.6
)irregular.ball.solid.graph(
base = c("tetrahedron", "octahedron", "icosahedron"),
level = 1,
layers = 3,
outer_radius = 1,
radial_irregularity = 0.25,
layer_twist = 0.35,
surface = c("standard", "bulged", "twisted", "wavy"),
amplitude = 0.2,
freq_theta = 2,
freq_phi = 2,
twist = 0.6,
normalize = c("median", "mean", "none")
)
irregular.ball.solid.embedding() returns an n x 3 numeric
matrix with columns x, y, and z.
irregular.ball.solid.graph() returns a list with components:
edges: the irregular ball edges,
n: number of vertices,
edge_weights: induced positive edge lengths,
coords_surface: the 3D embedding,
coords_param: the canonical 3D ball coordinates,
weight_scale: the normalization constant applied to the raw
edge lengths,
family: always "irregular.ball",
surface: the chosen solid geometry family,
base: the chosen base polyhedron,
level: the surface subdivision depth,
layers: number of non-center radial layers,
radii: the radial layer values,
label: a human-readable family label.
Base polyhedron. One of "tetrahedron",
"octahedron", or "icosahedron".
Surface subdivision depth used for each radial layer.
Number of non-center radial layers.
Positive outer radius of the ball.
Irregularity level for the radial layer spacing.
Must lie in [0, 1].
Finite z-axis twist applied smoothly across radial layers.
Solid geometry family. One of "standard",
"bulged", "twisted", or "wavy".
Finite deformation amplitude.
Positive azimuthal modulation frequency used only when
surface = "wavy".
Positive polar modulation frequency used only when
surface = "wavy".
Finite twist strength used only when
surface = "twisted".
Normalization applied to the induced edge lengths. One of
"median", "mean", or "none".