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.
Usage
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")
)Arguments
- base
Base polyhedron. One of
"tetrahedron","octahedron", or"icosahedron".- level
Surface subdivision depth used for each radial layer.
- layers
Number of non-center radial layers.
- outer_radius
Positive outer radius of the ball.
- radial_irregularity
Irregularity level for the radial layer spacing. Must lie in
[0, 1].- layer_twist
Finite z-axis twist applied smoothly across radial layers.
- surface
Solid geometry family. One of
"standard","bulged","twisted", or"wavy".- amplitude
Finite deformation amplitude.
- freq_theta
Positive azimuthal modulation frequency used only when
surface = "wavy".- freq_phi
Positive polar modulation frequency used only when
surface = "wavy".- twist
Finite twist strength used only when
surface = "twisted".- normalize
Normalization applied to the induced edge lengths. One of
"median","mean", or"none".
Value
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.