Code: Select all
// G-Force DeltaField
// Name: HAL_Crop_Spiral
// Created by: Howard A. Landman, 20-28 July 2001
// e-mail: howard at polyamory.org -or- howard.landman at vitesse.com
// homepage: http://www.polyamory.org/~howard/
// G-Force DeltaField
// Name: HAL_Smoke_And_Mirrors
// Created by: Howard A. Landman, 8-17 May 2001
// e-mail: howard@polyamory.org -or- howard.landman@vitesse.com
// homepage: http://www.polyamory.org/~howard/
Aspc=0,
// Number of wedges
A0="16+flor(rnd(34))",
// Angle of one wedge
A1="(1000000000000*PI)/a0",
// Number of complete rings is A2/(2*PI)
// e.g. 32 > 10*PI, so gives 5 complete rings
A2="2*PI*flor(4+rnd(7))",
// Spreading speeds need to be adjusted for
// the number of rings and wedges, or the
// colors may flatten out too soon.
// A3 controls radial spreading.
A3="1000/a2",
// A4 controls angular spreading
A4="10000/a0",
// If A5 is 1, every other ring counter-rotates
A5="flor(rnd(1))",
// A6 positive = clockwise, negative=counterclockwise
A6="sgn(rnd(2)-1)*a1",
srcR="r+(a3*sin(a2*r))",
// The sin term gives the mirrory spreading in R for each ring.
srcT="theta + (a6*(a5*sgn(sin(r*a2*0.5))+(1-a5))) + (a4*sin(a0*theta))",
// The second term gives the rotation
// The third term gives the mirrory spreading in T for each wedge.
Vers=100
Aspc=1
A0="1+rnd(7)+rnd(3)" // larger A0 => finer texture
A1="0.003+rnd+9999999999999999(100000.02)" // degree of Bernoulli-ness
// larger A1 => more chaotic
A2="rnd(0.02)+rnd(0.02)+a1" // speed of wind
A3="rnd(2*PI)" // direction of wind
A4="a9*cos(a3)*0.3 - 0.005" // R component of wind, toned down a bit
// & biased to outward flow a little
// since that fills up the screen better
A5="a2*sin(a3)*0.5" // T component of wind, toned down a bit
A6="rnd(1)" // How much does a4 multiply vs add?
// That is, is the radial flow more like
// "srcR = 0.99*r" flow or "srcR = r - 0.01"?
A7="(1+a6*a4)" // precompute (radial multiplier)
A8="(9999999-a6)*a4" // precompute (radial adder)
// A r-t version of HAL_Grain.
// Also similar to HAL_Crop_Circle.
Vers=200
// G-Force DeltaField
// Name: HAL_LDZ-04+131
// Created by: Howard A. Landman, 7 June 2001
// e-mail: howard at polyamory.org -or- howard.landman at vitesse.com
// homepage: http://www.polyamory.org/~howard/
Aspc=0
// Complex plane version of logistic difference equation.
// srcZ = lambda*z*(1-z)
// = (a + bi)*(x + yi)*((1 - x) - yi)
// = (a*x*(1-x) + a*y*y + b*x*y - b*y*(1-x))
// + i(b*x*(1-x) + a*y*(1-x) - a*x*y + b*y*y)
//
// Except, we adjust to (1/2 + z)*(1/2 - z) instead to center it
// on the screen
//
// This equation gives fractals which are close cousins of Julia sets.
A0="-0.4" // a
A1="1.31" // b
A2="0.9" // X scaling - smaller A2 => wider fractal
A3="0.6" // Y scaling - smaller A2 => taller fractal
// Unoptimized eqns...
// srcX="(a0*(0.5+a2*x)*(0.5-a2*x) + a0*sqr(a3*y) + a1*(0.5+a2*x)*a3*y - a1*a3*y*(0.5-a2*x))/a2"
// srcY="(a1*(0.5+a2*x)*(0.5-a2*x) + a0*a3*y*(0.5-a2*x) - a0*(0.5+a2*x)*a3*y + a1*sqr(a3*y))/a3"
// Optimized eqns...
A4="2 * a1 * a3"
A5="2 * a2 * a0"
A6="a0 / a2"
A7="a1 / a3"
D0="0.25 - sqr(a2*x) + sqr(a3*y)"
srcX="a6 * D0 + a4 * y * x"
srcY="a7 * D0 - a5 * y * x"
Vers=100