POV-Ray : Newsgroups : povray.advanced-users : Using Lathe objects as base for isosurface? Server Time
25 Nov 2024 05:41:43 EST (-0500)
  Using Lathe objects as base for isosurface? (Message 1 to 3 of 3)  
From: Hal Meyer
Subject: Using Lathe objects as base for isosurface?
Date: 16 May 2003 16:57:51
Message: <3ec550cf$1@news.povray.org>
Is this possible? I have a beautiful antique lupe (Holmesian magnifying
glass) modelled, but the intricate texture of the handle is lost when there
is no direct illumination, as it uses a surface normal... radiosity is very
heavily used in this particular scene, so I was thinking... would it be
possible to do something like this:

    #declare fn_lathe = [some sort of lathe object def]
    #declare fn_pigment = [the pigment derived function]

And then do a run-of-the-mill isosurface using a pigment based function
subtracted from the base function, as I've done before per the POV docs.
Is this even feasible? TIA.


Post a reply to this message

From: Christopher James Huff
Subject: Re: Using Lathe objects as base for isosurface?
Date: 16 May 2003 22:28:51
Message: <cjameshuff-D800B7.21292216052003@netplex.aussie.org>
In article <3ec550cf$1@news.povray.org>,
 "Hal Meyer" <inf### [at] thepatchwerkscom> wrote:

> Is this possible? I have a beautiful antique lupe (Holmesian magnifying
> glass) modelled, but the intricate texture of the handle is lost when there
> is no direct illumination, as it uses a surface normal... radiosity is very
> heavily used in this particular scene, so I was thinking...

There is a feature that makes radiosity take the surface normal into 
account. This apparently slows things down a bit, but may be worth 
looking into. Try putting "normal on" in the radiosity block.


> would it be possible to do something like this:
> 
>     #declare fn_lathe = [some sort of lathe object def]
>     #declare fn_pigment = [the pigment derived function]
> 
> And then do a run-of-the-mill isosurface using a pigment based function
> subtracted from the base function, as I've done before per the POV docs.
> Is this even feasible? TIA.

You can't use a lathe as a base for an isosurface function. You seem to 
be thinking of the object function, but it has an infinite gradient 
between the "inside" and "outside" areas which causes problems for the 
isosurface solving algorithm.

However, you *can* use spline functions in isosurfaces. Use a spline 
function for the radius to a cylinder function and you have a sor 
object. A lathe would be a bit tougher to do, but you can do other 
things to distort the sor-isosurface into shapes that would ordinarily 
only be possible with a lathe. A spline function is defined like this:

#declare MySplineFn = function {spline {...usual spline stuff...}}

And remember that it returns a vector, so you will have to use something 
like "MySplineFn(t-expression).x" to use it in an isosurface. You could 
use this to pack more information than usual into the spline...treat 
each dimension as a separate spline with the same T values.

-- 
Christopher James Huff <cja### [at] earthlinknet>
http://home.earthlink.net/~cjameshuff/
POV-Ray TAG: chr### [at] tagpovrayorg
http://tag.povray.org/


Post a reply to this message

From: ABX
Subject: Re: Using Lathe objects as base for isosurface?
Date: 19 May 2003 02:32:37
Message: <r6ugcv00et9lc1h1usra0dbpli6apekrtg@4ax.com>
On Fri, 16 May 2003 21:29:22 -0500, Christopher James Huff
<cja### [at] earthlinknet> wrote:
> A lathe would be a bit tougher to do, but you can do other 
> things to distort the sor-isosurface into shapes that would ordinarily 
> only be possible with a lathe.

... and then there is a dedicated macro in isocsg to make isosurface similiar to
sor object http://www-public.tu-bs.de:8080/~y0013390/pov/ic/docu02.html#Sor
which internally use dedicated 3.5 compatible function or sor_spline type
builded in megapov http://megapov.inetart.net/manual/expressions.html#sor_spline

ABX


Post a reply to this message

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