|
|
> To go into more detail, linear transforms have the property that
> transforming two points and adding them together gives the same result
> as adding them together and then transforming that point. Affine
> transforms such as those used by POV do not necessarily have this
> property, though they must preserve collinearity (all points on a
> straight line must transform to points on a straight line). In the case
> of POV, they must also be invertible, you will get an error about a
> "singular matrix" otherwise.
I think what I'm trying to do would keep all strait lines as strait lines
after the transformation. Although lines that were parallel before the
transformation might not be after. I also think it should be invertible
as long as the point where the z scaling factor becomes zero is
outside the object.
> Or just create the transformed version directly. Don't try to transform
> a cylinder into a cone, just create a cone.
Well what I'm after isn't a cylinder or a cone, though it might be easier
to transform a cylinder into the shape I'm after then a cone come to
think of it.
> To bend a tube, use a little CSG.
I'm not trying to bend a tube either. You know how a cone can be
used to connect two spheres to make a shape like you'd get with a
linear sphere_sweep. I'm trying to connect these two spheres with a
similar shape.
sphere {<0,0,0>,a1 scale <1,1,b1/a1>}
sphere {<x0,0,0>a2 scale <1,1,b2/a2>}
Does that make it any clearer what I'm trying to do?
> Or make a mesh and deform it, which is likely to be faster than an
> isosurface, but will have problems with typical mesh artifacts like
> faceting and polygonal edges.
I haven't got around to playing with meshs either and as I don't want
to deal with the artifacts you mention I think I'll continue to work on
the isosurface approach.
Thanks...
Carl
Post a reply to this message
|
|