POV-Ray : Newsgroups : povray.general : Liquid-Surface-Simulation-Macros released! Server Time
25 Dec 2024 14:18:21 EST (-0500)
  Liquid-Surface-Simulation-Macros released! (Message 1 to 10 of 17)  
Goto Latest 10 Messages Next 7 Messages >>>
From: Tim Nikias v2 0
Subject: Liquid-Surface-Simulation-Macros released!
Date: 10 May 2003 03:54:14
Message: <3ebcb026$1@news.povray.org>
Working late into the night I've finally finished
my LSSM. I'm not quite sure if all bugs have been
tracked down, but there's only so much one man
alone can do...
For all those going out now and downloading it,
I'd like to have some feedback on the Help and
on the usage of the system, if its intuitive (as far
as it is possible) or irritating in some places.

Do note that the simulation just comes with one
"Walkthrough", a heavily commented example
which'll explain some stuff as it is being used. Its
meant as a hands-on experience to read and
grasp some ideas. Good-looking examples with
small scene-files are being looked for on my
HD. If you guys create something small and neat,
you could send it to me via email, I'll take a look
at it, and perhaps I'll just release an LSSM-Example-
Bundle or something like that.

Anyways, comments, suggestions (the typical
feedbacl) would be appreciated.

Regards,
Tim

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


Post a reply to this message

From: Hugo Asm
Subject: Re: Liquid-Surface-Simulation-Macros released!
Date: 10 May 2003 17:55:28
Message: <3ebd7550@news.povray.org>
Woooow.  :o)  I'm going to play with this tomorrow! You've done terrific
work.

Best regards
Hugo


Post a reply to this message

From: Tim Nikias v2 0
Subject: Re: Liquid-Surface-Simulation-Macros released!
Date: 10 May 2003 18:43:42
Message: <3ebd809e@news.povray.org>
Thanks. I just hope you'll stick to that
comment once you've begun using it... :-)

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

> Woooow.  :o)  I'm going to play with this tomorrow! You've done terrific
> work.
>
> Best regards
> Hugo
>
>


Post a reply to this message

From: Tim Nikias v2 0
Subject: LSSM Update!
Date: 22 May 2003 18:36:09
Message: <3ecd50d9@news.povray.org>
I've implemented some major and minor changes to the
core-code of the LSSM. Some issues had been taken care
of by using additional files for the more rare cases. I've
changed that to use one and the same file to check for
corrupt/correct/"needs update".
Additionally, some resimulation-parts where wiped out,
and replaced with ability to simply regenerate some
important parts, instead of redoing the entire simulation
(for example because of a corrupt Environmental-File) it
will just reparse the needed file "on the fly". Doesn't
work for all files of course.
Anyways, also added about 450 lines of comments into
the code to make it more obvious what I'm doing.

The main handling of the Macros hasn't changed, so
feel free to download the new version and overwrite the
old one, you're already existing files are broken with
it.

Regards,
Tim

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


Post a reply to this message

From: Hugo Asm
Subject: Re: LSSM Update!
Date: 23 May 2003 05:41:19
Message: <3ecdecbf$1@news.povray.org>
Tim,

Thanks for all this. I have not changed my mind regarding my earlier
statement: Terrific work!

I'm wondering (for some time now; even posted my idea some months ago) how
to add wind to the algoritm. Maybe you have a plan for this? I could just
average the wind and the LSSM of course, but it needs deeper integration to
interact with the enviroment. Maybe I can figure something out, when I read
your comments in the updated LSSM... Or maybe 'the master' is more qualified
to tell me, what I can do.

Wind aside. I see it's possible to make nice trails behind moving objects.
Do you have ideas how to push the water in front of a moving object? You
know, in real life there is a wave in many such cases.

I'm thinking about using the LSSM in a large area of water, for example a
river or ocean. It seems unnecessary to parse the entire area with the LSSM,
but it's pretty easy to fade out "your data", and fade in the data of the
..lets say "the river". The only problem is the wind. Even if LSSM would
support a kind of wind, if the algoritm is not the same as the river, it may
not look the same.. (This is just something to consider before working on
LSSM - wind)

I hope you don't mind my ideas. Of course you are free to take a vacation
from these macros, in that case, just ignore what I said. I think your
macros are well done and already support enough things to be useful. I
browsed around on google to find alternative water systems (non-pov or
whatever) and I found mostly junk. Your system looks good in comparison. I
hope people will begin to use it.

Regards,
Hugo


Post a reply to this message

From: Tim Nikias v2 0
Subject: Re: LSSM Update!
Date: 23 May 2003 19:18:29
Message: <3eceac45@news.povray.org>
Thanks again!

Regarding the wind:
Since wind would be a constant turbulence on the
surface, I'd say, for most cases it would be enough
to use some pattern and displace the final nodes a
little. If you'll take a look at the Help or the Source-Code,
you'll notice that LSS_Visualize() just uses another
macro to get the different nodes out of the system, and
then uses my MMM to build the mesh. If you do that
yourself by extracting the Node-Data using

#declare Node_Array=LSS_Get_MeshDat("System-Name");

You have an array of points which you can displace however
you like. These are the actual positions of the nodes, so
you might want to take care of displacing them only along
the "calm" surface normal.
After that, just use Make_Mesh() or Make_Smooth_Mesh()
from my MMM to visualize the mesh (Make_Smooth_Mesh
requires another macro beforeend to calculate the surface-normals,
but thats all supplied in MMM).

If you want wind which actually creates small waves which will
interact with objects... I'll have to think about that. It should be
possible to somehow generate a wave-state in which not single
drops are placed, but rather wave-fronts. The algorithm would then
move these onward... I'll have to think about that. If you've got some
specific suggestions on how much you'd want to define yourself
(like: use one image with painted waves along with an
initial direction, thats the first idea that pops into my mind), tell
me. I'll look into it. Shouldn't be that difficult though (unless you
want me to use functions, I'm no good at that yet).

Regarding the waves:
The system actually creates the waves in front of the moving object,
or, to be more precise, around the nodes that are newly blocked
(which are, on moving objects, the ones up front). Pushing that
wave around would make things more difficult, as I'd have to calculate
in which overall direction the object is moving at that point (which
gets pretty tricky when the object is just rotating). They actually
do push a small wave in front of them, but it doesn't grow and
accumulate, if thats what you mean. The problem is that the algorithm
doesn't actually simulate masses of water, but rather just works on
the height of the nodes and interpolates them to the surrounding
nodes. Thats the reason why waves cannot have different speeds or
"fall over" and create overhangs. The code is really complex as it is,
and IMHO, for a better simulation, a different underlying concept should
be used, with which overhangs, different speeded waves due to
"overrolling" etc are possible. But thats probably too difficult and
time-consuming for pure POV-Code.

Regards,
Tim

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

> Tim,
>
> Thanks for all this. I have not changed my mind regarding my earlier
> statement: Terrific work!
>
> I'm wondering (for some time now; even posted my idea some months ago) how
> to add wind to the algoritm. Maybe you have a plan for this? I could just
> average the wind and the LSSM of course, but it needs deeper integration
to
> interact with the enviroment. Maybe I can figure something out, when I
read
> your comments in the updated LSSM... Or maybe 'the master' is more
qualified
> to tell me, what I can do.
>
> Wind aside. I see it's possible to make nice trails behind moving objects.
> Do you have ideas how to push the water in front of a moving object? You
> know, in real life there is a wave in many such cases.
>
> I'm thinking about using the LSSM in a large area of water, for example a
> river or ocean. It seems unnecessary to parse the entire area with the
LSSM,
> but it's pretty easy to fade out "your data", and fade in the data of the
> ..lets say "the river". The only problem is the wind. Even if LSSM would
> support a kind of wind, if the algoritm is not the same as the river, it
may
> not look the same.. (This is just something to consider before working on
> LSSM - wind)
>
> I hope you don't mind my ideas. Of course you are free to take a vacation
> from these macros, in that case, just ignore what I said. I think your
> macros are well done and already support enough things to be useful. I
> browsed around on google to find alternative water systems (non-pov or
> whatever) and I found mostly junk. Your system looks good in comparison. I
> hope people will begin to use it.
>
> Regards,
> Hugo
>
>


Post a reply to this message

From: Patrick Elliott
Subject: Re: LSSM Update!
Date: 24 May 2003 18:33:21
Message: <MPG.1939a104f761c6bf9897f5@news.povray.org>
In article <3eceac45@news.povray.org>, tim### [at] gmxde says...
> Regarding the wind:
Haven't actually tried your macros yet, but.. With respect to wind things 
are somewhat complex. On the low end you get 'cats paws' little 
displacements that look like some animal running across the water. These 
can happen in no specific pattern or can leave a trail across the water 
that aren't visible on what is around it until the wavelets spread out 
and fade. Higher winds follow a similar random displacement, or perhaps 
simply a larger number of displacements with greater force. To be 
realistic any simulation of wind would likely need to duplicate these 
effects.

Then there is the second things I have wondered about. Moving an object 
through water is one things, how about removing what is already there, 
like when a foot goes in and out of the water, or like with boiling 
water, where there are 'pockets' that when they reach the surface leave a 
sudden 'hole' in the surface and thus cause the displacement? I would 
prefer to get bad news about these sorts of effects from the horses mouth 
so to speak, since trying to read other peoples code, especially when 
complex math is involved leaves me cross eyed and seriously confused. lol

-- 
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: 24 May 2003 21:00:19
Message: <3ed015a3$1@news.povray.org>
It is possible to do create negative waves, just
specify negative heights! As for objects leaving
the water: The LSS_Object-Macro has one
parameter for just that. Once a node gets
accessible again, it can create a wave, be it
positive or negative.
Same applies to other Macros imprinting waves
into the simulation, you may use negative values.

To do that for the boiling water, you'd have to position
a single LSS_Drop at where you want the
bubble to appear, and use a negative wave-height.
Or you could use a sphere as bubble and imprint
negative waves when moving it with LSS_Object.

As for the wind: yes, that is pretty difficult. But to
get some aligned waves for near-wind effects could
be possible. The algorithm isn't a full-fledged hyper-
realistic mass-preserving simulation, so "looks
a lot like" is probably the best you can get in some
cases...
But its at least better than static water! :-)

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

> > Regarding the wind:
> Haven't actually tried your macros yet, but.. With respect to wind things
> are somewhat complex. On the low end you get 'cats paws' little
> displacements that look like some animal running across the water. These
> can happen in no specific pattern or can leave a trail across the water
> that aren't visible on what is around it until the wavelets spread out
> and fade. Higher winds follow a similar random displacement, or perhaps
> simply a larger number of displacements with greater force. To be
> realistic any simulation of wind would likely need to duplicate these
> effects.
>
> Then there is the second things I have wondered about. Moving an object
> through water is one things, how about removing what is already there,
> like when a foot goes in and out of the water, or like with boiling
> water, where there are 'pockets' that when they reach the surface leave a
> sudden 'hole' in the surface and thus cause the displacement? I would
> prefer to get bad news about these sorts of effects from the horses mouth
> so to speak, since trying to read other peoples code, especially when
> complex math is involved leaves me cross eyed and seriously confused. lol
>
> -- 
> void main () {

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


Post a reply to this message

From: Patrick Elliott
Subject: Re: LSSM Update!
Date: 25 May 2003 18:02:15
Message: <MPG.193aeb0eb66057dc9897f7@news.povray.org>
In article <3ed015a3$1@news.povray.org>, tim### [at] gmxde says...
> It is possible to do create negative waves, just
> specify negative heights! As for objects leaving
> the water: The LSS_Object-Macro has one
> parameter for just that. Once a node gets
> accessible again, it can create a wave, be it
> positive or negative.
> Same applies to other Macros imprinting waves
> into the simulation, you may use negative values.
> 
> To do that for the boiling water, you'd have to position
> a single LSS_Drop at where you want the
> bubble to appear, and use a negative wave-height.
> Or you could use a sphere as bubble and imprint
> negative waves when moving it with LSS_Object.
> 
Hmm. Ok.. For it to work I considered having the bubbles start out 
'under' the surface as in real boiling and more or less deleting the 
spheres once they hit the surface. The problem of course was a) how to 
'delete' them so that they had the intended effect and b) how to tell if 
you hit the surface when it was already perturbed. May just experiment a 
bit with it, if I ever get around to working on it or the other 4-5 
projects I keep telling myself I need to start on/finish. lol

> As for the wind: yes, that is pretty difficult. But to
> get some aligned waves for near-wind effects could
> be possible. The algorithm isn't a full-fledged hyper-
> realistic mass-preserving simulation, so "looks
> a lot like" is probably the best you can get in some
> cases...
> But its at least better than static water! :-)
> 
> 

Definitely. Though some of us are never satisfied with merely better than 
nothing. lol

-- 
void main () {

    call functional_code()
  else
    call crash_windows();
}


Post a reply to this message

From: Patrick Elliott
Subject: Re: LSSM Update!
Date: 25 May 2003 18:13:15
Message: <MPG.193aeda1f3b8f929897f8@news.povray.org>
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

Goto Latest 10 Messages Next 7 Messages >>>

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