sclang: ServerShmInterface - try to avoid multiple destructor calls
[supercollider.git] / HelpSource / Classes / LorenzL.schelp
blob959cf18a8fb48d1f58c5bfc7d4345f6e02e3a767
1 class:: LorenzL
2 summary:: Lorenz chaotic generator
3 categories:: UGens>Generators>Chaotic
5 description::
6 A strange attractor discovered by Edward N. Lorenz while studying mathematical models of the atmosphere. The system is composed of three ordinary differential equations:
8 code::
9         x' = s * (y - x)
10         y' = x * (r - z) - y
11         z' = x * y - b * z
13 warning:: revise formulae converted to c like code (x', y', z'!!!) ::
15 The time step amount code::h:: determines the rate at which the ODE is evaluated. Higher values will increase the rate, but cause more instability. A safe choice is the default amount of 0.05.
17 classmethods::
18 method:: ar
19 argument:: freq
20 Iteration frequency in Hertz
21 argument:: s
22 Equation variable
23 argument:: r
24 Equation variable
25 argument:: b
26 Equation variable
27 argument:: h
28 Integration time step
29 argument:: xi
30 Initial value of x
31 argument:: yi
32 Initial value of y
33 argument:: zi
34 Initial value of z
36 examples::
37 code::
38 // vary frequency
39 { LorenzL.ar(MouseX.kr(20, SampleRate.ir)) * 0.3 }.play(s);
42 code::
43 // randomly modulate params
45 { LorenzL.ar(
46         SampleRate.ir,
47         LFNoise0.kr(1, 2, 10),
48         LFNoise0.kr(1, 20, 38),
49         LFNoise0.kr(1, 1.5, 2)
50 ) * 0.2 }.play(s);
54 code::
55 // as a frequency control
56 { SinOsc.ar(Lag.ar(LorenzL.ar(MouseX.kr(1, 200)),3e-3)*800+900)*0.4 }.play(s);