POV-Ray : Newsgroups : povray.binaries.animations : Objects blocking waves, test and WIP (348kb) Server Time
19 Jul 2024 11:31:07 EDT (-0400)
  Objects blocking waves, test and WIP (348kb) (Message 1 to 8 of 8)  
From: Tim Nikias v2 0
Subject: Objects blocking waves, test and WIP (348kb)
Date: 23 Mar 2003 19:04:02
Message: <3e7e4b72@news.povray.org>
Just implemented a macro which will use an object and
determine whether to "block" a wave or not. Its rather
simple right now (just look at the jagged edges near the
cylinder, due to nodes of the array being inside and
outside the blockers), and there's definitely some work
ahead of me, but it works fine and seems to head towards
the correct direction.

For those interested, the algorithm adjusts to blocked
nodes by leaving them out of the calculation process. Thus,
even large arrays with high detail may become quiet fast if
enough of the area is blocked (although one might wonder
why such a high detail is required if most of it is blocked in
the first place). Simply put, the nodes inside the cylinder
and the box aren't touched and this may save a lot of parsing
time.

Anyways, enjoy,
Tim

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


Post a reply to this message


Attachments:
Download 'water_test1.mpg' (349 KB)

From: Greg Edwards
Subject: Re: Objects blocking waves, test and WIP (348kb)
Date: 23 Mar 2003 21:18:46
Message: <kz46j5mmkccr.1v141893dx9z4$.dlg@40tude.net>
It looks kinda like the water should overflow over the objects drifting 
inside. I understand how this is ultra-hard (maybe impossible) using a 
height-based algorithm so maybe you could try raising the objects a bit?

-- 
light_source#macro G(E)sphere{z+E*y*5e-3.04rotate-z*E*6pigment{rgbt#end{
20*y-10#local n=162;1}#while(n)#local n=n-.3;G(n)x}}G(-n).7}}#end//GregE


Post a reply to this message

From: Tim Nikias v2 0
Subject: Re: Objects blocking waves, test and WIP (348kb)
Date: 24 Mar 2003 02:21:06
Message: <3e7eb1e2$1@news.povray.org>
Well, this was a test, and I wanted to make the
effects appearing at the edges visible, that's why
the objects aren't that high. Of course it would
normally be recommended to raise the height of
blocking objects such that waves wouldn't have
the possibility to roll over them (which is something
the algorithm just can't do properly).

I'm already keeping an eye on this, because it'd
be neat if I find a way to simulate that "rolling over",
but I'm not really expecting it.

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

> It looks kinda like the water should overflow over the objects drifting
> inside. I understand how this is ultra-hard (maybe impossible) using a
> height-based algorithm so maybe you could try raising the objects a bit?
>
> --
> light_source#macro G(E)sphere{z+E*y*5e-3.04rotate-z*E*6pigment{rgbt#end{
> 20*y-10#local n=162;1}#while(n)#local n=n-.3;G(n)x}}G(-n).7}}#end//GregE


Post a reply to this message

From: Kitsune e
Subject: Re: Objects blocking waves, test and WIP (348kb)
Date: 24 Mar 2003 12:25:03
Message: <web.3e7f3de0e567b4d7137e7f2d0@news.povray.org>
Tim Nikias v2.0 wrote:
>Just implemented a macro which will use an object and
>determine whether to "block" a wave or not. Its rather
>simple right now (just look at the jagged edges near the
>cylinder, due to nodes of the array being inside and
>outside the blockers), and there's definitely some work
>ahead of me, but it works fine and seems to head towards
>the correct direction.
>
>For those interested, the algorithm adjusts to blocked
>nodes by leaving them out of the calculation process. Thus,
>even large arrays with high detail may become quiet fast if
>enough of the area is blocked (although one might wonder
>why such a high detail is required if most of it is blocked in
>the first place). Simply put, the nodes inside the cylinder
>and the box aren't touched and this may save a lot of parsing
>time.
>
>Anyways, enjoy,
>Tim
>
>--
>Tim Nikias v2.0
>Homepage: http://www.digitaltwilight.de/no_lights
>Email: Tim### [at] gmxde
>

Yes, very impressive!  Will you be implimenting something to add waves to
the surface if an object moves?  A wave emitter object as it were, and also
a wave absorber might be useful as well.

About the problem calculating mesh/object intersection, could some type of
super sampling help?  That is to calculate vertex positions around blocking
objects as if there were more than there really are.  By taking the mean of
the points you get a smoother appearance.  See povray documents 6.5.7.5 on
Area light adaptive samples, this is what I mean.  It looks very promissing
so for, good luck!


Post a reply to this message

From: Tim Nikias v2 0
Subject: Re: Objects blocking waves, test and WIP (348kb)
Date: 24 Mar 2003 15:57:05
Message: <3e7f7121$1@news.povray.org>
> Yes, very impressive!  Will you be implimenting something to add waves to
> the surface if an object moves?  A wave emitter object as it were, and
also
> a wave absorber might be useful as well.

Thanks. I'm working on a macro which will take moving objects
to generate wave emitters, but there's no code yet, its still stuck in the
"brainstorming" session. A wave absorber? I'm not sure what use this
would be, and actually, where this would occur. It would be easy
to implement a macro which covers the array and checks for object
vicinity and then multiplies the height of the wave by some value smaller
than 1. But I don't think its necessary, the waves dissipate quickly enough.

> About the problem calculating mesh/object intersection, could some type of
> super sampling help?  That is to calculate vertex positions around
blocking
> objects as if there were more than there really are.  By taking the mean
of
> the points you get a smoother appearance.  See povray documents 6.5.7.5 on
> Area light adaptive samples, this is what I mean.  It looks very
promissing
> so for, good luck!

I've thought about that and want to implement a macro which will check those
nodes
which still have "functioning" neighbours. The height of the
non-functional-rim-node
will then be determined by the heights of the neighbours. This would solve
the straight
downward cut near edges and still calculate correctly. I'm not sure if
super-sampling
would actually help, cause the algorithm is meant to work on a 2D-Grid, not
a set
of attached triangles.

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


Post a reply to this message

From: Tim Nikias v2 0
Subject: Re: Objects blocking waves, test and WIP (348kb)
Date: 24 Mar 2003 18:26:48
Message: <3e7f9438$1@news.povray.org>
Oh, and about the wave-emitting object:
If you'd take a look at my homepage, you'll
find some animations in the WIP section.
Please note though that the example posted
there was just a quick hack, more like dropping
a single point at the center of the sphere, in
each frame, rather than actually creating a wave
at the side of the sphere which actually "pushes" into
the water, which is what I want to have in the end.

Regards,
Tim

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


Post a reply to this message

From: Fernando Gonzalez del Cueto
Subject: Re: Objects blocking waves, test and WIP (348kb)
Date: 24 Mar 2003 22:15:25
Message: <3e7fc9cd$1@news.povray.org>
It looks beautiful, very realistic.

Congratulations,

Fernando.


news:3e7e4b72@news.povray.org...
> Just implemented a macro which will use an object and
> determine whether to "block" a wave or not. Its rather
> simple right now (just look at the jagged edges near the
> cylinder, due to nodes of the array being inside and
> outside the blockers), and there's definitely some work
> ahead of me, but it works fine and seems to head towards
> the correct direction.
>
> For those interested, the algorithm adjusts to blocked
> nodes by leaving them out of the calculation process. Thus,
> even large arrays with high detail may become quiet fast if
> enough of the area is blocked (although one might wonder
> why such a high detail is required if most of it is blocked in
> the first place). Simply put, the nodes inside the cylinder
> and the box aren't touched and this may save a lot of parsing
> time.
>
> Anyways, enjoy,
> Tim
>
> --
> Tim Nikias v2.0
> Homepage: http://www.digitaltwilight.de/no_lights
> Email: Tim### [at] gmxde
>
>
>


Post a reply to this message

From: Tim Nikias v2 0
Subject: Re: Objects blocking waves, test and WIP (348kb)
Date: 25 Mar 2003 12:45:51
Message: <3e8095cf@news.povray.org>
Thanks. I've just finished the algorithm which
will take care of those rim-issues.

Now I've only got to take care of the temporary
blocking due to moving objects, and waves
caused by those moving objects...

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

> It looks beautiful, very realistic.
>
> Congratulations,
>
> Fernando.
>


Post a reply to this message

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