|
|
Wasn't it TAlphaBravo who wrote:
>What I wanna see is a blob object that can model any of the primatives into
>a blob, I know of times when this would be a Godsend!
Most of the POV primitives can be represented by isosurfaces. It's
possible to blob isosurfaces together (see below) in both POV 3.5 and
MegaPOV. The following classes of primitives that can't (easily) be
represented by isosurfaces:-
1. Some Finite Patch Primitives: Bicubic patch, mesh, mesh2 and
smooth_triangle. The other finite patch primitives (polygon, disc,
triangle) can be easily represented as flat isosurfaces that have a
small thickness. It could well be argued that the concept of blobbing
finite patches is not meaningful.
2. Julia_Fractal
3. Text
4. Sphere_Sweep
Any other primitives can be easily represented by isosurfaces and then
blobbed.
From <http://www.econym.demon.co.uk/isotut/combine.htm>
Blob-like combinations
======================
#include "functions.inc"
#declare S = function {f_sphere(x,y,z,0.5)}
#declare T = function {f_torus(x,y,z,1,0.2)}
isosurface {
function { S(x-0.7,y,z) * T(x,y,z) - 0.05}
max_gradient 2
accuracy 0.001
contained_by{sphere{0,R}}
pigment {rgb .9}
}
[The MegaPOV syntax for the sphere and torus built in functions is ]
[#declare S = function {"sphere" <.5>} ]
[#declare T = function {"torus" <1,0.2>} ]
Multiplying surfaces then adding a small constant produces an effect
that's similar to using blobs. However, this technique can be used to
blob together any kind of isosurface, not just spheres and cylinders.
Also, in MegaPOV, it's possible to perform isosurface blobbing of any
object by creating the isosurfaces from proximity patterns of the
objects. Proximity patterns are not available in POV3.5. MegaPOV
proximity patterns are rather slow.
--
Mike Williams
Gentleman of Leisure
Post a reply to this message
|
|