POV-Ray : Newsgroups : povray.advanced-users : Yet another particle system... Server Time
29 Jul 2024 12:28:56 EDT (-0400)
  Yet another particle system... (Message 1 to 5 of 5)  
From: Raphael Quinet
Subject: Yet another particle system...
Date: 6 Jun 2002 12:50:31
Message: <pan.2002.06.06.16.50.29.747353.12771@gamers.org>
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

From: Rune
Subject: Re: Yet another particle system...
Date: 6 Jun 2002 13:36:04
Message: <3cff9d84@news.povray.org>
Wow, this sounds like the ultimative particle system, more or less! :O

It was my intention sometime, probably some years from now, to write a
system like the one you describe, but now you say that you have already
made such a system...

Please count me in as a beta tester! I won't be able to report back on a
day-to-day basis, but I will come with constructive feedback when I have
had time to test it properly.

Rune
--
3D images and anims, include files, tutorials and more:
Rune's World:  http://rsj.mobilixnet.dk (updated May 20)
POV-Ray Users: http://rsj.mobilixnet.dk/povrayusers/
POV-Ray Ring:  http://webring.povray.co.uk


Post a reply to this message

From: Andrew Cocker
Subject: Re: Yet another particle system...
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

From: Alun
Subject: Re: Yet another particle system...
Date: 31 Jul 2002 07:56:03
Message: <web.3d47d0328cb63c45c69126280@news.povray.org>
Raphael Quinet wrote:
>Hi everybody!
>

Hi Raphael,

>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).

Sounds cool.

>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).  [...]

I'd love to be a beta-tester please!
(couldn't see your e-mail address in your post, and our firewall at work
wont let me see your web site, so I'm having to post a public reply)

Thanks,
Alun.


Post a reply to this message

From: Alun
Subject: Re: Yet another particle system...
Date: 2 Aug 2002 08:30:05
Message: <web.3d4a7b158cb63c45c69126280@news.povray.org>
>>[...]If you want to be a beta-tester, [....] then please send me an
>>e-mail and I will tell you how to get
>>the file (currently, everything is in one include file).  [...]
>
>I'd love to be a beta-tester please!
>(couldn't see your e-mail address in your post, and our firewall at work
>wont let me see your web site, so I'm having to post a public reply)

Just realised that you probably can't see my e-mail address either!
I can't see it on my post (possibly a problem with the web interface?).
Anyway, I'm: tho### [at] lineonenet with the usual replacement of
the@symbol.

Cheers,
Alun.


Post a reply to this message

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