POV-Ray : Newsgroups : povray.general : Turbulence and warps for objects - could it be possible? Server Time
9 Aug 2024 01:23:27 EDT (-0400)
  Turbulence and warps for objects - could it be possible? (Message 1 to 5 of 5)  
From: Marc-Hendrik Bremer
Subject: Turbulence and warps for objects - could it be possible?
Date: 22 Sep 2000 07:59:20
Message: <39cb4998$1@news.povray.org>
Hi,
if understand it right, turbulence and warps for textures etc. work like
that: The co-ordinates of a requested point  x,y,z are altered by turbulence
or warps to x1,y1,z1 which are passed to the "texture-function".
I wonder if this could be implemented for objects quite easily too, so if a
ray "asks" for the first intersection with an object, it is altered first.
That would be useful IMO. You could bend any object quite easily (by just
bending the "co-ordinate-system"). More "natural" looking objects could be
possible.
Something like that can be achieved by using isosurfaces [like
function{MyFunc(x, sin(y),z)} f.ex.], but wouldn't it be much faster and
more flexible?

Excuse me if this suggestion is total nonsense - I don't know anything about
the source (and not even much about C)

Is it possible?

Marc-Hendrik


Post a reply to this message

From: Peter Popov
Subject: Re: Turbulence and warps for objects - could it be possible?
Date: 22 Sep 2000 08:09:31
Message: <7kimss85rdilu1h3ea92p9if2a1m5q6isc@4ax.com>
On Fri, 22 Sep 2000 13:59:28 +0200, "Marc-Hendrik Bremer"
<Mar### [at] t-onlinede> wrote:

>I wonder if this could be implemented for objects quite easily too, so if a
>ray "asks" for the first intersection with an object, it is altered first.

>That would be useful IMO. You could bend any object quite easily (by just
>bending the "co-ordinate-system"). More "natural" looking objects could be
>possible.

Well, since a ray is defined as a starting point (which is fixed) and
a direction, you'll only be able to perturbate the direction vector
(not to be confused with the camera direction vector). That's what the
camera normal is there for.

What you're looking after is adding turbulence to the intersection
point. But, in order to do that, you'll first have to find it first,
and then it already has to be perturbed. The only way you can achieve
that is to have the turbulence biult into the object equation, in
qhich case you'll have to resort to using isosurfaces, which are
currently available in MegaPOV and will be available in POV 3.5


Peter Popov ICQ : 15002700
Personal e-mail : pet### [at] usanet
TAG      e-mail : pet### [at] tagpovrayorg


Post a reply to this message

From: Warp
Subject: Re: Turbulence and warps for objects - could it be possible?
Date: 22 Sep 2000 10:51:46
Message: <39cb7202@news.povray.org>
Marc-Hendrik Bremer <Mar### [at] t-onlinede> wrote:
: if understand it right, turbulence and warps for textures etc. work like
: that: The co-ordinates of a requested point  x,y,z are altered by turbulence
: or warps to x1,y1,z1 which are passed to the "texture-function".
: I wonder if this could be implemented for objects quite easily too, so if a
: ray "asks" for the first intersection with an object, it is altered first.
: That would be useful IMO. You could bend any object quite easily (by just
: bending the "co-ordinate-system"). More "natural" looking objects could be
: possible.

  This is actually how the regular transformations work.
  Yes, you could bend an object this way but only from the point of view
of the source of the ray. That is, if the ray was sent from the camera,
the object will be bent according the location of the camera. If you move
the camera the bending of the object will change accordingly (that is, the
bending is not static with respect to the object).

-- 
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):_;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/


Post a reply to this message

From: Warp
Subject: Re: Turbulence and warps for objects - could it be possible?
Date: 22 Sep 2000 10:57:44
Message: <39cb7368@news.povray.org>
By the way: the effect I'm talking about is almost exactly what happens
when you apply a normal to the camera (the normal will perturb the rays).
The only difference is that it affects the entire scene instead of just one
object.

  By the way 2: If you bend the objects the way you suggest, your shadows
will be erroneus.

-- 
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):_;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/


Post a reply to this message

From: Marc-Hendrik Bremer
Subject: Re: Turbulence and warps for objects - could it be possible?
Date: 22 Sep 2000 19:44:53
Message: <39cbeef5@news.povray.org>
Peter Popov schrieb in Nachricht
<7kimss85rdilu1h3ea92p9if2a1m5q6isc@4ax.com>...
>Well, since a ray is defined as a starting point (which is fixed) and
>a direction, you'll only be able to perturbate the direction vector
>(not to be confused with the camera direction vector). That's what the
>camera normal is there for.
>

Yes of course, but that effects the hole scene.

>What you're looking after is adding turbulence to the intersection
>point. But, in order to do that, you'll first have to find it first,
>and then it already has to be perturbed.

Hm, I see ... the objects are not asked "what do you have to say to the
Point <x,y,z>?" :-)

>The only way you can achieve
>that is to have the turbulence biult into the object equation, in
>qhich case you'll have to resort to using isosurfaces, which are
>currently available in MegaPOV and will be available in POV 3.5
>


Well I thought it could be made a feature for all Pov-Primitives, but that
seems to be quite naiv.  The algorithm to find the intersection points for
Pov-Primitives is probably quite different from that one for isosurfaces
(thus making it so fast).

Anyway, thanks for the answer.

Marc-Hendrik


Post a reply to this message

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