tori: Sample (with noise) from tori

toriR Documentation

Sample (with noise) from tori

Description

These functions generate uniform samples from configurations of tori of primary radius 1 in 3-dimensional space, optionally with noise.

Usage

sample_torus_tube(n, ar = 2, sd = 0)

sample_tori_interlocked(n, ar = 2, sd = 0)

sample_torus_flat(n, ar = 1, sd = 0)

Arguments

n

Number of observations.

ar

Aspect ratio for tube torus (ratio of major and minor radii) or flat torus (ratio of scale factors).

sd

Standard deviation of (independent multivariate) Gaussian noise.

Details

The function sample_torus_tube() uses the tubular parameterization into 3-dimensional space documented at MathWorld.

The function sample_torus_flat() uses a flat parameterization (having zero Gaussian curvature) into 4-dimensional space, as presented on Wikipedia.

The function sample_tori_interlocked() samples from two tubular tori interlocked in the same way as sample_circles_interlocked().

All uniform samples are generated through a rejection sampling process as described by Diaconis, Holmes, and Shahshahani (2013).

References

P Diaconis, S Holmes, and M Shahshahani (2013) Sampling from a Manifold. Advances in Modern Statistical Theory and Applications: A Festschrift in honor of Morris L. Eaton, 102–125. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1214/12-IMSCOLL1006")}

Examples

set.seed(33183L)

# torus tube embedding in 3-space
x <- sample_torus_tube(120, sd = .05)
pairs(x, asp = 1, pch = 19, cex = .5)

# torus flat embedding in 4-space
x <- sample_torus_flat(120, sd = .05)
pairs(x, asp = 1, pch = 19, cex = .5)

# interlocked tubular tori in 3-space
x <- sample_tori_interlocked(360, ar = 6, sd = .01)
pairs(x, asp = 1, pch = 19, cex = .5)

tdaunif documentation built on Sept. 10, 2023, 5:07 p.m.