Chaotic Motion  1.0
SprottE.cs
1 using UnityEngine;
2 using System.Collections;
3 
4 // eqn (37) from http://lsc.amss.ac.cn/~ljh/04LCC.pdf
5 // Primary ref: http://sprott.physics.wisc.edu/pubs/paper212.pdf
6 
7 public class SprottE : ChaosEqn {
8 
9  public SprottE() {
10  name = "SprottE";
11 
12  eqnStrings = new string[]{
13  "xdot = yz",
14  "ydot = x^2 - y",
15  "zdot = 1 - 4x"
16  };
17 
18  paramBundles = new ParamBundle[] {
19  // sigma, b, rho
20  new ParamBundle("default (scaled)", 0f, 0f, 0f,
21  new Vector3(-2.9f, 4.8f, .4f)),
22  new ParamBundle("default", 0f, 0f, 0f,
23  new Vector3(-2.9f, 4.8f, .4f)),
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[0] - x_in[1];
37  x_out[2] = 1f - 4f*x_in[0];
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: SprottE.cs:34
override void SetParams(ParamBundle pb)
Sets the parameter bunlde to be used by the system.
Definition: SprottE.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