Now the little Bouncing Cycloids are doing their stuff.
Have you ever seen this WaveShape? (Don't worry it doesn't need any modding). I thought you would find it very interesting.
Code: Select all
// Trans4mers by Erlend, October 2001
//Stps=160,
Aspc=1,
A0="2*PI", // Circle circumferance
A1="(rnd(3) + 2) * A0", // Spiral length
A2="rnd(.3) + .2", // Spiral radius
A3="rnd(.1) + .03", // Transformation speed
A4="rnd(.5) + .5", // Rotation speed of object around its centre
A5="2", // 2 intervals to draw triangles
A6="1/A5", // 2 intervals to draw triangles
A7="0.866 * A2", // Triangle coordinates
A8=".5 * A2", // ,,
A9="A2 + A8", // ,,
A10="rnd(.6) + .5", // Rotation speed of objects around the screen centre
A11="1-A2/2", // X Displacement to the right before second rotation
A12="rnd(2) + 4", // Rotation speed propellor
A13="3", // 3 intervals to draw pentagram
A14="1/A13", // ,,
A15="2*A13", // ,,
// Pentagram
A16="0.951 * A2", // cos( 18) or -cos(162) Angle 2
A17="0.309 * A2", // sin( 18) or sin(162) Angle 3
A18="0.588 * A2", // -cos(234) or cos(306) Angle 4
A19="0.809 * A2", // -sin(234) or -sin(306) Angle 5
A20="A2 + A19",
A21="A2 + A19",
A22="A16 + A16",
// Spiral
C0="A1*s",
C1="s * A2 * cos(C0)", // x spiral
C2="s * A2 * sin(C0)", // y spiral
// Draw the triangle in one line
// N = nbr of intervals
// M = nbr of the interval to calc.
// sqwv( 2ns + (( -2 * (m-1) )- 1 ) )
C3="sqwv( 2*A5 * s - 1 )",
C4="sqwv( 2*A5 * s - 3 )",
C5=" s * A5",
C6="(s-A6) * A5",
// Draw the initial triangle at (0,0)
C7="((0 - C5 * A7 ) * C3) + (( A7 - C6 * A7 ) * C4)",
C8="((A2 - C5 * A9 ) * C3) + ((-A8 + C6 * A9 ) * C4)",
// Rotation parameters to rotate object around its centre
B0="t*A4",
B1="cos(B0)",
B2="sin(B0)",
// Rotation parameters around centre of screen
B3="t*A10",
B4="cos(B3)",
B5="sin(B3)",
B6="B3 + PI",
B7="cos(B6)",
B8="sin(B6)",
// Rotate objects around their centre, displace to the right
C9=" -B1 * C2 -B2 * C1 + A11",
C10=" B1 * C1 -B2 * C2",
C11=" B1 * C8 +B2 * C7 + A11",
C12="-B1 * C7 +B2 * C8",
// Rotate objects around screen centre
C13="-B4 * C10 -B5 * C9",
C14=" B4 * C9 -B5 * C10",
C15="-B7 * C12 -B8 * C11",
C16=" B7 * C11 -B8 * C12",
// Second pair
C17="-B7 * C10 -B8 * C9",
C18=" B7 * C9 -B8 * C10",
C19="-B4 * C12 -B5 * C11",
C20=" B4 * C11 -B5 * C12",
// Interpolation factor in time ...
C21="(sin(A3 * A0 * t) + 1 ) * .5", // A3 times from 0 to 1 in a second
C22="1-C21",
X0="C13 * C21 + C15 * (1-C21)", // Interpolating one to the other
Y0="C14 * C21 + C16 * (1-C21)",
X1="C17 * C21 + C19 * (1-C21)", // Interpolating one to the other
Y1="C18 * C21 + C20 * (1-C21)",
// Lines
C23="-2 + s * 4",
C24="0",
B9="B3 + PI/4",
B10="cos(B9)",
B11="sin(B9)",
X2=" -B11 * C23",
Y2=" B10 * C23",
X3="-B10 * C23",
Y3=" -B11 * C23",
C23="-2 + s * 4",
//C24="",
// Propellors
C25="A2 - A2 * ABS(sin( s * A0))",
C26="s * A0",
C27="C25 * cos( C26 )",
C28="C25 * sin( C26 )",
B12="t*A12",
B13="cos(B12)",
B14="sin(B12)",
C29="-B13 * C28 -B14 * C27 + A11",
C30=" B13 * C27 -B14 * C28",
B15="B9 + PI/4",
B16="cos(B15)",
B17="sin(B15)",
C31="-B16 * C30 -B17 * C29",
C32=" B16 * C29 -B17 * C30",
// Pentagram
// N = nbr of intervals
// M = nbr of the interval to calc.
// sqwv( 2ns + (( -2 * (m-1) )- 1 ) )
C33="sqwv( A15 * s - 1 )",
C34="sqwv( A15 * s - 3 )",
C35="sqwv( A15 * s - 5 )",
C36=" s *A13", // an s from 0 to 1 for first part of line
C37=" (s- A14)*A13", // an s from 0 to 1 for second part of line
C38=" (s-2*A14)*A13", // ...
// Draw the pentagram in 3 parts ( G-force does the rest ).
C39="((0 - C36 * A18) * C33) + ((A16 - C37 * A22) * C34 ) + (( A18 - C38 * A18) * C35 )",
C40="((A2 - C36 * A20) * C33) + ((A17 ) * C34 ) + ((-A19 + C38 * A21) * C35 )",
C41="-B1 * C40 -B2 * C39 + A11",
C42=" B1 * C39 -B2 * C40",
B18="B15+PI",
B19="cos(B18)",
B20="sin(B18)",
C43="-B19 * C42 -B20 * C41",
C44=" B19 * C41 -B20 * C42",
C45="-B19 * C30 -B20 * C29",
C46=" B19 * C29 -B20 * C30",
C47="-B16 * C42 -B17 * C41",
C48=" B16 * C41 -B17 * C42",
X4="C31 * C21 + C43 * C22",
Y4="C32 * C21 + C44 * C22",
X5="C45 * C21 + C47 * C22",
Y5="C46 * C21 + C48 * C22",
C49="A0*t*.2",
// Interpolate the four figures
C50="C1 * clip( sin(C49)) + C7 * clip( sin(C49+PI/2)) + C27 * clip( sin(C49+PI)) + C39 * clip( sin(C49+3*PI/2))",
C51="C2 * clip( sin(C49)) + C8 * clip( sin(C49+PI/2)) + C28 * clip( sin(C49+PI)) + C40 * clip( sin(C49+3*PI/2))",
C52="sin(t*.3)",
// Rotate and scale it in time
X6="C52 * (-B13 * C51 -B14 * C50)",
Y6="C52 * ( B13 * C50 -B14 * C51)",
LWdt="2",
Meta="reactive=2, detail=3, density=3, morphable=4",
ConB=1,
Vers=100