Csound and CsoundAC API 5.13
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 ublas::matrix< double > createTransform ()
virtual double & element (size_t row, size_t column)
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 ublas::matrix< double > 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 &score, size_t beginAt, size_t endAt, const ublas::matrix< double > &coordinates)
 The default implementation does nothing.
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)
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 ublas::matrix< double > traverse (const ublas::matrix< double > &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
ublas::matrix< double > 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) [virtual, inherited]
virtual void csound::StrangeAttractor::calculateFractalDimension ( ) [virtual]
virtual void csound::StrangeAttractor::calculateLyupanovExponent ( ) [virtual]
virtual void csound::Node::clear ( ) [virtual, inherited]
virtual void csound::StrangeAttractor::codeRandomize ( ) [virtual]
virtual ublas::matrix<double> csound::Node::createTransform ( ) [virtual, inherited]
virtual double& csound::Node::element ( size_t  row,
size_t  column 
) [virtual, inherited]
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 ublas::matrix<double> csound::Node::getLocalCoordinates ( ) const [virtual, inherited]

Returns the local transformation of coordinate system.

virtual double csound::StrangeAttractor::getLyupanovExponent ( ) const [virtual]
virtual Score& csound::ScoreNode::getScore ( ) [virtual, inherited]
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 score,
size_t  beginAt,
size_t  endAt,
const ublas::matrix< double > &  compositeCordinates 
) [virtual, inherited]

The default implementation does nothing.

Derived nodes that produce notes from scratch should transform them using the composite transformation of coordinate system, which is passed in from the traverse() function.

Reimplemented from csound::Node.

Reimplemented in csound::Cell, csound::Hocket, 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 
) [virtual, inherited]
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 ublas::matrix<double> csound::Node::traverse ( const ublas::matrix< double > &  globalCoordinates,
Score score 
) [virtual, inherited]

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::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]
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::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]
std::string csound::ScoreNode::importFilename [inherited]
int csound::StrangeAttractor::J [protected]
double csound::StrangeAttractor::L [protected]
ublas::matrix<double> csound::Node::localCoordinates [protected, inherited]
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::O [protected]
int csound::StrangeAttractor::P [protected]
double csound::StrangeAttractor::PT [protected]
double csound::StrangeAttractor::RAN [protected]
double csound::StrangeAttractor::RS [protected]
Score csound::ScoreNode::score [protected, inherited]
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]
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]