Chelle

Knots in a Dynamic Medium

Recommended Posts

Chelle    191

Hi,

I am working on a Zero-player game, a bit like Conway's Game of Life, where cells fluctuate based on surrounding cells, and where the goal to generate Knots within a Dynamic Medium.

To get a sense of such a dynamic network think of a foam with bubbles (volumes) where a micro-fluid runs through the edges (currents). These currents move from high to low pressure, forming circuits. The intensity of the fluid passing the bubbles can make the bubbles shrink or expand. Some currents will be able to line up and form closed circuits. 
 
In 2D these structures are simple loops, in 3D these loops can form strings, and in a next step these strings form again closed-circuits -> knots.
 
Steps.jpg.df9520cb7e4dafcb1d73f9c8eb9ccc36.jpg

One way to get a volumes and current model going was by using Boid-particles and Fields. Recently I have developed in Processing (particle_fields2.pde + particle_fields4.pde + Manual2.pdf ) with some help such a program. You can check 3 clips over here below or at : https://vimeo.com/user37290268

A. In the first version of the program (clip 3/3) the Volumes (red circles) keep their size while the boids flow (Current) inbetween and form a dynamic circuit.

Stable_2.png.8dae78f19dc4f34a039f7f33bb381680.png

B. In the second version (clip 2/3) the size of the Volumes is influenced by the number of particles (Current). This gives rise to a dynamic foam with volumes fluctuating.
 
chaos.png.0184432df19e62112aa1c4ae7ceee6d7.png
 
——
 
Now the use of Boids has its limitations whereby the fast expansion of Volumes causes the particles to be splattered around, interrupting the steady current.
 
A. stable flow vs. B. splashing:
 
SteadyWild.png.d94f34b69d6400018cfa39d4f6254189.png
 
——
Keeping those small-particles flowing is important, because a current-circuit gives rise to the organisational rules. To fix this problem I am now thinking of dual network model that replaces the micro-fluid, so now I am looking at a spring networks with volumes, graphs …
 
Therefor the idea of a more graph-ish model with fields that overlap and edges that replace the currents between the volumes:
 
Fields_currents.jpg.f34cade6e1b1d5f065e12b73cede26f5.jpg
 
• Having two Fields A.B. and in between from point a. to b. an edge.
 
• This edges (a.b.) can replace all the fluid moving between (A.B.)
 
• Edge (a.b.) can represents 1 or 1 million small fluid particles, or more.
 
• Between Field A. and B. a measurement of tension •-VVVVV-•  (A/B)
 
• The more tension between (A.B.) the less flow there can be in (a.b.)
 
• Inverse the more flow there is in (a.b.) the less tension between (A.B.)
 
• The edge (a.b.) runs through the Fields A. and B, cooling or heating up Fields A. and B.
 
• Through edge (a.b.) runs a current, the larger this current the bigger the Fields A. and B. become, expansion vs. shrinking, hot vs. cold, condense vs. vaporise.
 
• Once such a minimalistic format works, we can add multiple Fields and edges and start building a whole medium:
 
Shrink.jpg.9d781bfe9afaebb003d4509ac51b8408.jpg
 
• With the goal to find the right balance and of currents affecting the size of the fields, and creating a curling motion.
 
Roll_Flow_bubbles.gif.bea3281fbb6ac9becd42595693963c6f.gif
 
Here is the similarity with Game of Life where some currents are blocked and cells cool down and die (-), while other volumes get extra flow and expand and live (+)
 
GoL.gif.598e2c588a89a8e3951440c1e3ed725c.gif
 
——
 
BTW you are probably wondering, what the heck has this has got to do with Knots within a Dynamic Medium?
 
Mh, well, the knots should emerge by chance and necessity. If the interaction between the Fields and Currents can start to form curling motions (fingers crossed)…
 
Curling_Fields.jpg.9f1d0916da26fecafac8389d7590f42a.jpg
 
… than these curls can start to curl themselves and form closed loops:
Next these curled loops act like these folkore dansers weaving strings:
 
folk_dance.jpg.4b539118209b30e6a6eb1c83aa207e4b.jpg
 
And these string can again curl into a knotted ring.
 
knottedRing.jpeg.c1cf98185cc5bde3a3acd859a2a2bb9f.jpeg
 

——

That's it a few lines : )

So I am looking for someone to help me with on the one hand a physics engine maybe Position Based Dynamics, for the underlying spring network between the circles, or perhaps a purely mathematical system based on the relationships between triangulations; and on the other hand help to built on top a hierarchical structure for the neighbour queries to be efficient.
 
All feedback, suggestions and questions are more than welcome!
 
Cheers,
 
Michel
 
p.s. a note to the moderators, I wanted to post this Topic at first in the Math and Physics section, but perhaps it's better here, dunno.
 
Triangulations_coins.png.c04cbbb0a1bf39bdba92d4e01ff66985.png
Edited by Chelle

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now