Chaotic Motion  1.0
GenesioTesi.cs
1 using UnityEngine;
2 using System.Collections;
3 
4 // eqn (52) from http://lsc.amss.ac.cn/~ljh/04LCC.pdf
5 
6 public class GenesioTesi : ChaosEqn {
7 
8  private float a, b, c;
9 
10  public GenesioTesi() {
11  name = "GenesioTesi";
12 
13  eqnStrings = new string[]{
14  "xdot = y",
15  "ydot = z",
16  "zdot = -c x - by - az + x^2"
17  };
18 
19  paramBundles = new ParamBundle[] {
20  // sigma, b, rho
21  new ParamBundle("default (scaled)", 0.44f, 1.1f, 1f,
22  new Vector3(.1f, .1f, .1f), new Vector3(-000.3f,-000.1f,000.0f), 06.66f),
23  new ParamBundle("default", 0.44f, 1.1f, 1f,
24  new Vector3(.1f,.1f,.1f)),
25  };
26 
27  paramNames = new string[] { "a", "b", "c"};
28  slideShowSpeed = 2f;
29  }
30 
31  public override void SetParams(ParamBundle pb)
32  {
33  a = pb.eqnParam[0];
34  b = pb.eqnParam[1];
35  c = pb.eqnParam[2];
36  }
37 
38  public override void Function(ref float[] x_in, ref float[] x_out) {
39  x_out[0] = x_in[1];
40  x_out[1] = x_in[2];
41  x_out[2] = -c*x_in[0] - b*x_in[1] - a*x_in[2] + x_in[0]*x_in[0];
42  }
43 
44 }
float[] eqnParam
parameters used in the equation
Definition: ParamBundle.cs:19
override void SetParams(ParamBundle pb)
Sets the parameter bunlde to be used by the system.
Definition: GenesioTesi.cs:31
Chaos eqn. Base class for all equations that define a 3D chaotic system.
Definition: ChaosEqn.cs:9
override void Function(ref float[] x_in, ref float[] x_out)
Evaluate the first order evolution of the attractor, given the current position.
Definition: GenesioTesi.cs:38
Parameter bundle. Container class to hold the values for starting a chaotic system. Holds the parameters for the equations and the initial position and scale values.
Definition: ParamBundle.cs:13