On 3/3/2018 11:16 AM, NateTG wrote:
Provided the space is defined in terms of orientable non-intersecting/non-touching triangle meshes "shell counting" isn't appreciably harder than calculating the volume. What about if they *are* touching? ... was that the normal orientation didn't matter and could be arbitrary from one triangle to the next, ...It doesn't. What matters is that a consistent assignment of normals is possible and the surface doesn't self-intersect. If that is the case, it's not that challenging to work out a proper winding direction of each face automatically. (Zero volume surfaces can have multiple valid windings.) So how possible would it be to build a system (which might consist of a CAD program like OpenSCAD and a slicer) that would not care if you got the winding direction wrong or if you let objects touch one another? _______________________________________________ OpenSCAD mailing list [hidden email] http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org |
> What about if they *are* touching?
When surfaces are touching, then it's not always clear what's supposed to happen. > So how possible would it be to build a system (which might consist of a > CAD program like OpenSCAD and a slicer) that would not care if you got the > winding direction wrong or if you let objects touch one another? Try to and find out. Honestly, I'm a little surprised that OpenSCAD doesn't fix winding directions automatically. -- Sent from: http://forum.openscad.org/ _______________________________________________ OpenSCAD mailing list [hidden email] http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org |
In reply to this post by JordanBrown
On 05. mars 2018 09:27, Jordan Brown wrote:
> On 3/3/2018 11:16 AM, NateTG wrote: >> Provided the space is defined in terms of orientable >> non-intersecting/non-touching triangle meshes "shell counting" isn't >> appreciably harder than calculating the volume. > > What about if they *are* touching? Indeed. In a polyhedron, the faces are touching by definition. Otherwise it isn't a polyhedron. Carsten Arnholm _______________________________________________ OpenSCAD mailing list [hidden email] http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org |
In reply to this post by JordanBrown
So how possible would it be to build a system (which might consist of a CAD program like OpenSCAD and a slicer) that would not care if you got the winding direction wrong or if you let objects touch one another? If an object is built by boolean operations of any primitives except polyhedron, the winding order will be consistent even if the result is not a manifold. For polyhedron, a consistent winding order is user responsability. A polyhedron is a soup of (possibly triangulated) facets so it is possible to define non-orientable, non-manifold, self-intersecting freaks with polyhedron. When the polyhedron call defines an *orientable* manifold it is possible to find a consistent winding order to the facets by traversing all the facets. If this traversing is unable to find a consistent winding order than it is possible to conclude that the polyhedron skin is non-orientable or a non-manifold. Self-intersection are harder to detect because it requires comparing all facet pairs. To illustrate the impossibility of finding a winding order for some cases, consider the following section of the facets of a polyhedron: where all the facets (except the top and bottom ones) are parallel to the Z axis and have equal heights.
_______________________________________________ OpenSCAD mailing list [hidden email] http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org |
In reply to this post by NateTG
On 3/5/2018 6:02 AM, NateTG wrote:
So how possible would it be to build a system (which might consist of a CAD program like OpenSCAD and a slicer) that would not care if you got the winding direction wrong or if you let objects touch one another?Try to and find out. I freely admit that I don't have nearly the math knowledge to do it. _______________________________________________ OpenSCAD mailing list [hidden email] http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org |
In reply to this post by Ronaldo
On 3/5/2018 12:08 PM, Ronaldo Persiano
wrote:
I'm having a hard time understanding what I'm looking at. I don't see how it can be a polyhedron, because two of the vertices seem to have only two edges connected to them. _______________________________________________ OpenSCAD mailing list [hidden email] http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org |
JordanBrown wrote
> ... > I'm having a hard time understanding what I'm looking at. I don't see > how it can be a polyhedron, because two of the vertices seem to have > only two edges connected to them. > ... The traditional examples of a non-orientable surface are Klein bottles and Moebius strips. You can't color one of those with blue on one side and red on the other. http://forum.openscad.org/file/t2140/kleinbottle.scad -- Sent from: http://forum.openscad.org/ _______________________________________________ OpenSCAD mailing list [hidden email] http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org |
On 3/5/2018 5:16 PM, NateTG wrote:
JordanBrown wrote... I'm having a hard time understanding what I'm looking at. I don't see how it can be a polyhedron, because two of the vertices seem to have only two edges connected to them. ...The traditional examples of a non-orientable surface are Klein bottles and Moebius strips. You can't color one of those with blue on one side and red on the other. http://forum.openscad.org/file/t2140/kleinbottle.scad Sure. I would consider the ability to model impossible figures[*] to be very much secondary to making it easy to model possible figures. I would not be bothered in the slightest if OpenSCAD rejected a Klein bottle as a self-intersecting polyhedron. [*] A Möbius strip is an impossible 2-dimensional figure. As a three-dimensional figure with thickness it is completely possible, but then it also isn't, well, impossible; it has a well-defined inside and outside. _______________________________________________ OpenSCAD mailing list [hidden email] http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org |
Free forum by Nabble | Edit this page |