POV-Ray : Newsgroups : povray.advanced-users : Yet another particle system... : Re: Yet another particle system... Server Time
29 Jul 2024 10:17:49 EDT (-0400)
  Re: Yet another particle system...  
From: Andrew Cocker
Date: 6 Jun 2002 15:14:15
Message: <3cffb487@news.povray.org>
Count me in as a beta-tester also.

All the best,
Andy Cocker


"Raphael Quinet" <qui### [at] gamersorg> wrote in message
news:pan### [at] gamersorg...
> Hi everybody!
>
> I have been working on a POV particle system some time ago.
> Unfortunately, my main hard disk crashed last month and I could not
> recover these include files from my backups.  So I spent some time
> re-writing it from scratch and it starts being usable again.  It uses
> several features from POV-Ray 3.5 beta, so it will not work with 3.1
> or with MegaPov (although it could work with MegaPov if some macros
> are adapted).
>
> Now the system is almost ready for beta-testing.  If you want to be a
> beta-tester, I give you the opportunity to play with my particle
> system but I expect something back from you: bug reports, comments,
> suggestions for improvements, nice example scenes, and so on.  I do
> not know how much time I will be able to spend on this (I also have a
> life) so I make no promises about what will work or when it will work.
> But if this is OK for you and you are serious about beta-testing this
> stuff, then please send me an e-mail and I will tell you how to get
> the file (currently, everything is in one include file).  Some parts
> of the API may change during the testing period, so you should
> probably not expect to create anything really serious with this file.
>
> If everything works, I will soon post a first animation that I created
> with this system in the group povray.binaries.animations.
>
> Here is a list of features:
> - Free for commercial or non-commercial use, including distribution of
>   modified versions.  No credits required in scenes using this file.
> - Very flexible physics system using a procedural API similar to the
>   "Particle System API" described on
http://www.cs.unc.edu/~davemc/Particle/
>   although this one is entirely based on the POV SDL and supports
additional
>   features such as springs between particles, orientation/spin, etc.
> - Variable time step allowing a greater precision or faster speed;
automatic
>   adjustment during animation to match the timing of the frames.  The
number
>   of iterations is decoupled from the number of frames, so it is possible
to
>   generate a preview animation with less frames.
> - Can be used for still images, animations and cyclic animations.
> - For testing or for special effects, it is possible for all particles to
>   leave a visible trace of their path (using cylinders or a sphere_sweep).
> - The particles can be generated by different types of sources: simple
shapes
>   such as disc, box and others, or inside any solid POV object, or on the
>   surface of any POV object.
> - Any transformation can be applied to the sources, so they can move
freely.
> - For an animation, the particles are generated from the source(s) at a
>   specified rate even if the time step or number of frames changes.
> - The particles can bounce or glide on the surface of any object.
> - A simple model of contact forces on the surface of an object allows to
>   create some effects such as dripping water (water drops under an
object).
> - It is possible to have several particle systems in one animation.  A
>   particle from one system can become a source for another system or can
>   trigger a new source when it hits something.  This can be used to create
>   a splash in the water after an impact from a particle or to have smoke
>   trails following several moving particles.
> - Many forces and actions can be applied to all particles or only to the
>   particles that are in a specified region of space.  For example,
particles
>   falling into the water will be subject to different conditions (viscous
>   drag) than the ones that are moving in the air.
> - Because everything is based on a procedural API, it is possible to
change
>   almost anything in the scene during the simulation: add or remove
sources,
>   change the gravity, wind or other forces, freeze or slow down the
system...
> - The procedural API could easily be integrated into POV-Ray itself: most
SDL
>   macros could be re-written as internal functions for greater speed.  The
>   syntax could even be the same as the current one.
>
> Things that are still missing:
> - I still have to add some macros for simulating complex behaviours:
following
>   some particles, trying to increase or decrease the average distance
between
>   the particles in a given neighbourhood, etc.  I am planning to implement
>   some of the "boids" behaviours.
> - The current system uses a very simple integrator (Euler's method).  This
is
>   fine for most simple cases but it does not work well if very stiff
springs
>   are used (the system becomes unstable).  I should use a better
integrator
>   (Heuns, Midpoint, 4th order Runge-Kutta, ...) but re-evaluating the
forces
>   and velocities at several points in time is not easy in a system based
on a
>   loop that calls several macros.  Maybe I should merge pps_move() into
>   pps_iterate() and then tell the user that the time may go back and forth
>   during the iterations.  Suggestions are welcome...
> - I have to add some example scenes.  I need more examples of materials
that
>   can be used for the particles in order to simulate fire, smoke, etc.
> - The only documentation available for the moment is in the include file
>   itself (lots of comments).  I should write a separate documentation
file.
>
> Note that due to the hard disk crash that I experienced, I am
> currently not able to update my web site (as listed in my signature)
> so you will not find any POV-Ray stuff there, yet.
>

> --
> http://www.gamers.org/~quinet/


Post a reply to this message

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