Agent Movement Using Progressive Noise Distortion Field – Example 11.2


In this script we won’t be looking at anything really new, but will be showing perhaps a much more interesting vector field for our agents to travel through. I must give credit for the idea for this script. Again, it comes from the book “Generative Gestaltung” which is available in both German and English. In this book they use the processing language to animate these fields. There are definite advantages to the Processing version of this. The animations are beautiful and it can be changed much easier. But if you haven’t done it yet, download processing (it is free!) and check out this link and be mesmerized for a few hours. Then, come back here 😉

Script Setup

I will not put the script here. Basically you need to generate a vector field using Example 6.5, going up until Step Four in that example. Then simply plug these vectors into the script from Example 11.1 instead of the vectors from Step 01. That is it!

Variations Part 1


Note, for ALL of these examples, I used a starting angle of 15° from the norm. The field density is 30 x 30 points in the X and Y directions. The starting points for my field lines are the same as my vector starting lines.

In these first nine, I only gradually increased the X and Y noise between each frame. This can correspond to increasing irregularity in a surface. Notice that with this kind of vector field, when the agents navigate through the field, it looks an awfully lot like rivers moving across the surface of the earth. I will come back to this idea later, but the surface of the earth is a progressive noise distortion field, where the slope of the earth at one point is a relation to the slope of the earth at neighboring points. I can think of some river basins that look a lot like all of the fields (except for field 1 and 2. Generally flattish surfaces with poor drainage might look like 9. The other ones drain pretty well.

Variations Part 2


You can also have X and Y Vary in different directions. While still abstractions, this concept is analogous to structural landforms in the earth’s crust giving drainage patterns analogous to some of these fields, for example field 16. Look at the drainage pattern of rivers in the central Andes (Peru) or in the central Appalachian mountains (esp. Virginia and Pennsylvania) and you will start to see what I mean.

Note, these variations will change quite a bit with different random number seeds. You can have fun with this for hours… but not as much as the processing version. But by putting it into grasshopper, I hope to be able to do some more design experiments in the near future. I’m particularly interested in seeing if there is a way to extract a 3D topography from these 2D patterns. I think it is possible, but my work is cut out for me…

Another interesting thing to note is these fields, much like river systems, form branching patterns. Once two lines converge to the same general track, they navigate the field in the same way. Braided patterns can form, but only when there is a lot of vector turbulence, that is, the inertia vectors of two converging sets of lines are different enough that they could move apart again… interesting to think about