POV-Ray : Newsgroups : povray.general : Isosurfaces: normals and max gradient and height fields Server Time
1 Nov 2024 13:19:34 EDT (-0400)
  Isosurfaces: normals and max gradient and height fields (Message 1 to 5 of 5)  
From: Greg M  Johnson
Subject: Isosurfaces: normals and max gradient and height fields
Date: 1 Oct 2004 22:10:47
Message: <415e0e27$1@news.povray.org>
I've been doing some experimenting with isosurfaces.

i) The normals don't seem to look so nice as I might expect for say a plane
or sphere.  I'm imagining that it might take more computing time to get the
normal calcs right for an isosurface-- maybe the max_gradient recommendation
allows one to avoid holes rather but not optimize the look and feel of the
normal.  I've actually started trying "normal" effects with pigment_maps
instead. OR maybe I just need to keep trying the normal.  Any pointers?

ii) I've been defining a function, then using it to define a pigment map
where I can create plateaus, etc.   The pigment thus created can be turned
back into a function and used as the basis for an isosurface.   What is the
max_gradient? (Already RTFM).  Does it have a property such that if I set up
true "step functions" in my pigment that the max_gradient will skyrocket?

I'm talking about the difference between:
{[0.5 rgb 0.5] [0.5 rgb 1.0]}
and
{[0.5 rgb 0.5] [0.501 rgb 1.0]}
Do I need to introduce the latter so as to not screw up max_gradient?

iii)  As discussed in ii, I've got a pretty slick system where I can use
much of the same "typing" to set up the fuction for an isosurface with
plateaus and lakes in an isosurface  and the texture_map{} for the same iso.
Getting the texture perfectly lined up with the actual surface is a trivial
task.

I have, however, sometimes wanted to try a height_field with my
function{}because I know they are much quicker in rendering.   But when I've
tried to code-up a perfect aligment of texture and function, it just doesn't
happen.   Could someone explain how to do this, if it were possible?


Post a reply to this message

From: Mike Williams
Subject: Re: Isosurfaces: normals and max gradient and height fields
Date: 2 Oct 2004 03:36:28
Message: <VzR5CCAlplXBFw3S@econym.demon.co.uk>
Wasn't it Greg M. Johnson who wrote:
>I've been doing some experimenting with isosurfaces.
>
>i) The normals don't seem to look so nice as I might expect for say a plane
>or sphere.  I'm imagining that it might take more computing time to get the
>normal calcs right for an isosurface-- maybe the max_gradient recommendation
>allows one to avoid holes rather but not optimize the look and feel of the
>normal.  I've actually started trying "normal" effects with pigment_maps
>instead. OR maybe I just need to keep trying the normal.  Any pointers?

Setting a lower value for accuracy should give you better normals. It
will make the isosurface render slightly more slowly.

>ii) I've been defining a function, then using it to define a pigment map
>where I can create plateaus, etc.   The pigment thus created can be turned
>back into a function and used as the basis for an isosurface.   What is the
>max_gradient? (Already RTFM).  Does it have a property such that if I set up
>true "step functions" in my pigment that the max_gradient will skyrocket?
>
>I'm talking about the difference between:
>{[0.5 rgb 0.5] [0.5 rgb 1.0]}
>and
>{[0.5 rgb 0.5] [0.501 rgb 1.0]}
>Do I need to introduce the latter so as to not screw up max_gradient?

A true step function will have an infinite gradient at the points on the
edge of the step, but most of the time you can get away with setting a
much lower max_gradient value than that recommended by POVRay (displayed
in the message pane when you have used a value that's not close to the
recommended value.)

It is possible to calculate the gradient of a function if you can
differentiate it, there's a very simple example in my tutorial at
<http://www.econym.demon.co.uk/isotut/maxgradient.htm>
however, it's generally much easier to look at what POVRay recommends.

>iii)  As discussed in ii, I've got a pretty slick system where I can use
>much of the same "typing" to set up the fuction for an isosurface with
>plateaus and lakes in an isosurface  and the texture_map{} for the same iso.
>Getting the texture perfectly lined up with the actual surface is a trivial
>task.
>
>I have, however, sometimes wanted to try a height_field with my
>function{}because I know they are much quicker in rendering.   But when I've
>tried to code-up a perfect aligment of texture and function, it just doesn't
>happen.   Could someone explain how to do this, if it were possible?

Yes it is possible. See my tutorial at
<http://www.econym.demon.co.uk/isotut/patterns.htm#hf>
and grab the zip file that contains the source code.

-- 
Mike Williams
Gentleman of Leisure


Post a reply to this message

From: Greg M  Johnson
Subject: Re: Isosurfaces: normals and max gradient and height fields
Date: 2 Oct 2004 07:27:39
Message: <415e90ab@news.povray.org>
Wonderful advice.

"Mike Williams" <nos### [at] econymdemoncouk> wrote in message
news:VzR### [at] econymdemoncouk...
>
> Yes it is possible. See my tutorial at
> <http://www.econym.demon.co.uk/isotut/patterns.htm#hf>
> and grab the zip file that contains the source code.
>


I think you may have mislabelled some of your figures.  You have two
captions which identify noise type 2.

Q: can one make a universally true statement about speed of isosurface vs.
subpixel (?) height field?


Post a reply to this message

From: Mike Williams
Subject: Re: Isosurfaces: normals and max gradient and height fields
Date: 2 Oct 2004 09:14:58
Message: <0MMBdBASIqXBFwgi@econym.demon.co.uk>
Wasn't it Greg M. Johnson who wrote:
>Wonderful advice.
>
>"Mike Williams" <nos### [at] econymdemoncouk> wrote in message
>news:VzR### [at] econymdemoncouk...
>>
>> Yes it is possible. See my tutorial at
>> <http://www.econym.demon.co.uk/isotut/patterns.htm#hf>
>> and grab the zip file that contains the source code.
>>
>
>
>I think you may have mislabelled some of your figures.  You have two
>captions which identify noise type 2.

I'll update it later today.

>Q: can one make a universally true statement about speed of isosurface vs.
>subpixel (?) height field?

I don't know of any.

-- 
Mike Williams
Gentleman of Leisure


Post a reply to this message

From: Warp
Subject: Re: Isosurfaces: normals and max gradient and height fields
Date: 4 Oct 2004 06:01:58
Message: <41611f96@news.povray.org>
Greg M. Johnson <gregj;-)565### [at] aolcom> wrote:
> i) The normals don't seem to look so nice as I might expect for say a plane
> or sphere.  I'm imagining that it might take more computing time to get the
> normal calcs right for an isosurface-- maybe the max_gradient recommendation
> allows one to avoid holes rather but not optimize the look and feel of the
> normal.

  'accuracy' is the keyword.

-- 
#macro N(D)#if(D>99)cylinder{M()#local D=div(D,104);M().5,2pigment{rgb M()}}
N(D)#end#end#macro M()<mod(D,13)-6mod(div(D,13)8)-3,10>#end blob{
N(11117333955)N(4254934330)N(3900569407)N(7382340)N(3358)N(970)}//  - Warp -


Post a reply to this message

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