Chaotic Motion  1.0
SprottO.cs
1 using UnityEngine;
2 using System.Collections;
3 
4 // eqn (47) from http://lsc.amss.ac.cn/~ljh/04LCC.pdf
5 // Primary ref: http://sprott.physics.wisc.edu/pubs/paper212.pdf
6 
7 public class SprottO : ChaosEqn {
8 
9  public SprottO() {
10  name = "SprottO";
11 
12  eqnStrings = new string[]{
13  "xdot = y",
14  "ydot = x - z",
15  "zdot = x + xz + 2.7y"
16  };
17 
18  paramBundles = new ParamBundle[] {
19  // sigma, b, rho
20  new ParamBundle("default (scaled)", 0f, 0f, 0f,
21  new Vector3(.1f, .1f, 0f), new Vector3(000.4f,000.2f,000.3f), 03.35f),
22  new ParamBundle("default", 0f, 0f, 0f,
23  new Vector3(.1f, .1f, 0f)),
24  };
25 
26  paramNames = new string[] { ChaoticSystem.NO_PARAM, ChaoticSystem.NO_PARAM,ChaoticSystem.NO_PARAM};
27  slideShowSpeed = 2f;
28  }
29 
30  public override void SetParams(ParamBundle pb)
31  {
32  }
33 
34  public override void Function(ref float[] x_in, ref float[] x_out) {
35  x_out[0] = x_in[1];
36  x_out[1] = x_in[0] - x_in[2];
37  x_out[2] = x_in[0] + x_in[0]*x_in[2] + 2.7f*x_in[1];
38  }
39 
40 }
override void Function(ref float[] x_in, ref float[] x_out)
Evaluate the first order evolution of the attractor, given the current position.
Definition: SprottO.cs:34
override void SetParams(ParamBundle pb)
Sets the parameter bunlde to be used by the system.
Definition: SprottO.cs:30
Chaotic system. Base class for chaotic scripts. Holds the type of system selected, the parameter set or the custom parameters to be used.
Chaos eqn. Base class for all equations that define a 3D chaotic system.
Definition: ChaosEqn.cs:9
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