|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
I'm new here, so bear with me :)
I need to create an oddly-shaped object (and unforunately I can't 'cheat' -
it has to be exact). It's an isosurface of the following form (simplified):
isosurface {
function { (x*y)/(z*z) } open
contained_by { box { -10, 10 } }
}
And it looks like this:
http://gredner.dnsalias.com:1983/Ars/povray1.png
What I want to so is cut the isosurface in half about the origin, such that
the upper and lower "cups" are separate. Furthermore, I'd like to be able
to fill each of them with a different color.
How would I do this? I've done some experimentation with using CSG, but I
can't seem to get it right. The simplest operation, to create the two solid
cups, I thought could be accomplished by removig the "open" specifier and
doing a difference object, subtracting the isosurface from a box of the
same size, but that gives me a result which doesn't look even remotely
right.
-Gabe
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
GRedner wrote:
>
> I'm new here, so bear with me :)
>
> I need to create an oddly-shaped object (and unforunately I can't 'cheat' -
> it has to be exact). It's an isosurface of the following form (simplified):
>
> isosurface {
> function { (x*y)/(z*z) } open
> contained_by { box { -10, 10 } }
> }
>
You should beware of division by zero with this function. It is not
defined in the z=0 plane.
>
> What I want to so is cut the isosurface in half about the origin, such that
> the upper and lower "cups" are separate. Furthermore, I'd like to be able
> to fill each of them with a different color.
If you want to cut the isosurface into two parts with a planar cut use:
intersection {
object { Iso_Object }
plane { Normal, 0 }
}
intersection {
object { Iso_Object }
plane { Normal, 0 inverse }
}
where 'Iso_Object' is the isosurface and 'Normal' is the orientation of
the plane.
Christoph
--
POV-Ray tutorials, include files, Sim-POV,
HCR-Edit and more: http://www.tu-bs.de/~y0013390/
Last updated 02 Nov. 2002 _____./\/^>_*_<^\/\.______
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Christoph Hormann <chr### [at] gmxde> wrote:
> intersection {
> object { Iso_Object }
> plane { Normal, 0 }
> }
> intersection {
> object { Iso_Object }
> plane { Normal, 0 inverse }
> }
Wouldn't it be more efficient to make two isosurfaces with the same
function but with properly placed container boxes?
--
#macro M(A,N,D,L)plane{-z,-9pigment{mandel L*9translate N color_map{[0rgb x]
[1rgb 9]}scale<D,D*3D>*1e3}rotate y*A*8}#end M(-3<1.206434.28623>70,7)M(
-1<.7438.1795>1,20)M(1<.77595.13699>30,20)M(3<.75923.07145>80,99)// - Warp -
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
|
|