Generated on Wed Nov 5 2014 05:18:37 for Gecode by doxygen 1.7.6.1
ArchimedeanSpiral Class Reference

Example: Archimedean spiral More...

List of all members.

Public Member Functions

 ArchimedeanSpiral (const Options &)
 Actual model.
 ArchimedeanSpiral (bool share, ArchimedeanSpiral &p)
 Constructor for cloning p.
virtual Spacecopy (bool share)
 Copy during cloning.
virtual void constrain (const Space &_b)
 Add constraint to current model to get next solution (not too close)
virtual void print (std::ostream &os) const
 Print solution coordinates.

Protected Attributes

FloatVarArray f
 The numbers.
FloatNum step
 Minimum distance between two solutions.

Related Functions

(Note that these are not member functions.)

int main (int argc, char *argv[])
 Main-function.

Detailed Description

Example: Archimedean spiral

The Archimedean Spiral is a spiral where all points corresponding to the locations over time of a point moving away from a fixed point with a constant speed along a line which rotates with constant angular velocity. It is defined by the polar equation:

\[ r = a+b\theta \]

To get cartesian coordinates, it can be solved for $x$ and $y$ in terms of $r$ and $\theta$. By setting $a=1$ and $b=1$, it yields to the equation:

\[ r = \theta \]

with

\[ x=r\operatorname{cos}(\theta), \quad y=r\operatorname{sin}(\theta) \]

The tuple $(r,\theta)$ is related to the position for $x$ and $y$ on the curve. $r$ and $\theta$ are positive numbers.

To get reasonable interval starting * sizes, $x$ and $y$ are restricted to $[-20;20]$.

Definition at line 71 of file archimedean-spiral.cpp.


Constructor & Destructor Documentation

Actual model.

Definition at line 79 of file archimedean-spiral.cpp.

ArchimedeanSpiral::ArchimedeanSpiral ( bool  share,
ArchimedeanSpiral p 
) [inline]

Constructor for cloning p.

Definition at line 97 of file archimedean-spiral.cpp.


Member Function Documentation

virtual Space* ArchimedeanSpiral::copy ( bool  share) [inline, virtual]

Copy during cloning.

Definition at line 102 of file archimedean-spiral.cpp.

virtual void ArchimedeanSpiral::constrain ( const Space _b) [inline, virtual]

Add constraint to current model to get next solution (not too close)

Definition at line 106 of file archimedean-spiral.cpp.

virtual void ArchimedeanSpiral::print ( std::ostream &  os) const [inline, virtual]

Print solution coordinates.

Reimplemented from Gecode::Driver::ScriptBase< BaseSpace >.

Definition at line 111 of file archimedean-spiral.cpp.


Friends And Related Function Documentation

int main ( int  argc,
char *  argv[] 
) [related]

Main-function.

Definition at line 121 of file archimedean-spiral.cpp.


Member Data Documentation

The numbers.

Definition at line 74 of file archimedean-spiral.cpp.

Minimum distance between two solutions.

Definition at line 76 of file archimedean-spiral.cpp.


The documentation for this class was generated from the following file: