So I want to write a `wrap` module that performs a cylindrical coordinate transform to roll its children around a cylinder. (This would have lots of uses, e.g. a cylinder for a music box, a crown, or a cookie roller). A natural way to do this in userland is to dissect the children into slices and map each slice to a wedge of the cylinder. (It could even be generalized to wrap around any user-defined shape. This is actually what I was writing). However, the slice->wedge transformation is not linear (it has a singularity at the axis of the cylinder). It would be possible to implement this using projective transformations from So the current status of (as a proof of concept, I am writing a part of this in OpenSCAD language right now. This would work, but ultimately not be the right way to do this!). Sent from the OpenSCAD mailing list archive at Nabble.com. _______________________________________________ OpenSCAD mailing list [hidden email] http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org |
An operator using this "generalized" transformation would have to do exactly
what you mentioned: It would have to slice the object into chops (i.e. some refined triangulation has to take place) and then apply your suggested transformation in a pointwise fashion. While this map is obviously not affine (by definition) it is also not injective in general. Thus it is prone to produce singularities and have a lot of nasty effects that can harm the integrity of an object and mess up a design. This not exactly what an operator should be allowed to do. Just keep general sweep or skin operations in mind which allow for self-intersections. Of course it would be possible to implement such behaviour and put an "enter at our own risk" sign in front of the door. But, first it is not an easy task (think of the refinement) to accomplish and second such an "unsave" operation will never make it into a release version. -- Sent from: http://forum.openscad.org/ _______________________________________________ OpenSCAD mailing list [hidden email] http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org |
Free forum by Nabble | Edit this page |