Cham wrote:
t00fri wrote:
Did you achieve this by stopping the active particle's 3d random walk (and adding a new particle), when the active particle came closer than some small distance to a fixed taget particle? Or did you just use/adapt one of the Mathematica code examples available in the net? Did you inject the new particles from a spherical surface or from a cube around the 3d structure?
The iteration starts from a single point located at the origin. Then multiple Normal Gaussian walks start in any direction, one step at a time, with constraints so the paths doesn't cross the neighbors paths.
Aha, that's not the 'canonical' DLA scenario where particles are
moving-in from outside some characteristic distance from the central seed particle. The moving particles are
attracted by the central target. The random walk stops either when the active particle collides with a target or gets sufficiently close at least.
Instead, your random walks propagate from the center outwards. But what makes them stop in this setting?? As you described it, the active particle gets increasingly distant from its starting position. It's a
repulsive DLA variant so to speak.
Quote:
I don't do this on a lattice anymore, because the lattice is visible in Celestia, even if the resolution is high and even after "pushing" each point at random.
Mathematica is highly ineficient at this kind of stuff. The DLA code is very slow. Random walks alone are MUCH faster, in comparison.
Working with
float positions is naturally much slower than using lattice-bound
integer coordinates for the random walks. I am surprised that one can see the lattice structure for sufficiently big lattices. I suppose you read in your resulting shapes as CustomTemplates, right?
Maple offers a convenient automatism for substantial speed increase by auto-converting speed - critical procedures to C|C++|Fortran code and auto - compiling that code. The resulting object files can then be used like other procedures in Maple. I would be surprised if Mathematica doesn't offer this, too? In Maple the user doesn't need any detailed knowledge of C/C++/Fortran.
In celestia.Sci I code and optimize things of course directly in C++. But Maple | Mathematica is clearly a useful tool for exploring various alternatives.
Fridger