POV-Ray : Newsgroups : povray.general : Liquid-Surface-Simulation-Macros released! Server Time
4 Aug 2024 16:15:33 EDT (-0400)
  Liquid-Surface-Simulation-Macros released! (Message 11 to 17 of 17)  
<<< Previous 10 Messages Goto Initial 10 Messages
From: Tim Nikias v2 0
Subject: Re: LSSM Update!
Date: 25 May 2003 19:55:01
Message: <3ed157d5$3@news.povray.org>
I'm not quiet sure what you're after here.

But to make one thing clear: the algorithm
works by taking the difference from the equilibrium
height (where the surface is fully calm), and spreads
the heights out until they are dampened away. During
this process they get reflected off of walls etc.

What you're suggesting seems to me like positive
waves rolling down a surface, while negative waves
would roll up the surface (all discrepancies are handled
the same way). It could be possible that it looks like
water-trails rolling down a hill, but that has to
experimented with. And the macros so far just work
on a rectangular grid, which should cover a lot of
effects where water is being used, but this doesn't
make it easier to apply onto hills...


-- 
Tim Nikias v2.0
Homepage: http://www.digitaltwilight.de/no_lights
Email: Tim### [at] gmxde

> How about using a particle system style thing to 'add' positive amounts
> at the top of a sloped surface and something to 'delete' some of the
> 'surface' at the bottom, so that you get flowing water as the algorithm
> tries to stabilize a surface that is literally being continually
> destablized at both ends? Would something like that work? All of your
> samples assume a 'flat' basin that has stable confinement.
>
> -- 
> void main () {

>     call functional_code()
>   else
>     call crash_windows();
> }


Post a reply to this message

From: Patrick Elliott
Subject: Re: LSSM Update!
Date: 26 May 2003 14:20:49
Message: <MPG.193c08bbabe5ce4d9897f9@news.povray.org>
In article <3ed157d5$3@news.povray.org>, tim### [at] gmxde says...
> I'm not quiet sure what you're after here.
> 
> But to make one thing clear: the algorithm
> works by taking the difference from the equilibrium
> height (where the surface is fully calm), and spreads
> the heights out until they are dampened away. During
> this process they get reflected off of walls etc.
> 
> What you're suggesting seems to me like positive
> waves rolling down a surface, while negative waves
> would roll up the surface (all discrepancies are handled
> the same way). It could be possible that it looks like
> water-trails rolling down a hill, but that has to
> experimented with. And the macros so far just work
> on a rectangular grid, which should cover a lot of
> effects where water is being used, but this doesn't
> make it easier to apply onto hills...
> 
> 
> 
You got it right. So the reality is a big 'maybe'. :p Figured if your 
macros worked then it would be a serious improvement over particle 
systems which so far have proven to be of questionable use for this sort 
of thing in what examples I have seen for them. I had figured that with
a stream you would place 'channel' through the scene which would contain 
the surface and any rocks, etc. to be interacted with, then hide both 
ends so that that addition off positive and negative waves at the two 
ends would not be visible. For something like a water trails a particles 
system would still be best, though getting the particle sizes small 
enough to avoid having it look stupid (as in most cases I have seen so 
far) isn't exactly easy. For a real stream though... Definitely going to 
have to play with this thing a bit one of these days. lol

-- 
void main () {

    call functional_code()
  else
    call crash_windows();
}


Post a reply to this message

From: Florian Brucker
Subject: Re: LSSM Update!
Date: 27 May 2003 08:26:55
Message: <3ed3598f@news.povray.org>
Hey all
> For something like a water trails a particles system would still be best
Perhaps you should have a look at Rune's great particle system. It has no
mass-mass-collision-detection between the particles themselves (only
paritcle-environment), so filling a glass with water is not possible (all
the particles would stay on the bottom). But it makes wonderful streams,
waterfalls, fountains and even explosions. You can get it from
http://www.runevision.com

hth,
florian


Post a reply to this message

From: Patrick Elliott
Subject: Re: LSSM Update!
Date: 27 May 2003 14:53:31
Message: <MPG.193d61e0b8bf5f399897fb@news.povray.org>
In article <3ed3598f@news.povray.org>, tor### [at] torfboldcom says...
> Hey all
> > For something like a water trails a particles system would still be best
> Perhaps you should have a look at Rune's great particle system. It has no
> mass-mass-collision-detection between the particles themselves (only
> paritcle-environment), so filling a glass with water is not possible (all
> the particles would stay on the bottom). But it makes wonderful streams,
> waterfalls, fountains and even explosions. You can get it from
> http://www.runevision.com
> 
> hth,
> florian
> 
> 
> 

Yes, but I am not looking for water trails or the like, but the sort of 
real stream that is a transparent surface (not particulate) and is merely 
perturbed by any rocks or the like is interacts with. Now combining 
particle systems into this so that say an area where you get spatter and 
splashes would emit particles that when they hit add to the positive wave 
of this Tim's system would be very handy. However, as you mention, 
neither particle systems not this one can effectively simulate every 
situation. Making some provisions for some combination of them, assuming 
that my theoretical use of Tim's macros will work would provide better 
realism. Though actually... For it to really work right you would need a 
combinational system that only emitted particles when a 'wave' crested 
and began to collapse again. So that the 'spray' would be thrown from the 
edge of that wave. Tim's is easier for a standing pool and 'might' work 
for a river or stream.

Particle systems, especially with inter-particle reactions would be much 
slower to simulate the same thing (I assume) in and one reason why the 
examples often look horrid is that a 50 foot waterfall, for example, 
doesn't have droplets any larger than a 5 foot fountain. If you cheat, 
then you get a large structure with globs of water that visually are ten 
feet wide, but if you scale up the waterfall to a real size the number of 
particles needed skyrockets. Obviously you can't do much about the 
problem with 50 foot waterfalls, but if you are making a river and you 
want to show spray, then a perturbed surface, with a 'few' carefully 
placed particle emitters around some key rocks and which have the right 
droplet size, makes more sense than using a particle system for the 
entire thing. However, if Tim's macros can't simulate such a sloped 
surface effect...

I suspect however that is might, since a relatively flat river or stream 
could be thought of as one of his macros with one end open. I.e. water 
'joining' one end causes displacement, but the edges do not generate a 
return deflection unless the wave hits an intervening object. If all the 
added disturbance occurs at the 'high' end and the low end is open and 
just swallows the wave that reach it.... Guess that is the real question, 
can it be made to ignore the 'edges' of the surface as a deflection point 
and only treat intervening objects for that purpose. Though that is 
probably not something that it will do. :p

-- 
void main () {

    call functional_code()
  else
    call crash_windows();
}


Post a reply to this message

From: Tim Nikias v2 0
Subject: Re: LSSM Update!
Date: 27 May 2003 15:51:21
Message: <3ed3c1b9@news.povray.org>
If I've understood you correctly, you want a
possibility to create "wave-swallowing" effects,
meaning that waves hitting a certain region won't
get reflected, in order to create your river.

That should be possible. The effect of reflecting
waves happens because the height of the wave
gets spread out less where it can't spread onto
blocked nodes. But, if I'd just nullify the heights
at certain points, the waves won't move further
than there...

In fact, as I've put a possibility to call a macro
between every step, this could be used to create
just the "no-wave-reflection" effect you're after.
I'd have to look into that, especially since this
might be handy for other situations as well.

As for particle-wave interaction: You could always
use POV's trace-function to check if an arbitrary
positions intersects the water-mesh, and if it does,
just place a LSS_Drop at the correct coordinates.
Emitting particles from the system would be a little
more difficult I guess, but again, the macro which
may be called after every step might be useful for that,
combined with some other macros which keep track
of wave-heights and -changes...
But I'm not much into that specific part (particles)
at the moment. I'm currently under a little stress, but
I'll look at wave-swallowing effects as soon as possible.

Other than that, all I can say is that the system is
more suited for calm waves and a little effect than
storms... As I mention in the help: This isn't a fully-fledged
volume-preserving simulation. Its a neat little effect,
originating from 2D-pixel-displacement, so don't expect
too much of it... :-)

(I still think highly of it! I'm proud I've begun and
finished something worthwhile which someone might
actually use... :-)

-- 
Tim Nikias v2.0
Homepage: http://www.digitaltwilight.de/no_lights
Email: Tim### [at] gmxde

> > Hey all
> > > For something like a water trails a particles system would still be
best
> > Perhaps you should have a look at Rune's great particle system. It has
no
> > mass-mass-collision-detection between the particles themselves (only
> > paritcle-environment), so filling a glass with water is not possible
(all
> > the particles would stay on the bottom). But it makes wonderful streams,
> > waterfalls, fountains and even explosions. You can get it from
> > http://www.runevision.com
> >
> > hth,
> > florian
> >
> >
> >
>
> Yes, but I am not looking for water trails or the like, but the sort of
> real stream that is a transparent surface (not particulate) and is merely
> perturbed by any rocks or the like is interacts with. Now combining
> particle systems into this so that say an area where you get spatter and
> splashes would emit particles that when they hit add to the positive wave
> of this Tim's system would be very handy. However, as you mention,
> neither particle systems not this one can effectively simulate every
> situation. Making some provisions for some combination of them, assuming
> that my theoretical use of Tim's macros will work would provide better
> realism. Though actually... For it to really work right you would need a
> combinational system that only emitted particles when a 'wave' crested
> and began to collapse again. So that the 'spray' would be thrown from the
> edge of that wave. Tim's is easier for a standing pool and 'might' work
> for a river or stream.
>
> Particle systems, especially with inter-particle reactions would be much
> slower to simulate the same thing (I assume) in and one reason why the
> examples often look horrid is that a 50 foot waterfall, for example,
> doesn't have droplets any larger than a 5 foot fountain. If you cheat,
> then you get a large structure with globs of water that visually are ten
> feet wide, but if you scale up the waterfall to a real size the number of
> particles needed skyrockets. Obviously you can't do much about the
> problem with 50 foot waterfalls, but if you are making a river and you
> want to show spray, then a perturbed surface, with a 'few' carefully
> placed particle emitters around some key rocks and which have the right
> droplet size, makes more sense than using a particle system for the
> entire thing. However, if Tim's macros can't simulate such a sloped
> surface effect...
>
> I suspect however that is might, since a relatively flat river or stream
> could be thought of as one of his macros with one end open. I.e. water
> 'joining' one end causes displacement, but the edges do not generate a
> return deflection unless the wave hits an intervening object. If all the
> added disturbance occurs at the 'high' end and the low end is open and
> just swallows the wave that reach it.... Guess that is the real question,
> can it be made to ignore the 'edges' of the surface as a deflection point
> and only treat intervening objects for that purpose. Though that is
> probably not something that it will do. :p
>
> -- 
> void main () {

>     call functional_code()
>   else
>     call crash_windows();
> }


Post a reply to this message

From: Tim Nikias v2 0
Subject: Re: LSSM Update!
Date: 28 May 2003 13:13:18
Message: <3ed4ee2e$1@news.povray.org>
I tried swallowing waves by setting certain
nodes to zero-height, but this has the same
effect as a wall does, waves get reflected.
I think this is due to how the heights of nodes
are gathered and averaged to spread the
waves, a zero height is still different than what
the travelling wave would have been, and
voila: the wave seems to get reflected.

The only other solution I could think of would
be to pass the wave heights on to a next node,
much like pushing the waves downstream...
The top line, which can't get data from anywhere,
will then just randomly create new heights.

I'll cook up the code and post it in binaries.animations
shortly.

-- 
Tim Nikias v2.0
Homepage: http://www.digitaltwilight.de/no_lights
Email: Tim### [at] gmxde

> If I've understood you correctly, you want a
> possibility to create "wave-swallowing" effects,
> meaning that waves hitting a certain region won't
> get reflected, in order to create your river.
>
> That should be possible. The effect of reflecting
> waves happens because the height of the wave
> gets spread out less where it can't spread onto
> blocked nodes. But, if I'd just nullify the heights
> at certain points, the waves won't move further
> than there...
>
> In fact, as I've put a possibility to call a macro
> between every step, this could be used to create
> just the "no-wave-reflection" effect you're after.
> I'd have to look into that, especially since this
> might be handy for other situations as well.
>
> As for particle-wave interaction: You could always
> use POV's trace-function to check if an arbitrary
> positions intersects the water-mesh, and if it does,
> just place a LSS_Drop at the correct coordinates.
> Emitting particles from the system would be a little
> more difficult I guess, but again, the macro which
> may be called after every step might be useful for that,
> combined with some other macros which keep track
> of wave-heights and -changes...
> But I'm not much into that specific part (particles)
> at the moment. I'm currently under a little stress, but
> I'll look at wave-swallowing effects as soon as possible.
>
> Other than that, all I can say is that the system is
> more suited for calm waves and a little effect than
> storms... As I mention in the help: This isn't a fully-fledged
> volume-preserving simulation. Its a neat little effect,
> originating from 2D-pixel-displacement, so don't expect
> too much of it... :-)
>
> (I still think highly of it! I'm proud I've begun and
> finished something worthwhile which someone might
> actually use... :-)
>
> -- 
> Tim Nikias v2.0
> Homepage: http://www.digitaltwilight.de/no_lights
> Email: Tim### [at] gmxde
>
> > > Hey all
> > > > For something like a water trails a particles system would still be
> best
> > > Perhaps you should have a look at Rune's great particle system. It has
> no
> > > mass-mass-collision-detection between the particles themselves (only
> > > paritcle-environment), so filling a glass with water is not possible
> (all
> > > the particles would stay on the bottom). But it makes wonderful
streams,
> > > waterfalls, fountains and even explosions. You can get it from
> > > http://www.runevision.com
> > >
> > > hth,
> > > florian
> > >
> > >
> > >
> >
> > Yes, but I am not looking for water trails or the like, but the sort of
> > real stream that is a transparent surface (not particulate) and is
merely
> > perturbed by any rocks or the like is interacts with. Now combining
> > particle systems into this so that say an area where you get spatter and
> > splashes would emit particles that when they hit add to the positive
wave
> > of this Tim's system would be very handy. However, as you mention,
> > neither particle systems not this one can effectively simulate every
> > situation. Making some provisions for some combination of them, assuming
> > that my theoretical use of Tim's macros will work would provide better
> > realism. Though actually... For it to really work right you would need a
> > combinational system that only emitted particles when a 'wave' crested
> > and began to collapse again. So that the 'spray' would be thrown from
the
> > edge of that wave. Tim's is easier for a standing pool and 'might' work
> > for a river or stream.
> >
> > Particle systems, especially with inter-particle reactions would be much
> > slower to simulate the same thing (I assume) in and one reason why the
> > examples often look horrid is that a 50 foot waterfall, for example,
> > doesn't have droplets any larger than a 5 foot fountain. If you cheat,
> > then you get a large structure with globs of water that visually are ten
> > feet wide, but if you scale up the waterfall to a real size the number
of
> > particles needed skyrockets. Obviously you can't do much about the
> > problem with 50 foot waterfalls, but if you are making a river and you
> > want to show spray, then a perturbed surface, with a 'few' carefully
> > placed particle emitters around some key rocks and which have the right
> > droplet size, makes more sense than using a particle system for the
> > entire thing. However, if Tim's macros can't simulate such a sloped
> > surface effect...
> >
> > I suspect however that is might, since a relatively flat river or stream
> > could be thought of as one of his macros with one end open. I.e. water
> > 'joining' one end causes displacement, but the edges do not generate a
> > return deflection unless the wave hits an intervening object. If all the
> > added disturbance occurs at the 'high' end and the low end is open and
> > just swallows the wave that reach it.... Guess that is the real
question,
> > can it be made to ignore the 'edges' of the surface as a deflection
point
> > and only treat intervening objects for that purpose. Though that is
> > probably not something that it will do. :p
> >
> > -- 
> > void main () {

> >     call functional_code()
> >   else
> >     call crash_windows();
> > }
>
>


Post a reply to this message

From: Patrick Elliott
Subject: Re: LSSM Update!
Date: 28 May 2003 14:44:56
Message: <MPG.193eb15e84e901249897fc@news.povray.org>
In article <3ed4ee2e$1@news.povray.org>, tim### [at] gmxde says...
> I tried swallowing waves by setting certain
> nodes to zero-height, but this has the same
> effect as a wall does, waves get reflected.
> I think this is due to how the heights of nodes
> are gathered and averaged to spread the
> waves, a zero height is still different than what
> the travelling wave would have been, and
> voila: the wave seems to get reflected.
> 
> The only other solution I could think of would
> be to pass the wave heights on to a next node,
> much like pushing the waves downstream...
> The top line, which can't get data from anywhere,
> will then just randomly create new heights.
> 
> I'll cook up the code and post it in binaries.animations
> shortly.
> 
> 
Ok. Will be interesting to see. ;)

I do realize that like most stuff not implemented in the engine this is 
basically a hack, but half the useful stuff people do are hacks. lol A 
complete system would obviously include the surface 'pushing' objects 
around and different amounts of wave absorption as well depending on 
material interacted with. This is obviously not practical in your macros. 
;) lol But it is definitely a nice tool.

-- 
void main () {

    call functional_code()
  else
    call crash_windows();
}


Post a reply to this message

<<< Previous 10 Messages Goto Initial 10 Messages

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