Chaotic Motion  1.0
SprottB.cs
1 using UnityEngine;
2 using System.Collections;
3 
4 // eqn (34) from http://lsc.amss.ac.cn/~ljh/04LCC.pdf
5 // Primary ref: http://sprott.physics.wisc.edu/pubs/paper212.pdf
6 
7 public class SprottB : ChaosEqn {
8 
9  public SprottB() {
10  name = "SprottB";
11 
12  eqnStrings = new string[]{
13  "xdot = yz",
14  "ydot = x-y",
15  "zdot = 1 - xy"
16  };
17 
18  paramBundles = new ParamBundle[] {
19  // sigma, b, rho
20  new ParamBundle("default (scaled)", 0f, 0f, 0f,
21  new Vector3(-0.1f, 0.5f, -0.6f), new Vector3(-0.8f,-0.7f,0.3f), 1.51f),
22  new ParamBundle("default", 0f, 0f, 0f,
23  new Vector3(-0.1f, 0.5f, -0.6f)),
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] * x_in[2];
36  x_out[1] = x_in[0] - x_in[1];
37  x_out[2] = 1 - x_in[0]*x_in[1];
38  }
39 
40 }
Chaotic system. Base class for chaotic scripts. Holds the type of system selected, the parameter set or the custom parameters to be used.
override void Function(ref float[] x_in, ref float[] x_out)
Evaluate the first order evolution of the attractor, given the current position.
Definition: SprottB.cs:34
override void SetParams(ParamBundle pb)
Sets the parameter bunlde to be used by the system.
Definition: SprottB.cs:30
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