POV-Ray : Newsgroups : povray.general : infinite space under a height_field is "inside" it Server Time
25 Dec 2024 01:47:13 EST (-0500)
  infinite space under a height_field is "inside" it (Message 1 to 5 of 5)  
From: Kenneth
Subject: infinite space under a height_field is "inside" it
Date: 7 Dec 2007 15:45:00
Message: <web.4759b0059ef3482278dcad930@news.povray.org>
I was playing around with a height_field today, having some fun, adding some
ground fog, with the camera hovering over the enlarged HF surface. Things were
looking good. On a whim, I decided to scale the HF negatively in y (to reverse
it's direction and create a deep chasm instead.)

Suddenly, the fog disappeared, and POV rudely announced: "Camera is inside a
non-hollow object. Fog and participating media may not work as expected."

????

Putting on my thinking cap and doing some experimenting, I discovered this
interesting little fact (which the POV documentation doesn't mention): The
infinitely-deep space under a HF is considered to be "inside" it. Very similar
to the behavior of a plane, but the volume of space is confined to the x/z
dimensions of the HF. (By scaling it -y, I had inadvertently "flipped" this
space to be *above* the HF, and my camera was now inside it.) I had always
known that the inside of a HF SHAPE was considered "inside" --and had assumed
that the HF object itself was confined to a 1X1X1 cubic volume and nowhere
else--so this was a new discovery.

No problem though; adding inverse or hollow on to the HF fixes things, and the
fog or media reappears. (BTW, adding water_level-- before the negative
scaling--doesn't fix it. I thought it might "trim away" everything under the
HF, but no go.)

It should also be noted that, when making a normally-scaled HF hollow (with
pigment {rgbt 1}) and adding interior{media....} to it, the media does NOT
extend into the infinite space underneath. No great discovery there; we're all
familiar with that behavior.  But it points out that there seem to be two
different "types" of insideness to a HF object.

I had never run into this situation before, so I thought I would pass on the
info--for the betterment of mankind. :-P

Ken W.


Post a reply to this message

From: Warp
Subject: Re: infinite space under a height_field is "inside" it
Date: 7 Dec 2007 16:21:01
Message: <4759b93b@news.povray.org>
Kenneth <kdw### [at] earthlinknet> wrote:
> It should also be noted that, when making a normally-scaled HF hollow (with
> pigment {rgbt 1}) and adding interior{media....} to it, the media does NOT
> extend into the infinite space underneath.

  Actually it does. The problem is that rays must hit the HF if you want
them to compute the media. Rays which miss the HF by going completely under
it never hit the HF and thus media is never computer for them.

  In the more general level, this is the basic problem with open surfaces.
A HF is an open surface and thus these types of artifacts are to be expected,
as with any open surface. Only closed surfaces behave "correctly".

-- 
                                                          - Warp


Post a reply to this message

From: Kenneth
Subject: Re: infinite space under a height_field is "inside" it
Date: 8 Dec 2007 17:50:01
Message: <web.475b1d65535cbe0a78dcad930@news.povray.org>
Warp <war### [at] tagpovrayorg> wrote:

> In the more general level, this is the basic problem with open surfaces.
> A HF is an open surface and thus these types of artifacts are to be expected,
> as with any open surface. Only closed surfaces behave "correctly".

I decided to run the same experiment on the other "triangle-based" surfaces POV
offers-- bicubic_patch and smooth_triangle mesh--to see what their behavior
might be. (I generated these in the sPatch app, as simple flat surfaces, and
ported them over to POV as .inc files, using sPatch's various export plug-ins.
AFAIK, the sPatch plug-ins don't create any kind of "specialized"
patches or meshes; they seem to be of the same syntax as POV's own.
BTW, I didn't try a "flat"-triangle mesh because sPatch doesn't export those.) I
then cleaned up the files to make sure that there were no unions or other
elements in there.

I should clarify that the fog I used for this experiment is the simple gound-fog
statement (not atmospheric media or object media):

fog {
  fog_type   2
  distance   2
  color rgb .7
  fog_offset 0
  fog_alt   .7
}

The result is that neither of these objects exhibit the infinite-inside-space
behavior that a HF does. (I tried every trick to MAKE the fog disappear, but I
couldn't get it to.) So it seems that a height_field is the only
"triangle-based open surface" object that does this.

Ken


Post a reply to this message

From: Thorsten Froehlich
Subject: Re: infinite space under a height_field is "inside" it
Date: 9 Dec 2007 02:35:41
Message: <475b9acd$1@news.povray.org>
Kenneth wrote:
> I decided to run the same experiment on the other "triangle-based" surfaces POV
> offers-- bicubic_patch and smooth_triangle mesh--to see what their behavior
> might be.

These are different objects. A height_is is *not* represented as a mesh, it
is just traced as if it were a mesh. In particular note that the
documentation says a height field is solid, not a finite patch.

> The result is that neither of these objects exhibit the infinite-inside-space
> behavior that a HF does. (I tried every trick to MAKE the fog disappear, but I
> couldn't get it to.) So it seems that a height_field is the only
> "triangle-based open surface" object that does this.

Because it is a finite solid, not a finite patch. I am pretty sure the
documentation somewhere says that a height field is a solid and explains the
plane below. Either way, the purpose is the use in CSG.

	Thorsten


Post a reply to this message

From: Kenneth
Subject: Re: infinite space under a height_field is "inside" it
Date: 9 Dec 2007 04:25:01
Message: <web.475bb32a535cbe0a78dcad930@news.povray.org>
Thorsten Froehlich <tho### [at] trfde> wrote:

> These are different objects. A height_is is *not* represented as a mesh, it
> is just traced as if it were a mesh. In particular note that the
> documentation says a height field is solid, not a finite patch.

That's true; I guess I didn't understand the true difference between them.
Thanks.
>
> > So it seems that a height_field is the only
> > "triangle-based open surface" object that does this.
>
> Because it is a finite solid, not a finite patch. I am pretty sure the
> documentation somewhere...explains the
> plane below.

I haven't seen that, but I'll look more closely--perhaps at the on-line
documentation, rather that POV's own help files. (The only similar thing I
*have* seen in the docs is the disc/plane description.)

Ken


Post a reply to this message

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