SphericalDesign

A collection of classes to import, manipulate and visualize spherical and other point-based designs.

The Spherical Design Library : Read Me

A SuperCollider Quark to encapsulate a set of points which represent a spherical design, allowing for searching, basic transformations and visualization of the design.

Spherical designs

Let X be a finite subset of S(n−1). Spherical codes and spherical designs are nothing but finite subsets of S(n−1). Roughly speaking, the code theoretical viewpoint is to try to find X, whose points are scattered on S(n−1) as far as possible, i.e. the minimum distance dmin of X is as large as possible for a given size of X. ... On the other hand, the design theoretical viewpoint is to try to find X which globally approximates the sphere S(n−1) very well. 1

This library does not strictly enforce the definition of a spherical design, in fact it is simply a collection of points (Cartesian objects) which you can set arbitrarily. The expectation however is that you'll be importing designs that are provided, such as those t-designs available through the subclass TDesign, or assigning your own points to be regarded as a spherical design.

Once your design is initialized, you can perform basic manipulations such as rotation, mirroring, and sorting/selection of points in the design. :crystal_ball:

Installing

Install via SuperCollider's command line:

Quarks.install("https://gitlab.com/dxarts/projects/SphericalDesign.quark")

This will also install the PointView Quark, which is used to visualize the design.

Feedback and Bug Reports

Known issues are logged at GitLab.

Change log

0.9.2 - refactor: avoid inline warnings

0.9.1 - Migrate repository from GitHub to GitLab

Credits

The method of formulating a triangulation of points, found in -calcTriplets and its associated methods were copied, with some modification, from Scott Wilson's port (VBAPSpeakerArray) of Ville Pukki's VBAP library in PureData. See extSphericalDesign.sc.  

The T-Designs found here are from the work of Hardin and Sloane. 2 These and other designs can be downloaded directly from their site: http://neilsloane.com/sphdesigns/. If you use any of these designs, please acknowledge this source.  

The development of the Spherical Design Library for SuperCollider3 is supported by The University of Washington's Center for Digital Arts and Experimental Media (DXARTS).  

Copyright the ATK Community, Joseph Anderson, and Michael McCrea, 2018.

Contributors

  • Michael McCrea (@mtmccrea)
  • Joseph Anderson (@joslloand)
  • Daniel Peterson (@dmartinp)
  • Eirik Arthur Blekesaune (@blacksound)

 

[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.

[2] R. H. Hardin and N. J. A. Sloane, McLaren's Improved Snub Cube and Other New Spherical Designs in Three Dimensions. Discrete and Computational Geometry, 15 (1996), pp. 429-441.

SphericalDesign
Extension
Superclass:
TDesign
Extension
Superclass:
SphericalDesign
TDesignLib
Extension
Superclass:
v0.9.2
Date
2021-01-12
Git hash
29f5813f28fbb7310807e3919734122a25b9e881
v0.0.1
Date
2019-09-17
Git hash
37b020e60fee043cbf06dff54c92cc3afdea3506

Installation

Repository

URL

https://gitlab.com/dxarts/projects/SphericalDesign.quark

Since

2018-06-25

Last update

2021-01-12

Current version

v0.9.2

Quark info

url

https://gitlab.com/dxarts/projects/SphericalDesign.quark

name

SphericalDesign

since

2018

author

Michael McCrea, Dan Peterson

schelp

SphericalDesign

license

GPL

summary

A collection of classes to import, manipulate and visualize spherical and other point-based designs.

version

0.9.2

copyright

Ambisonic Toolkit Community, Joseph Anderson, Michael McCrea 2018

dependencies

['https://gitlab.com/dxarts/projects/PointView.quark', 'MathLib']

organization

ATK Community: http://www.ambisonictoolkit.net

Possible dependcies

MathLib

MathLibTests

PointView

Possible dependants

atk-sc3