|
![](/i/fill.gif) |
In article <4084a421$1@news.povray.org>, Gena <gen### [at] yahoo com>
wrote:
> So, my first question is - which additional attribute(s) I should
> include to the Blob object so that it would work like POV-Ray blob?
> What kind of attributes are used for POV-Ray's blob object. Does
> every blob keep own transformation matrix?
That depends on what you need. If you need each component to have its
own arbitrary scaling, rotation, etc, then you need a transformation
matrix for each component. If you just have unscaled cylinders and
spheres, it is not necessary.
> Next question is about algorithm used in POV-Ray to construct
> blob's isosurface. Where can I get a reference to it? Is it marching
> cubes?
POV-Ray solves for intersections with the blob itself, it does not
tessellate the blob. It does so by generating quadrics to match portions
of the surface...the algorithm is pretty complicated, and I don't
understand it fully. You could also use an iterative root solver of the
type the isosurface primitive uses...look up things like "root solver",
"bisection method", "newton's method", and "regula falsi", and some of
the previous messages in these groups on the subject (I recall there
being a recent one in *.programming).
Tessellation algorithms are even more complex. The marching cubes
algorithm is patented, using it may create legal problems, but there are
other variations such as marching tetrahedrons that can give superior
results. There was a tessellation patch that implemented several of
these methods.
> As far as I understand I need one algorithm/formula for making
> isosurface itself and another one for polygonizing that surface.
> Is it so?
The "isosurface itself" is a function: in this case, the blob data
together with the code that gives a field value for a point. You will
need a root solver algorithm to find points on the surface, polygonizing
is only necessary if you need a mesh.
--
Christopher James Huff <cja### [at] earthlink net>
http://home.earthlink.net/~cjameshuff/
POV-Ray TAG: <chr### [at] tag povray org>
http://tag.povray.org/
Post a reply to this message
|
![](/i/fill.gif) |