Convenience helpers that build a layered simplicial shell by placing the
vertices of a subdivided triangulated polyhedron on nested inner-to-outer
radial layers and connecting adjacent layers by the same deterministic
prism-to-tetrahedra edge pattern used for irregular.ball.solid.*().
The result is a genuinely volumetric shell graph with a hollow interior.
Usage
irregular.shell.solid.embedding(
base = c("tetrahedron", "octahedron", "icosahedron"),
level = 1,
layers = 3,
inner_radius = 0.45,
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.shell.solid.graph(
base = c("tetrahedron", "octahedron", "icosahedron"),
level = 1,
layers = 3,
inner_radius = 0.45,
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.
- inner_radius
Positive inner radius of the shell.
- 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.shell.solid.embedding() returns an n x 3 numeric
matrix with columns x, y, and z.
irregular.shell.solid.graph() returns the same components as
irregular.ball.solid.graph(), with family set to
"irregular.shell".