Weighted triangulated annulus surface helpers
Source:R/graph_helpers.R
triangulated_annulus_surface_helpers.RdConvenience helpers that triangulate a planar annulus by clipping a regular triangular lattice to the region between two concentric circles. The resulting graph is a triangulated manifold with boundary and a single hole, making it a useful complement to the closed triangulated-polyhedron families.
Usage
triangulated.annulus.surface.embedding(
resolution = 12,
outer_radius = 1,
inner_radius = 0.45,
surface = c("flat", "saddle", "paraboloid", "ripple", "folded"),
amplitude = 0.6,
freq_u = 1,
freq_v = 1
)
triangulated.annulus.surface.graph(
resolution = 12,
outer_radius = 1,
inner_radius = 0.45,
surface = c("flat", "saddle", "paraboloid", "ripple", "folded"),
amplitude = 0.6,
freq_u = 1,
freq_v = 1,
normalize = c("median", "mean", "none")
)Arguments
- resolution
Positive lattice-resolution control. Larger values produce finer triangulations.
- outer_radius
Positive outer annulus radius.
- inner_radius
Positive inner annulus radius. Must be strictly smaller than
outer_radius.- surface
Geometry family used for the 3D lift. One of
"flat","saddle","paraboloid","ripple", or"folded".- amplitude
Finite deformation amplitude.
- freq_u
Positive ripple frequency in the first planar coordinate. Used only when
surface = "ripple".- freq_v
Positive ripple frequency in the second planar coordinate. Used only when
surface = "ripple".- normalize
Normalization applied to the induced edge lengths. One of
"median","mean", or"none".
Value
triangulated.annulus.surface.embedding() returns an n x 3
numeric matrix with columns x, y, and z.
triangulated.annulus.surface.graph() returns a list with components:
edges: the triangulated-annulus edges,n: number of vertices,edge_weights: induced positive edge lengths,coords_surface: the 3D embedding,coords_param: the canonical 2D annulus coordinates,weight_scale: the normalization constant applied to the raw edge lengths,family: always"triangulated.annulus",surface: the chosen surface name,resolution: the lattice-resolution parameter,label: a human-readable family label.
Details
triangulated.annulus.surface.embedding() returns the 3D coordinates
of the clipped lattice vertices in the same vertex order as
edges.triangulated.annulus(). triangulated.annulus.surface.graph()
returns a reusable weighted-graph bundle with the annulus edges, induced edge
weights, the 3D embedding, and the 2D annulus parameter coordinates.