startshape Test

CF::Background = [hue 240 sat 1 b -1] CF::Size = [s 1.4 1.5 x 0.3 y 0] CF::Impure = 1

sum(number item) = item +90.0

rotationxYX(number betavalue, number gammavalue, number x1, number y1, number z1) =

x1*cos(gammavalue) - z1*sin(gammavalue)

rotationyYX(number betavalue, number gammavalue, number x1, number y1, number z1) =

-x1*sin(gammavalue)*sin(betavalue) +

y1*cos(betavalue) - z1*cos(gammavalue)*sin(betavalue)

rotationzYX(number betavalue, number gammavalue, number x1, number y1, number z1) =

x1*sin(gammavalue)*cos(betavalue) +y1*sin(betavalue)

+ z1*cos(gammavalue)*cos(betavalue)

bifurkation(number value, number iterator) = value* iterator*(1 - iterator)

shape Test {

ball(35,100) [s .3     ]
ring [r -35]
starshower[]

}

shape ring {

loop i = 25,60 []
               feigenbaum(960, 3.4+i*0.01,0.9 ) []

}

shape feigenbaum(natural iter, number a_value, number start)

{

if (iter > 0) {
  x1 =(a_value-3)*cos(start*360)
  y1 = (a_value-3)*sin(start*360)
  z1 = 0
  ball1[ h 20..70 sat 0.1..0.4 x rotationxYX(75,0,

x1, y1, z1) y rotationyYX(75,0, x1, y1, z1) z (-2*rotationzYX(75,0, x1, y1, z1)) b (1-rotationzYX(70,0, x1, y1, z1))]

feigenbaum(iter--1, a_value, (a_value*

start*(1 - start))) []

   }
}

shape ball1 {

CIRCLE [s 0.005 ]
ball1[s.98 sat -0.06 x 0.005 b -0.1]

}

shape ballcircle(number alpha1, gamma1, radius, width, height)

{

   loop i = 720 [] 
{
  x1 = radius*cos(i/2)
  y1 = radius * sin(i/2)
  z1 = height
  x1new = rotationxYX(alpha1,gamma1,x1,y1,z1)
  y1new = rotationyYX(alpha1,gamma1,x1,y1,z1)
  z1new = rotationzYX(alpha1,gamma1,x1,y1,z1)
  CIRCLE( ) [ x  x1new y y1new z z1new s width

]

}

}

shape ball(number gam1, number alph1) {

// alph1  rotation x
// gam1  rotation y
n  =  100
loop k= -n, n []  
    ballcircle(alph1, gam1,(cos(k/n*90)), 0.09,

(sin(k/n*90))) [ sat 0.2 b ((k/n)+0.7) h 0..70] }

shape starshower {

loop i= 1,4000 [ ] {
  radius = 180*exp(-i*0.01)
  alpha1= 0..360
   star [s (1.0*exp(-i*0.01)) x (radius*cos(alpha1)) y
   (radius*sin(alpha1)) z -100]
}

}

shape star {

loop 1,1000 [s 0.8 ]
CIRCLE [hue 30..60 x -0.1..0.1  y -0.1..0.1 sat 0.5..1 a 0.1..1 b 1]
loop i=0,4 []
startreck[flip (i*45) s 0.4]

}

shape startreck {

CIRCLE [hue 10..60 sat 0.3 a 0.1..1 b 1]
startreck[ s 0.9..0.95 x 0.2 y 0.1..0.2 z -1]

}