My first flowfield

Discussion forum for G-Force users

Moderators: BTT, andy55, b.dwall, juxtiphi

Adamh
Posts: 1
Joined: Sat May 20, 2006 5:58 pm

My first flowfield

Post by Adamh »

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

Its kinda like atornado. i just combined and tinkered with some of the flowfeilds that came with g force. its not much, but its a start. could you rate it?

User avatar
chkman
Posts: 329
Joined: Mon Aug 08, 2005 12:36 pm
Location: Greensburg, PA

Post by chkman »

I am confused. Your config appears to be 3 configs. The top one seems to be called HAL_Crop_Special but is very different from the HAL - Crop Spiral posted on the extras page.

The middle one claims to be
// A r-t version of HAL_Grain.
But has no srcT or srcR lines.

The bottom one seem to be the same as HAL - LDZ-04+131.

Did you want us to look at the 1st one? Are you going to finish the 2nd one? I'll have a look at lunchtime.

User avatar
chkman
Posts: 329
Joined: Mon Aug 08, 2005 12:36 pm
Location: Greensburg, PA

Post by chkman »

Okay, I tried it as one and as three separate configs. When viewed as you have posted it, it does in fact look like you are staring down into a twister.

Your flow has duplicate A vars and src(s). (You can use only one A0=, one A1=, etc. You can create new vars by changing the number - A7,A8,A9,A10...) (And be sure to make them Capital letters when 'declaring' them, I just had that problem)

What I think is happening is that G-Force computes the 1st src(s) that it finds, in this case srcR and srcT. But it uses the last A vars that it finds. I tried your flow like this and it looks the same to me.

Code: Select all

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" 

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 
The other stuff seems to be extraneous. If you want to pull in lines from other configs, either replace some vars in use or add them as new vars and figure out some way to put them in the final calculations ( the src(s)).

Welcome to G-Force, I'm glad that you are trying to make configs. We could always use more....

User avatar
JayPro
Posts: 738
Joined: Sat May 01, 2004 10:51 pm
Location: Huntington Station, Long Island, New York

Post by JayPro »

A suggestion here as to your first one:

In your A1 statement, your number is *way* overblown, as it causes the whole flowfield to look like concentric bands of pixels, i.e. not your intended outcome based on the //documentation you furnished. I would stick with 10 or perhaps (for the sake of variability) a statement that uses a randomization factor involving 10, say, 5 + rnd(10) or 10 + rnd(.5).

I would apply the same idea to A3 and -4.
"God is syntax."

User avatar
chkman
Posts: 329
Joined: Mon Aug 08, 2005 12:36 pm
Location: Greensburg, PA

Post by chkman »

JayPro,

If you are refering to these line:

Code: Select all

A0="16+flor(rnd(34))", 
A1="(1000000000000*PI)/a0", 
A2="2*PI*flor(4+rnd(7))", 
A3="1000/a2", 
A4="10000/a0", 
I don't believe that they are being used in the final result. As I said in my 2nd post, G-Force must re-calc the A vars when it encounters the ones further down in the code, i.e. it skips the 1st ones. However, it seems that the 1st scrR and scrT are used in the calculations. I believe the code I posted is equivalent to Adamh's original. (Maybe Andy will confirm or dismiss my speculation?) As per the "//documentation", that is taken from the HAL configs that Adamh is working from.

How are you feeling these days? Got any new flowfields? I am thinking about trying some new ones after generating some ckman only scripts. Mine when unioned with only mine seem to get too 'static'. Even tho you helped me with some of mine (and I do appreciate it) I still don't really understand how to make good flows.

User avatar
JayPro
Posts: 738
Joined: Sat May 01, 2004 10:51 pm
Location: Huntington Station, Long Island, New York

Post by JayPro »

chkman wrote:JayPro,

If you are refering to these line:

Code: Select all

A0="16+flor(rnd(34))", 
A1="(1000000000000*PI)/a0", 
A2="2*PI*flor(4+rnd(7))", 
A3="1000/a2", 
A4="10000/a0", 
I don't believe that they are being used in the final result. As I said in my 2nd post, G-Force must re-calc the A vars when it encounters the ones further down in the code, i.e. it skips the 1st ones. However, it seems that the 1st scrR and scrT are used in the calculations. I believe the code I posted is equivalent to Adamh's original. (Maybe Andy will confirm or dismiss my speculation?) As per the "//documentation", that is taken from the HAL configs that Adamh is working from.

How are you feeling these days? Got any new flowfields? I am thinking about trying some new ones after generating some ckman only scripts. Mine when unioned with only mine seem to get too 'static'. Even tho you helped me with some of mine (and I do appreciate it) I still don't really understand how to make good flows.
Few Points:

1. The only number I seriously have any quibble with is the figure in A1, which in my experimentation makes the field look radically different than advertised. I tried 10 or a (rnd) statement using 10; and I found that to be much more faithful to the intent.

I am doing better, and wuill hafta hold off on th alcohol till Saturday when my meds are done. I also need to see my physician and podiatrist once more to check progress.

As for making flowfields, if you want to keep it at a beginner's level I would suggest this:

When making polar (r, theta) fields, try as much as possible to keep the appropriate designations(?) i.e. r,theta, in their respective source statements. Once you feel comfortable about it, then you can interlard r/theta more liberally.
I apologize for not being able to explain it better. Take a look at the swirly fields and you'll see how r/theta are doled out in order to achieve the result.

Also, try to mix your polar with cartesian (x, y) as **sparingly as humanly possible**. I too have found the process of pulling this off *most* challenging, and it takes a *true* flowfielding master (i.e. of the code language especially) to cruch out some really neat ones.

As for things like asin, acos and atan2, see if you can get Rovastar or Roger Bigod to assist you there, as these are fairly new to the coding language, and therefore beyond my ability to explain well.

Finally, try to keep the wraps and clips (to wit, just these two) to a dull roar. And especially keep them out of your variables. For (rnd)'s, use sgn, flor, sqr, sqrt ( I honestly still don't know if sin, cos or tan are useful, particularly here).

BTW, (rnd)'s *within* the source statements themselves render the flow quite pixillated/"noisy", depending on how much you put into it.

PS: Nothing new on the effects side yet. I may wanna go back to some ColorMongering (see Extras section) for a few hundred new maps. Wave making is most time consuming; but equally rewarding if you think you've got something good.
"God is syntax."

User avatar
chkman
Posts: 329
Joined: Mon Aug 08, 2005 12:36 pm
Location: Greensburg, PA

Post by chkman »

Cool. I'm glad you're doing okay.

As far as the Colormongering, you know it's takes about 6 months for the SoundSpectrum extras page to get updated. If you email them to me I will have them posted on my extras page withing 24 hours. :D

Roger Bigod
Posts: 29
Joined: Mon Aug 23, 2004 8:17 pm

Post by Roger Bigod »

chkman,

I didn't see an email address at your extras site.

User avatar
gorus
Posts: 120
Joined: Tue Mar 22, 2005 5:07 am
Location: Boston, MA

Post by gorus »

I hope you don't mind my volunteering the info...if it means a faster transferral of new material to your extras section.
JP--welcome back, btw--you may want to edit Alan's e-mail address out in case someone is running an e-mail harvester on this board... Just trying to save him from possible spam :)

User avatar
JayPro
Posts: 738
Joined: Sat May 01, 2004 10:51 pm
Location: Huntington Station, Long Island, New York

Post by JayPro »

gorus wrote:
I hope you don't mind my volunteering the info...if it means a faster transferral of new material to your extras section.
JP--welcome back, btw--you may want to edit Alan's e-mail address out in case someone is running an e-mail harvester on this board... Just trying to save him from possible spam :)
Done.

Alan;

Sorry 'bout that. Just wanted to get things moving along.......
"God is syntax."

User avatar
chkman
Posts: 329
Joined: Mon Aug 08, 2005 12:36 pm
Location: Greensburg, PA

Post by chkman »

Wow, what I miss going to bed early!!

Sure JayPro, I don't mind other G-Forcers having it but of course, I already get enough spam.

Roger Bigod,

I'll check my email tonite and get anything sent posted ASAP! Of course I'll have to run off new scripts to include the new configs.

Roger Bigod
Posts: 29
Joined: Mon Aug 23, 2004 8:17 pm

Post by Roger Bigod »

Thanks for the info. It's good to see JayPro is posting and not staring at the ceiling of a hospital room.

I may be poky about uploading configs. I tend to putter around with them for a while and send out a batch.

User avatar
JayPro
Posts: 738
Joined: Sat May 01, 2004 10:51 pm
Location: Huntington Station, Long Island, New York

Post by JayPro »

Roger;

If you don't mind....maybe you can send me what you have??? ::beg beg beg grovel grovel grovel::

I like to tweak configs that other config artists have told me they're not quite fully satisfied with.

Pardon my impatience here; but the flow of new configs, either via subsequent GF releases or the Extras section, has been reduced to a bare trickle. this isn't to blame anybody...just a pissant observation.

And I'm of the opinion that this end of GF development should proceed with just as much oomph as other aspects.
"God is syntax."

User avatar
chkman
Posts: 329
Joined: Mon Aug 08, 2005 12:36 pm
Location: Greensburg, PA

Post by chkman »

Roger Bigod,

Did you send the email? I searched all folders and didn't see anything.
Can you post part of your address like the part before the @ for me to search on?

Roger Bigod
Posts: 29
Joined: Mon Aug 23, 2004 8:17 pm

Post by Roger Bigod »

Don't worry, I haven't forgotten about you. I'm just procrastinating.

Post Reply