POV-Ray : Newsgroups : povray.general : Liquid-Surface-Simulation-Macros released! : Re: LSSM Update! Server Time
4 Aug 2024 18:21:22 EDT (-0400)
  Re: LSSM Update!  
From: Tim Nikias v2 0
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

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