|
![](/i/fill.gif) |
Nieminen Juha wrote:
>
> I started to read this tutorial and found the first error in less than
> one minute... :)
> I quote:
>
> > bounded_by - This gives the isosurface a limit. For instance, if you make an
> > isosurface sphere that is larger than 1 at its radius, and you put
>
> > bounded_by{ box{ <-1,-1,-1>,<1,1,1> } }
>
> > in the isosurface statement, what do you think will happen? The box will
> > cut into the sphere, giving you an intersected box and sphere, the sphere
> > having 6 flat sides.
>
> I don't know if this works differently with isosurfaces since I have never
> used the superpatch, but if bounded_by works as usual, that's not true.
> I think that you are confusing bounded_by and clipped_by together.
> clipped_by cuts the object like an intersection does (except that it doesn't
> add a new surface to the cut part). bounded_by just bounds the object. The
> result is that the object becomes clipped by the projection of the bounding
> object on screen. This is completely different from being clipped in
> 3D-space.
> If you want your bounding object to also clip the object, you have to do:
>
> clipped_by { box { -1,1 } }
> bounded_by { clipped_by }
>
> --
> main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
> ):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/
Stop posting binaries to this group ! :)
There is one way to get a bounded_by to act as a clipped_by without having
to specify the clipped_by statement:
camera { location <0, 0, -3> look_at 0}
light_source {<0, 0, -20> rgb 1}
intersection {
sphere { 0,1
pigment { rgb 1 }
bounded_by {
box { -.5,.5 }
}
}
}
If you do not wrap it in the CSG wrapper Pov simply ignores the bounding
operation so that the clipping is ignored. With the CSG wrapper used as
shown the bounded_by clips the sphere to the shape of the box and then
Pov issues a warning (not an error) that you need two objects in a CSG
operation. Even with the warning the CSG operation is performed not by
the intersection but rather by the bounded_by operation. This can be
confirmed by simply adding another object to the CSG operation such as:
camera { location <0, 0, -3> look_at 0}
light_source {<0, 0, -20000> rgb 1}
merge {
sphere { x*-.5,1 }
sphere { x* .5,1 }
pigment { rgb 1 }
bounded_by { box { -.5,.5 }}
}
I think you will find the above interesting if you take the time to
actually render it.
Nieminen Mika
Nieminen Juha <--- ?????
--
Ken Tyler
See my 850+ Povray and 3D Rendering and Raytracing Links at:
http://home.pacbell.net/tylereng/index.html
Post a reply to this message
|
![](/i/fill.gif) |