PDA

View Full Version : Aurora_Cell-DLA


aurora
10-23-2007, 02:23 PM
Heres the beginning results from a job where in I needed to create both images and animations of gold wire crystal growth which like all great fractals in nature can be reduced to some funky math, in this case dla's (diffusion limited aggragates).

Right now this is a standalone workbench app that creates density maps in png format as well as lwo files. In addition I have quickly added the basis of a cellular automata core as well. Once I have it doing everything I want I'll convert the app to a LW plugin. As a plugin it will be a two parter in a modeler and a layout version. The modeler version will only create points or point polys your choice and you will have to determine the growth time before generation. The layout version will do the same as the modeler version but will also create the growth of the dla/cellular automata over time for growth animations.
One word of warning by the very nature of these things it takes time for them to grow as you'll note below. I currently do not have this working with multi-processor's as I'm not sure if it will work if I try it but am still researching that route.

The first image is the a gold wire crystal in just 2 dimensions. This is basically why I needed to create the dla app in the first place. Growth calc time 30 minutes total nodes (HV's) 102,000. Rendered with sprite HV's render time 5.6 seconds.
http://www.auroragrafx.com/images/a_agg/dla_2d_oct2307.jpg



The second image is a 3 dimensional dla (right now I can do 2,3 or 4 dimensional dla's but can add higher dimension aggregation if I really wanted to. Growth calc time 120 minutes total nodes (HV's) 157,000. Rendered with sprite HV's render time 7.3 seconds.
http://www.auroragrafx.com/images/a_agg/dla_3d_oct2307.jpg



Here's a link to a turntable animation of the above 3D DLA.
dla_3d.mov (http://www.auroragrafx.com/images/a_agg/dla_3d.mov)

aurora
10-23-2007, 02:42 PM
I guess you could also grow ice crystals, snow flakes etc?
yep, plus plants like bushes among many other things.

LAV
10-24-2007, 08:00 AM
Really interesting.
I'm very curious to know what kind of cellular world you can manage with your plug.
Can the user manage the rule(s)?
Can the user interact with the growing process?
Is the growing process determined via a standard nodal tree?
Has the cellular node an extra value (as speed in attractors) to tune hv?

:) A great interest is (cellular) growing here at my desk :D

aurora
10-24-2007, 09:22 AM
Can the user manage the rule(s)?
Yes, there's a small a handful of parameters that dictate how these grow and you have control of them. With the cellular automata theres a lot more parameters and thus more control.

Can the user interact with the growing process?
Kinda of, sort of. Each node(cell) has its own field surrounding it as well other physical parameters and there is already some dynamic interaction with them and you can control all that as well. When this goes plugin you, of course, will have envelopes for all parameters. Does that satisfy your hopes?

Is the growing process determined via a standard nodal tree?
The dla's are controlled by a core equation with some major sets within that core to dictate what will happen, kinda like switching an attractor equation for a strange attractor app. Same with the cellular automata but even more so then with dla's as you have alot more control over variations. As for going nodal, have not broached that concept yet. I'm working on the core engine right now as a standalone workbench completely independent of LW. Well not 'completely' independent as I am saving out .lwo files right now if I set that switch. The hope right now is that I can take this into a new node editor with nodal control. Should deff be possible with the cellular automata but the dla, errr no promises so it may break up into two separate apps. I'm hoping I can combine the cellular automata rules, created in nodes, to control dla's that's what I will be working on after I add a real OGL gui sub-core to speed up testing. I'm also working on a concept of making the OGL display as a special preview viewer for LW as well. Not sure if you can get live iteration with a nodal core but since FPrime can, well I'm no Worley but at least the possibility exists.

Has the cellular node an extra value (as speed in attractors) to tune hv?
Lots of parameters for cellular automata, a healthy handful for dla's, and hopefully the use of cellulars inside the dla's hence why I have titled it together.

I'm very curious to know what kind of cellular world you can manage with your plug.
With you I'm extremely curious too. Right now I'm finishing off the gold wire crystal stuff and next week will be trying the 4d dla's for a wolf-rayet hypernova animation.


I'll have a simple short dla growth animation later today.

LAV
10-24-2007, 11:46 AM
Kinda of, sort of. Each node(cell) has its own field surrounding it as well other physical parameters and there is already some dynamic interaction with them and you can control all that as well. When this goes plugin you, of course, will have envelopes for all parameters. Does that satisfy your hopes?
Envelopes!? This goes beyond my hopes! You mean that I can vary the interaction of the automata with every single parameters along the time?
THIS would be dinamism! (I like to suggest you a book: F. Capra, The Tao of Physics... but probably you know it).

Lots of parameters for cellular automata, a healthy handful for dla's, and hopefully the use of cellulars inside the dla's hence why I have titled it together. Great, even if I can't figure them :)


With you I'm extremely curious too. Right now I'm finishing off the gold wire crystal stuff and next week will be trying the 4d dla's for a wolf-rayet hypernova animation.

From a dendritic microcosmus to a giant dance. My compliments

aurora
10-24-2007, 02:52 PM
OK so heres a quick demo of a 3d dla growing to show you what they are like for anybody unfamiliar with them. Basically since this is not currently a LW plugin I saved each growth phase out as a separate file, brought them each into a single master file with each phase on its own layer (and in layout its own frame) and then used a HV dissolve curve to phase each in and out. In the real plugin you won't have to do all that, each phase will be its own frame automatically.

This 3d dla at its final size has 5,900 HV's, generated over 102 steps and took 57 seconds to calculate and write each file out. More to come later showing different things you can create with dla's and course demo's of cellular automata.

3Ddla_growth.mov (http://www.auroragrafx.com/images/a_agg/growth.mov) (right click save as)

aurora
10-28-2007, 03:49 PM
Good news, I just cut the calc time in half and soon will be able to cut it half again!!!! Sadly I'll also be slowing it down a hair to when I finish hooking up the OGL drawing and gui code but it will still be running more then twice as fast as it was up to this morning!

warrenwc
10-29-2007, 08:11 PM
Wow again!
Really nice.

:thumbsup:

aurora
10-30-2007, 11:10 AM
Since this is a app work in process more then gallery images continued updates on the project will be accessible on 3DRecursions.
http://3drecursions.com/forum/viewtopic.php?p=2150#2150

dwburman
11-01-2007, 09:42 AM
Are you using the object sequence feature in layout to get the animation?

aurora
11-01-2007, 10:17 AM
Nope, not in the above 'growth' clip nor the final really working app. That growth one was just a fast hack together just to show what DLA's look like while generating for those that are unfamiliar with DLA's.
After spending way to much time trying to get plugins to work with some extremely large and utterly complex particle sets I'm now moving totally away from plugins. Instead these and my others will be standalone apps that will create LW particle files which can be used in Layout.

StevieB
11-01-2007, 12:10 PM
AMAZING! Thats stinking awesome dude!