POV-Ray : Newsgroups : povray.animations : particle_system movie : Re: particle_system movie Server Time
28 Jul 2024 18:18:47 EDT (-0400)
  Re: particle_system movie  
From: Chris Huff
Date: 4 Jul 2000 14:38:26
Message: <chrishuff-756EFA.13383504072000@news.povray.org>
In article <39620fe4@news.povray.org>, "Rune" <run### [at] inamecom> 
wrote:

> OK. I guess this method will produce results that are entirely different
> depending on the number of frames and so on.

No. If a fixed amount is calculated per frame, the amount of time which 
passes will be tied to the number of frames, so if you double the number 
of frames, you double the amount of time which passes. If you take 
clock_delta into account, this won't happen, the same amount of time 
will always have passed by the last frame.


> If I understand this right, I think it can produce very consistent 
> results independent on the frames, but not *entirely* consistent. If 
> you have a very long animation with thousands of frames, the result 
> in the end of the animation may vary a lot dependent of the number of 
> frames, and so on, because a lot of small calculation differences 
> have "piled up" through the animation. Am I right?

No. The particle system is just "paused" at the end of each frame, and 
restarted later for a certain amount of time, so there are no 
inconsistencies. The only difference between using a fixed amount of 
simulation time/cycles per frame and either using a clock_delta 
dependant value or recalculating the whole system is the amount of time 
that has passed by the end of the animation.


> > If you recalculate the entire system from the start each frame,
> > you can make it independent of the number of frames.
> However, this takes a lot of time in scenes with complex particle 
> systems, right? Isn't that the reason you made the option of not 
> recalculating each time?

It does, and it is.


...
> Using the method described above, the entire course of the particles 
> are calculated the same way always, independent from the number of 
> frames, and yet we don't have to recalculate in every frame!
> 
> So what do you say? Would this work?

It would work...but is completely unnecessary, since stopping and 
restarting the system has no effect on it. And it would remove most of 
the animation capabilities, since you wouldn't be able to change things 
as the animation progresses.

There are three methods of animation:
0: Particle system is non-persistent, and is calculated a certain 
clock-dependant amount per frame. The amount of particle system time 
which has passed by the end of the animation does not depend on the 
number of frames, but the whole system has to be calculated from the 
start for each frame.
Advantages: Easy/quick to code.
Disadvantages: Can take a long time to calculate the system, especially 
if fluid particles and inter-particle forces are used. The whole series 
of calculations has to be repeated for each frame.

1: Particle system is persistent, and is further calculated a certain 
fixed amount per frame. The amount of particle system time which has 
passed by the end of the animation depends on the number of frames.
Advantages: small calculation time per frame, you can animate moving 
emitters/etc in simulation time.
Disadvantages: simulation length depends on number of frames. The 
results of the system are the same, they just progress further for more 
frames.

2: Particle system is persistent, and is further calculated a certain 
amount per frame, like #1, but the amount of calculation done per frame 
depends on the clock_delta value, so it is shorter with more frames. The 
amount of particle system time which has passed by the end of the 
animation and the final results of the system remain the same, 
independant of number of frames.
Advantages: small calculation time per frame, you can animate moving 
emitters/etc in simulation time. Also, it doesn't have the problem of 
#1, it always runs the same amount of time, independant of frame number. 
More frames simply means the simulation is paused at more points.

-- 
Christopher James Huff - Personal e-mail: chr### [at] maccom
TAG(Technical Assistance Group) e-mail: chr### [at] tagpovrayorg
Personal Web page: http://homepage.mac.com/chrishuff/
TAG Web page: http://tag.povray.org/


Post a reply to this message

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