Csound and CsoundAC API  5.17
Public Member Functions | Data Fields | Protected Attributes
csound::StrangeAttractor Class Reference

Generates notes by searching for a chaotic dynamical system defined by a polynomial equation or partial differential equation using Julien C. More...

#include <StrangeAttractor.hpp>

+ Inheritance diagram for csound::StrangeAttractor:

Public Member Functions

virtual void addChild (Node *node)
virtual void calculateFractalDimension ()
virtual void calculateLyupanovExponent ()
virtual void clear ()
virtual void codeRandomize ()
virtual Eigen::MatrixXd createTransform ()
virtual double & element (size_t row, size_t column)
 Returns a reference to the indicated element of the local transformation of coordinate system.
virtual bool evaluateAttractor ()
virtual void generate ()
virtual int getAttractorType () const
virtual std::string getCode () const
virtual void getCoefficients ()
virtual void getDimensionAndOrder ()
virtual int getDimensionCount () const
virtual double getFractalDimension () const
virtual size_t getIteration () const
virtual size_t getIterationCount () const
virtual Eigen::MatrixXd getLocalCoordinates () const
 Returns the local transformation of coordinate system.
virtual double getLyupanovExponent () const
virtual ScoregetScore ()
virtual int getScoreType () const
virtual double getW () const
virtual double getX () const
virtual double getY () const
virtual double getZ () const
virtual void initialize ()
virtual void iterate ()
virtual void produceOrTransform (Score &collectingScore, size_t beginAt, size_t endAt, const Eigen::MatrixXd &coordinates)
 This function is called by the traverse() function.
virtual void reinitialize ()
virtual void render (int N, double X, double Y, double Z, double W)
virtual void reset ()
virtual bool searchForAttractor ()
virtual void setAttractorType (int attractorType)
 Types: 1 = 1-dimensional polynomial map, 2 = 2-dimensional polynomial map, 3 = 3-dimensional polynomial map, 4 = 4-dimensional polynomial map, 5 = 3-dimensional ODE, 6 = 4-dimensional ODE, 7 through 12 = special functions.
virtual void setCode (std::string code)
virtual void setDimensionCount (int D)
virtual void setElement (size_t row, size_t column, double value)
 Sets the indicated element of the local transformation of coordinate system.
virtual void setIteration (size_t iteration)
virtual void setIterationCount (size_t iterationCount)
virtual void setScoreType (int attractorType)
virtual void setW (double X)
virtual void setX (double X)
virtual void setY (double X)
virtual void setZ (double X)
virtual void shuffleRandomNumbers ()
virtual void specialFunctions ()
 StrangeAttractor (void)
virtual Eigen::MatrixXd traverse (const Eigen::MatrixXd &globalCoordinates, Score &score)
 The default implementation postconcatenates its own local coordinate system with the global coordinates, then passes the score and the product of coordinate systems to each child, thus performing a depth-first traversal of the music graph.
virtual ~StrangeAttractor (void)

Data Fields

std::vector< Node * > children
 Child Nodes, if any.
std::string importFilename
Random randomNode

Protected Attributes

std::vector< double > A
double AL
std::string code
double COSAL
int D
double D2
double D2MAX
int DD
double decibels
double DF
double DL2
double DLW
double DLX
double DLY
double DLZ
double DUM
double duration
double DW
double DX
double DY
double DZ
double EPS
double F
std::string filename
int I
int I1
int I2
int I3
int I4
int I5
double instrument
int J
double L
Eigen::MatrixXd localCoordinates
double LSUM
int M
double MX
double MY
int N
double N1
double N2
double NL
int NMAX
int O
double octave
int ODE
int OMAX
int P
double pitchClassSet
int PREV
double PT
double RAN
double RS
Score score
int scoreType
double SH
double SINAL
double SW
int T
double TIA
double time
double TT
int TWOD
std::vector< double > V
double W
double WE
double WMAX
double WMIN
double WNEW
double WP
std::vector< double > WS
double WSAVE
double x
double X
double XA
double XE
double XH
double XL
double XMAX
double XMIN
std::vector< double > XN
double XNEW
double XP
std::vector< double > XS
double XSAVE
double XW
std::vector< double > XY
double XZ
double Y
double YA
double YE
double YH
double YL
double YMAX
double YMIN
double YNEW
double YP
std::vector< double > YS
double YSAVE
double YW
double YZ
double Z
double ZA
double ZE
double ZMAX
double ZMIN
double ZNEW
double ZP
std::vector< double > ZS
double ZSAVE

Detailed Description

Generates notes by searching for a chaotic dynamical system defined by a polynomial equation or partial differential equation using Julien C.

Sprott's Lyupanov exponent search, or by translating a known chaotic dynamical system into music, by interpreting each iteration of the system as a note. The time of the note can be represented either as the order of iteration, or as a dimension of the attractor. See Julien C. Sprott's book "Strange Attractors".

Constructor & Destructor Documentation

csound::StrangeAttractor::StrangeAttractor ( void  )
virtual csound::StrangeAttractor::~StrangeAttractor ( void  )
virtual

Member Function Documentation

virtual void csound::Node::addChild ( Node node)
virtualinherited
virtual void csound::StrangeAttractor::calculateFractalDimension ( )
virtual
virtual void csound::StrangeAttractor::calculateLyupanovExponent ( )
virtual
virtual void csound::Node::clear ( )
virtualinherited
virtual void csound::StrangeAttractor::codeRandomize ( )
virtual
virtual Eigen::MatrixXd csound::Node::createTransform ( )
virtualinherited
virtual double& csound::Node::element ( size_t  row,
size_t  column 
)
virtualinherited

Returns a reference to the indicated element of the local transformation of coordinate system.

virtual bool csound::StrangeAttractor::evaluateAttractor ( )
virtual
virtual void csound::StrangeAttractor::generate ( )
virtual
virtual int csound::StrangeAttractor::getAttractorType ( ) const
virtual
virtual std::string csound::StrangeAttractor::getCode ( ) const
virtual
virtual void csound::StrangeAttractor::getCoefficients ( )
virtual
virtual void csound::StrangeAttractor::getDimensionAndOrder ( )
virtual
virtual int csound::StrangeAttractor::getDimensionCount ( ) const
virtual
virtual double csound::StrangeAttractor::getFractalDimension ( ) const
virtual
virtual size_t csound::StrangeAttractor::getIteration ( ) const
virtual
virtual size_t csound::StrangeAttractor::getIterationCount ( ) const
virtual
virtual Eigen::MatrixXd csound::Node::getLocalCoordinates ( ) const
virtualinherited

Returns the local transformation of coordinate system.

virtual double csound::StrangeAttractor::getLyupanovExponent ( ) const
virtual
virtual Score& csound::ScoreNode::getScore ( )
virtualinherited
virtual int csound::StrangeAttractor::getScoreType ( ) const
virtual
virtual double csound::StrangeAttractor::getW ( ) const
virtual
virtual double csound::StrangeAttractor::getX ( ) const
virtual
virtual double csound::StrangeAttractor::getY ( ) const
virtual
virtual double csound::StrangeAttractor::getZ ( ) const
virtual
virtual void csound::StrangeAttractor::initialize ( )
virtual
virtual void csound::StrangeAttractor::iterate ( )
virtual
virtual void csound::ScoreNode::produceOrTransform ( Score collectingScore,
size_t  beginAt,
size_t  endAt,
const Eigen::MatrixXd &  compositeCordinates 
)
virtualinherited

This function is called by the traverse() function.

The default implementation does nothing. If a derived node produces new Events, then it must transform them by the composite coordinates, then append them to the collecting score. If a derived node transforms Events produced by child Nodes, then it must transform only Events in the collecting score starting at the startAt index and continuing up to, but not including, the endAt index. These bookmarks, in turn, must be set in the Traverse function by all Nodes that produce events.

Reimplemented from csound::Node.

Reimplemented in csound::Cell, csound::MCRM, and csound::Rescale.

virtual void csound::StrangeAttractor::reinitialize ( )
virtual
virtual void csound::StrangeAttractor::render ( int  N,
double  X,
double  Y,
double  Z,
double  W 
)
virtual
virtual void csound::StrangeAttractor::reset ( )
virtual
virtual bool csound::StrangeAttractor::searchForAttractor ( )
virtual
virtual void csound::StrangeAttractor::setAttractorType ( int  attractorType)
virtual

Types: 1 = 1-dimensional polynomial map, 2 = 2-dimensional polynomial map, 3 = 3-dimensional polynomial map, 4 = 4-dimensional polynomial map, 5 = 3-dimensional ODE, 6 = 4-dimensional ODE, 7 through 12 = special functions.

virtual void csound::StrangeAttractor::setCode ( std::string  code)
virtual
virtual void csound::StrangeAttractor::setDimensionCount ( int  D)
virtual
virtual void csound::Node::setElement ( size_t  row,
size_t  column,
double  value 
)
virtualinherited

Sets the indicated element of the local transformation of coordinate system.

virtual void csound::StrangeAttractor::setIteration ( size_t  iteration)
virtual
virtual void csound::StrangeAttractor::setIterationCount ( size_t  iterationCount)
virtual
virtual void csound::StrangeAttractor::setScoreType ( int  attractorType)
virtual
virtual void csound::StrangeAttractor::setW ( double  X)
virtual
virtual void csound::StrangeAttractor::setX ( double  X)
virtual
virtual void csound::StrangeAttractor::setY ( double  X)
virtual
virtual void csound::StrangeAttractor::setZ ( double  X)
virtual
virtual void csound::StrangeAttractor::shuffleRandomNumbers ( )
virtual
virtual void csound::StrangeAttractor::specialFunctions ( )
virtual
virtual Eigen::MatrixXd csound::Node::traverse ( const Eigen::MatrixXd &  globalCoordinates,
Score score 
)
virtualinherited

The default implementation postconcatenates its own local coordinate system with the global coordinates, then passes the score and the product of coordinate systems to each child, thus performing a depth-first traversal of the music graph.

Reimplemented in csound::Koch, csound::Stack, csound::Intercut, csound::Hocket, and csound::Sequence.

Field Documentation

std::vector<double> csound::StrangeAttractor::A
protected
double csound::StrangeAttractor::AL
protected
std::vector<Node *> csound::Node::children
inherited

Child Nodes, if any.

std::string csound::StrangeAttractor::code
protected
double csound::StrangeAttractor::COSAL
protected
int csound::StrangeAttractor::D
protected
double csound::StrangeAttractor::D2
protected
double csound::StrangeAttractor::D2MAX
protected
int csound::StrangeAttractor::DD
protected
double csound::StrangeAttractor::decibels
protected
double csound::StrangeAttractor::DF
protected
double csound::StrangeAttractor::DL2
protected
double csound::StrangeAttractor::DLW
protected
double csound::StrangeAttractor::DLX
protected
double csound::StrangeAttractor::DLY
protected
double csound::StrangeAttractor::DLZ
protected
double csound::StrangeAttractor::DUM
protected
double csound::StrangeAttractor::duration
protected
double csound::StrangeAttractor::DW
protected
double csound::StrangeAttractor::DX
protected
double csound::StrangeAttractor::DY
protected
double csound::StrangeAttractor::DZ
protected
double csound::StrangeAttractor::EPS
protected
double csound::StrangeAttractor::F
protected
std::string csound::StrangeAttractor::filename
protected
int csound::StrangeAttractor::I
protected
int csound::StrangeAttractor::I1
protected
int csound::StrangeAttractor::I2
protected
int csound::StrangeAttractor::I3
protected
int csound::StrangeAttractor::I4
protected
int csound::StrangeAttractor::I5
protected
std::string csound::ScoreNode::importFilename
inherited
double csound::StrangeAttractor::instrument
protected
int csound::StrangeAttractor::J
protected
double csound::StrangeAttractor::L
protected
Eigen::MatrixXd csound::Node::localCoordinates
protectedinherited
double csound::StrangeAttractor::LSUM
protected
int csound::StrangeAttractor::M
protected
double csound::StrangeAttractor::MX
protected
double csound::StrangeAttractor::MY
protected
int csound::StrangeAttractor::N
protected
double csound::StrangeAttractor::N1
protected
double csound::StrangeAttractor::N2
protected
double csound::StrangeAttractor::NL
protected
int csound::StrangeAttractor::NMAX
protected
int csound::StrangeAttractor::O
protected
double csound::StrangeAttractor::octave
protected
int csound::StrangeAttractor::ODE
protected
int csound::StrangeAttractor::OMAX
protected
int csound::StrangeAttractor::P
protected
double csound::StrangeAttractor::pitchClassSet
protected
int csound::StrangeAttractor::PREV
protected
double csound::StrangeAttractor::PT
protected
double csound::StrangeAttractor::RAN
protected
Random csound::StrangeAttractor::randomNode
double csound::StrangeAttractor::RS
protected
Score csound::ScoreNode::score
protectedinherited
int csound::StrangeAttractor::scoreType
protected
double csound::StrangeAttractor::SH
protected
double csound::StrangeAttractor::SINAL
protected
double csound::StrangeAttractor::SW
protected
int csound::StrangeAttractor::T
protected
double csound::StrangeAttractor::TIA
protected
double csound::StrangeAttractor::time
protected
double csound::StrangeAttractor::TT
protected
int csound::StrangeAttractor::TWOD
protected
std::vector<double> csound::StrangeAttractor::V
protected
double csound::StrangeAttractor::W
protected
double csound::StrangeAttractor::WE
protected
double csound::StrangeAttractor::WMAX
protected
double csound::StrangeAttractor::WMIN
protected
double csound::StrangeAttractor::WNEW
protected
double csound::StrangeAttractor::WP
protected
std::vector<double> csound::StrangeAttractor::WS
protected
double csound::StrangeAttractor::WSAVE
protected
double csound::StrangeAttractor::x
protected
double csound::StrangeAttractor::X
protected
double csound::StrangeAttractor::XA
protected
double csound::StrangeAttractor::XE
protected
double csound::StrangeAttractor::XH
protected
double csound::StrangeAttractor::XL
protected
double csound::StrangeAttractor::XMAX
protected
double csound::StrangeAttractor::XMIN
protected
std::vector<double> csound::StrangeAttractor::XN
protected
double csound::StrangeAttractor::XNEW
protected
double csound::StrangeAttractor::XP
protected
std::vector<double> csound::StrangeAttractor::XS
protected
double csound::StrangeAttractor::XSAVE
protected
double csound::StrangeAttractor::XW
protected
std::vector<double> csound::StrangeAttractor::XY
protected
double csound::StrangeAttractor::XZ
protected
double csound::StrangeAttractor::Y
protected
double csound::StrangeAttractor::YA
protected
double csound::StrangeAttractor::YE
protected
double csound::StrangeAttractor::YH
protected
double csound::StrangeAttractor::YL
protected
double csound::StrangeAttractor::YMAX
protected
double csound::StrangeAttractor::YMIN
protected
double csound::StrangeAttractor::YNEW
protected
double csound::StrangeAttractor::YP
protected
std::vector<double> csound::StrangeAttractor::YS
protected
double csound::StrangeAttractor::YSAVE
protected
double csound::StrangeAttractor::YW
protected
double csound::StrangeAttractor::YZ
protected
double csound::StrangeAttractor::Z
protected
double csound::StrangeAttractor::ZA
protected
double csound::StrangeAttractor::ZE
protected
double csound::StrangeAttractor::ZMAX
protected
double csound::StrangeAttractor::ZMIN
protected
double csound::StrangeAttractor::ZNEW
protected
double csound::StrangeAttractor::ZP
protected
std::vector<double> csound::StrangeAttractor::ZS
protected
double csound::StrangeAttractor::ZSAVE
protected