Learn R Programming

gasper (version 1.1.6)

swissroll: Swiss Roll Graph Generation

Description

Generates points for a Swiss roll graph. The function maps points from the square \([0,1]^2\) into the Swiss roll using the specified transformations.

Usage

swissroll(N = 500, seed = NULL, a = 1, b = 4)

Value

N x 3 array for 3d points.

Arguments

N

Number of points drawn (numeric).

seed

Optionally specify a RNG seed for reproducible experiments (numeric).

a, b

Shape parameters (numeric).

Details

Given points \((x,y)\) within the unit square \([0,1]^2\), the Swiss roll transformation is achieved using: \(Sx = \pi \sqrt{(b^2 - a^2) x + a^2}\) and \(Sy = \frac{\pi^2 (b^2 - a^2) y}{2}\). The transformed \((x,y)\) coordinates are then projected into 3D space to produce the characteristic rolled shape.

See Also

adjacency_mat

Examples

Run this code
if (FALSE) {
pts <- swissroll(N=500, seed=0, a=1, b=4)
plot3D::scatter3D(pts[,1], pts[,2], pts[,3], colvar=NULL, col="red")
}

Run the code above in your browser using DataLab