Classes (extension) | Math

TDesign : SphericalDesign : Object

A subclass of SphericalDesign, encapsulating a set of points which represent a spherical design, allowing for searching, basic transformations and visualization of the design.


Spherical t-designs
A finite subset X on S^(n−1) is called a spherical t-design on S^(n−1), if for any polynomial f(x) = f(x1, x2, . . . , xn) of degree at most t, the value of the integral of f(x) on S^(n−1) (divided by the volume of S^(n−1)) is just the average value of f(x) on the finite set X. As is obvious from the definition, a spherical t-design is better if t is larger, and usually a spherical t-design X is better if the cardinality |X| is smaller.1

This is a subclass of SphericalDesign, used to load a design of a specific number of points and fundamental parameter t.

NOTE: The coordinate system follows that of Spherical and Polar. The +X axis points forward, +Y points left, +Z points upward.
McLaren's Improved Snub Cube and Other New Spherical Designs in Three Dimensions, R. H. Hardin and N. J. A. Sloane, Discrete and Computational Geometry, 15 (1996), pp. 429-441.

The T-Designs found here are from the work of Hardin and Sloane. These and other designs can be downloaded directly from their site:

If you use any of these designs, please acknowledge this source.

Class Methods, t, dim: 3)



The number of points you'd like in your design. If multiple matches in the design library are found, the t argument must be specified to disambiguate, otherwise an error will be thrown.


The desired t parameter. Can be nil but the method will throw an error if multiple design matches are found for numPoints. (Some valid designs include the same number of points but different values of t.)


The t-design's dimensions. Only dimension 3 is supported.

Ambisonic Toolkit

TDesign.newHoa(numChans, optimize: 'energy', order)

From extension in /Library/Application Support/SuperCollider/downloaded-quarks/atk-sc3/Classes/

Return a t-design sutiable for ambisonic encoding or decoding.



The number of input or output channels, i.e., the number of t-design points.

If nil, the number of channels/points will be determined by the order and optimize arguments.


Optimize criteria:

\energyTotal energy
\spreadEEnergy spread
NOTE: Optimizing for energy spread, \spreadE, returns a t-design sampled so that energy is smoothed evenely across the sphere, and uses a t-design with more points than \energy.

Ambisonic order.

Inherited class methods

Instance Methods


Return the design's t parameter.

Inherited instance methods


See SphericalDesign: examples.

[1] - Bannai, E., Bannai, E. A survey on spherical designs and algebraic combinatorics on spheres. European Journal of Combinatorics, Volume 30, Issue 6, August 2009, Pages 1392-1425.