POV-Ray : Newsgroups : povray.general : Clueless on planes Server Time
1 Nov 2024 18:17:39 EDT (-0400)
  Clueless on planes (Message 1 to 6 of 6)  
From: Greg M  Johnson
Subject: Clueless on planes
Date: 19 May 2000 08:10:39
Message: <39252E36.172E8698@my-dejanews.com>
How would one designate (in isosurface lingo):

1)  a plane at y=1.000 with its normal 'up'
2)  a plane at y=0.999 with its normal 'down'

There's some kind of terminology like (y-.00001), but I've been unable
to figure it out........


Post a reply to this message

From: Warp
Subject: Re: Clueless on planes
Date: 19 May 2000 09:11:11
Message: <39253d6f@news.povray.org>
Greg M. Johnson <gre### [at] my-dejanewscom> wrote:
: 1)  a plane at y=1.000 with its normal 'up'

  I think that the function is defined so that everything point for which
f(x,y,z) < 0 is inside the surface while every point for which f(x,y,z) > 0
is outside the surface. Every point for which f(x,y,z) = 0 is exactly on
the surface (assuming, of course, that 'threshold' is 0).
  So when a normal of a plane is 'up', it's defined that 'up' is outside
the plane and 'down' is inside the plane. Thus, we need to formulate the
function so that for every point "below" the surface f(x,y,z) < 0. And
since we want the surface to be at y=1, it would be:

  f(x,y,z) = y-1

  If you think about it, what we did was just moving all the items in
the equation "y=1" to the same side of the equation.
  Now the surface is defined as "y-1 = 0". Every point below this will
be < 0 (for example if y=0 then 0-1 < 0).

: 2)  a plane at y=0.999 with its normal 'down'

  Again, we can move all the terms to the same side of the equation, so
we get:

f(x,y,z) = y-.999

  However, here 'outside' is still 'up'. So we need to make it the other
way around. Now every point that has the y bigger than .999 has to be inside
instead of outside like in the above function.
  That's easy: Just change the sign of the function:

f(x,y,z) = -y+.999

or in other words:

f(x,y,z) = .999-y

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


Post a reply to this message

From: Margus Ramst
Subject: Re: Clueless on planes
Date: 19 May 2000 13:38:20
Message: <39256E38.D8C11818@peak.edu.ee>
Warp wrote:
> 
>   I think that the function is defined so that everything point for which
> f(x,y,z) < 0 is inside the surface while every point for which f(x,y,z) > 0
> is outside the surface.

Yes, and you can easily switch the orientation of an isosurface with "sign -1"

-- 
Margus Ramst

Personal e-mail: mar### [at] peakeduee
TAG (Team Assistance Group) e-mail: mar### [at] tagpovrayorg


Post a reply to this message

From: Xplo Eristotle
Subject: Re: Clueless on planes
Date: 19 May 2000 14:15:58
Message: <3925866A.E845899C@unforgettable.com>
"Greg M. Johnson" wrote:
> 
> How would one designate (in isosurface lingo):
> 
> 1)  a plane at y=1.000 with its normal 'up'
> 2)  a plane at y=0.999 with its normal 'down'

This isn't technically possible; planes have no thickness, a condition
for which there is no valid function in POV that will render properly
(AFAIK), and they're infinite in two dimensions, which an isosurface's
container can't be.

-- 
Xplo Eristotle
http://start.at/xplosion/

"And then one day you find ten years have got behind you
No one told you when to run, you missed the starting gun"
    -Pink Floyd


Post a reply to this message

From: Fabien Mosen
Subject: Re: Clueless on planes
Date: 19 May 2000 15:15:03
Message: <39259124.D8BB0463@skynet.be>
Xplo Eristotle wrote:

> This isn't technically possible; planes have no thickness, a condition
> for which there is no valid function in POV that will render properly
...

In POV-Ray, planes are infinitely thick, the inside being the opposite
of the normal side.


Post a reply to this message

From: Chris Huff
Subject: Re: Clueless on planes
Date: 19 May 2000 16:43:28
Message: <chrishuff_99-706F68.15470319052000@news.povray.org>
In article <39252E36.172E8698@my-dejanews.com>, 
gre### [at] my-dejanewscom wrote:

> How would one designate (in isosurface lingo):
> 
> 1)  a plane at y=1.000 with its normal 'up'
> 2)  a plane at y=0.999 with its normal 'down'
> 
> There's some kind of terminology like (y-.00001), but I've been unable
> to figure it out........

function {y} will make a finite(bounded by the contained_by object) 
plane at y=0 with a +y normal. "-y" will flip it upside down(as would 
"sign -1" in the isosurface block outside the function, "inverse" could 
also do the job).
Subtracting a number from y will move the plane +y, adding one will move 
it -y, but you have to be careful of the signs when using -y. I suggest 
you use "-(y-Dist)" or something similar...

Also, the full equation for a plane would be something like:
function {x*a + y*b + z*c - Dist}
where a, b, and c are the coordinates for the normal, and Dist is the 
distance from the origin.

-- 
Christopher James Huff - Personal e-mail: chr### [at] yahoocom
TAG(Technical Assistance Group) e-mail: chr### [at] tagpovrayorg
Personal Web page: http://chrishuff.dhs.org/
TAG Web page: http://tag.povray.org/


Post a reply to this message

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