POV-Ray : Newsgroups : povray.binaries.animations : Re: Particle interaction (MPEG1) Server Time
2 Nov 2024 17:17:13 EDT (-0400)
  Re: Particle interaction (MPEG1) (Message 1 to 8 of 8)  
From: Bill DeWitt
Subject: Re: Particle interaction (MPEG1)
Date: 23 Nov 2001 18:24:32
Message: <3bfedab0$1@news.povray.org>

>
> but they're repelled if they're too close.

    I think there might be a bug in this part, there is a very good example
in the lower left corner as it gets near the end. A small, separate blob
seems to be shedding smaller blobs which shoot off into the air. I think
that rather than repelling, you might just have them return to a set
distance determined by gravity and terrain.


Post a reply to this message

From: JPGargoyle
Subject: Re: Particle interaction (MPEG1)
Date: 23 Nov 2001 20:12:03
Message: <3bfef3e3@news.povray.org>
Pretty cool!

Looks  a lot like mercury :)


news:3bfed003@news.povray.org...
> I added a routine in my code which manages some cohesion between
particles.
> I took ages to complete the simulation (10,000 particles) and it also took
> ages to render (more than 20 hours) because I used a partially reflective
> texture for the blobs. However I don't think it the reflection was worth
the
> extra time. Maybe a higher setting for reflection would have looked much
> better.
>
> My idea was to simulate mercury, as it behaves much more like this.
>
> My cohesion algorithm is basically: if the particles touch each other,
then
> they attract each other a bit, but they're repelled if they're too close.
> There's a big set of particles at the end of the animation that seem to be
> experimenting this effect, but I don't really see the effect on the rest
of
> the system...
>
> I'll be happy to receive your opinions.
>
> Fernando.
>
> ps. Sorry for the file size, but I tried lower bitrates and it looked very
> bad.
>
>
>


Post a reply to this message

From: David Buck
Subject: Re: Particle interaction (MPEG1)
Date: 23 Nov 2001 23:22:42
Message: <3BFF20E8.F99D6608@simberon.com>
> My cohesion algorithm is basically: if the particles touch each other, then
> they attract each other a bit, but they're repelled if they're too close.
> There's a big set of particles at the end of the animation that seem to be
> experimenting this effect, but I don't really see the effect on the rest of
> the system...

How are the particles repelled if they're too close?  Are they repelled more
strongly if they get even closer?  The reason I ask is that I think I see some
effects of increased energy in the middle of the animation (particles flying in
all directions).  This can happen if you use Euler and have strong forces.
Particles that are very close together can create immense forces to push them
apart.

An alternative (but more complicated) is to use a technique called Adaptive
Runge Kutta instead of Euler.  Adaptive Runge Kutta is much more stable and is
much less likely to give increases in energy during the animation.
Unfortunately, it will probably slow down the calculation of the physics.  If
you're stepping your particle system once for every frame with the Euler method,
Adaptive Runge Kutta will (at best) be 4 times slower.  I can provide references
if you like.

David Buck
Simberon Inc.
www.simberon.com


Post a reply to this message

From:
Subject: Re: Particle interaction (MPEG1)
Date: 23 Nov 2001 23:52:35
Message: <3bff2793@news.povray.org>
"David Buck" <dav### [at] simberoncom> wrote in message
news:3BFF20E8.F99D6608@simberon.com...
> > My cohesion algorithm is basically: if the particles touch each other,
then
> > they attract each other a bit, but they're repelled if they're too
close.
> > There's a big set of particles at the end of the animation that seem to
be
> > experimenting this effect, but I don't really see the effect on the rest
of
> > the system...
>
> How are the particles repelled if they're too close?  Are they repelled
more
> strongly if they get even closer?  The reason I ask is that I think I see
some
> effects of increased energy in the middle of the animation (particles
flying in
> all directions).  This can happen if you use Euler and have strong forces.
> Particles that are very close together can create immense forces to push
them
> apart.
>
> An alternative (but more complicated) is to use a technique called
Adaptive
> Runge Kutta instead of Euler.  Adaptive Runge Kutta is much more stable
and is
> much less likely to give increases in energy during the animation.
> Unfortunately, it will probably slow down the calculation of the physics.
If
> you're stepping your particle system once for every frame with the Euler
method,
> Adaptive Runge Kutta will (at best) be 4 times slower.  I can provide
references
> if you like.
>
> David Buck
> Simberon Inc.
> www.simberon.com

It seems that I have solved the problem. I'm using Euler's method, but I
believe that the problem of the increased energy was caused by my "cohesion"
subroutine... I rewrote it using an approximate Newton's method and it seems
that it gives much better results!!! I waiting for the final frames to
render so I can post the new animation soon.

I think I will try now with different surfaces before changing the physics'
simulation. As you may have seen, I have been using lathe surfaces, so I
will have to change some code in order to use more complex surfaces.

Later, if I decide to use Runge Kutta, I'll be glad to use your kind offer.

Thanks again,

Fernando.


Post a reply to this message

From: Peter Popov
Subject: Re: Particle interaction (MPEG1)
Date: 24 Nov 2001 11:39:52
Message: <6n8vvt8e3a9g90mu7s57q8led8sldeblne@4ax.com>
On Fri, 23 Nov 2001 23:24:09 -0500, David Buck <dav### [at] simberoncom>
wrote:

>An alternative (but more complicated) is to use a technique called Adaptive
>Runge Kutta instead of Euler.  Adaptive Runge Kutta is much more stable and is
>much less likely to give increases in energy during the animation.

Implicit Euler should do as a start as it won't require much rewriting
and is almost as fast. That, or central differences. This is a simple
project, Runge-Kutta (Adams, too) may, IMHO, be overkill.


Peter Popov ICQ : 15002700
Personal e-mail : pet### [at] vipbg
TAG      e-mail : pet### [at] tagpovrayorg


Post a reply to this message

From: Data
Subject: Re: Particle interaction (MPEG1)
Date: 24 Nov 2001 16:01:22
Message: <3c000aa2@news.povray.org>
lix.pt> wrote in message news:3bfef3e3@news.povray.org...
> Pretty cool!
>
> Looks  a lot like mercury :)
>
Agreed. I thought of mercury after seeing it (without reading the post
first)


Post a reply to this message

From: David Buck
Subject: Re: Particle interaction (MPEG1)
Date: 24 Nov 2001 23:26:41
Message: <3C007357.437E73BC@simberon.com>
Peter Popov wrote:
> 
> On Fri, 23 Nov 2001 23:24:09 -0500, David Buck <dav### [at] simberoncom>
> wrote:
> 
> >An alternative (but more complicated) is to use a technique called Adaptive
> >Runge Kutta instead of Euler.  Adaptive Runge Kutta is much more stable and is
> >much less likely to give increases in energy during the animation.
> 
> Implicit Euler should do as a start as it won't require much rewriting
> and is almost as fast. That, or central differences. This is a simple
> project, Runge-Kutta (Adams, too) may, IMHO, be overkill.
> 
> Peter Popov ICQ : 15002700
> Personal e-mail : pet### [at] vipbg
> TAG      e-mail : pet### [at] tagpovrayorg

I do believe in doing the simplest thing that could possibly work. 
Although Runge Kutta isn't really all that hard, it may not be needed. 
That last animation is looking much better.  Here's the test:  If you
still use Euler but decrease the step size (step the particle system 10
times for every frame instead of one time for every frame) and the
quality of the result improves, then you know you are having problems
with Euler.  If the result is about the same, the problem is elsewhere. 
If you are having problems with Euler, you should consider other
differential equation solvers like Runge Kutta or Adams (I'm not
familiar with Implicit Euler, so I can't comment on it).  They are
normally needed when the equations get "stiffer".  In this case, it
means that you have stronger forces pushing your particles.  In general,
the stronger the force on the particles, the stiffer the equations
become.  It's ironic, but soft springy systems are easier to simulate
than more rigid ones.

In any case, do the simplest thing possible that makes the system work
for you.  Try increasing the number of steps per frame and see if that
helps.  If not, switching to another differential equation solver won't
help either.

David Buck
Simberon Inc.
www.simberon.com


Post a reply to this message

From: Peter Popov
Subject: Re: Particle interaction (MPEG1)
Date: 26 Nov 2001 06:16:38
Message: <nv840ucsmlba8278vfo4o3ple5906livct@4ax.com>
On Sat, 24 Nov 2001 23:28:07 -0500, David Buck <dav### [at] simberoncom>
wrote:

>In any case, do the simplest thing possible that makes the system work
>for you.  Try increasing the number of steps per frame and see if that
>helps.  If not, switching to another differential equation solver won't
>help either.

David Baraff & Andrew Witkin's course notes are available at Pixar's
site. They really do explain things well, better that I could, anyway.


Peter Popov ICQ : 15002700
Personal e-mail : pet### [at] vipbg
TAG      e-mail : pet### [at] tagpovrayorg


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.