Really this is more a geometry question than OpenSCAD but I know you're a
knowledgable lot. I've recently been playing with creating nets of solids with non-planar faces. When folded, such nets result in curved surfaces, but as polyhedra, the non-planer surfaces are minimally triangulated. <http://forum.openscad.org/file/t229/random-n-prism.png> When constructed in a 2-D rigid material like card, all surfaces assume curved shapes, though these are not necessarily uniquely defined - some faces are bi or multi-stable indicating multiple solutions. <http://forum.openscad.org/file/t229/rpenta-r.jpg> I'd like to find some optimisation method which would produce a triangulation of the solid which would satisfy the fixed edge length constraints whilst minimising curvature (or something like that) Any pointers? -- Sent from: http://forum.openscad.org/ _______________________________________________ OpenSCAD mailing list [hidden email] http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org |
If I take a piece of paper and try to form it into a curve, it can only curve
in one direction (e.g. like rolling it into a cylinder). One of the two principle curvatures is going to be zero, and the curvature of the surface (being the product of the principle curvatures) is also zero. So I'm a little puzzled by your description of forming curved surfaces out of rigid card-like material. If you can only curve in one direction the curvature is always going to be zero (which makes minimizing the curvature not interesting) and it's impossible to avoid creating curved edges unless you just keep the faces coplanar. To create the curved surfaces you seem to be interested in you need to make them out of a stretchy material. Soap bubbles? In answer to the question of how you might construct curved faces when you are given straight edges, the obvious and simple way to do it is to just bilinearly interpolate the points on the surface. That gives a result like this, with curved faces: <http://forum.openscad.org/file/t2477/sq_pent.png> I would guess that surfaces like this would satisfy various optimality conditions, but I don't know for sure. But if I try to form that surface in the image out of paper, the paper develops creases (or would tear if it was weaker). kitwallace wrote > Really this is more a geometry question than OpenSCAD but I know you're a > knowledgable lot. > > I've recently been playing with creating nets of solids with non-planar > faces. When folded, such nets result in curved surfaces, but as > polyhedra, > the non-planer surfaces are minimally triangulated. > > <http://forum.openscad.org/file/t229/random-n-prism.png> > > When constructed in a 2-D rigid material like card, all surfaces assume > curved shapes, though these are not necessarily uniquely defined - some > faces are bi or multi-stable indicating multiple solutions. > > <http://forum.openscad.org/file/t229/rpenta-r.jpg> > > I'd like to find some optimisation method which would produce a > triangulation of the solid which would satisfy the fixed edge length > constraints whilst minimising curvature (or something like that) -- Sent from: http://forum.openscad.org/ _______________________________________________ OpenSCAD mailing list [hidden email] http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org |
Besides that I guess that one curved ruled surface in a construction like that including planar faces will develop tensions and the intended planar faces will get curved too. _______________________________________________ OpenSCAD mailing list [hidden email] http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org |
andrianv - yes I have created similar shapes to the one you show with upper
and lower faces generated as random polygons: https://www.thingiverse.com/thing:3028025 (if anyone can still use Thingiverse these days). If so minded, you can assemble a solid with regular pentagonal faces from this net (no tabs added) http://kitwallace.co.uk/3d/models/pentagonal-prism-twist.svg However here the faces are different, typically bowing outward rather than inward on a quadrilateral face. In less regular nets, the upper face is twisted in several directions -as Ronaldo sugggests- the net of the one in the photo has having several lines of curvature on one hexagonal face - as the rather poor photo in my post shows. its net is here: http://kitwallace.co.uk/3d/models/bi-sided-hexaprism-twist.svg -- Sent from: http://forum.openscad.org/ _______________________________________________ OpenSCAD mailing list [hidden email] http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org |
with regard to curvature, yes I agree the local curvature in a 2d rigid sheet
is everywhere zero although the sheet may look globally curved in different directions. The initial triangular mesh however will not have zero curvature however so changing the mesh to reduce the average curvature should move it towards the smoothly curved form. Ive only just started down this rabbit hole but I can see its rather deep. One good paper I found (mostly on origami and kiriami) is https://www.sciencedirect.com/science/article/pii/S1369702117306399 and there is discussion on computation of curvatire of triangular mesh to be be found. -- 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 kitwallace
I tried folding up your flat models. First, it's hard to align edges
accurately. The edges tend to curve during assembly, and I think retain residual curvature. Secondly, the "curved" faces are really acting like creased faces, where they are divided into two triangles. Because I didn't actually form a crease, there is instead a curve there, and some distortion to accomodate it, but mathematically the model appears to me to be that you are just dividing the quadrilaterals into pairs of triangular faces. So the model I posted before looks like this, where I only approximate the curved face with two triangles instead of a hundred: <http://forum.openscad.org/file/t2477/ps.png> -- Sent from: http://forum.openscad.org/ _______________________________________________ OpenSCAD mailing list [hidden email] http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org |
I suspect you must be using rather heavy card - I dont find any problem
getting smothly curved surfaces with 160 or 180 gsm card. The simple triangulation shown in your model (and in mine in the initial post) is the first approximation to the curved surface - my aim was to compute a better approximation. -- Sent from: http://forum.openscad.org/ _______________________________________________ OpenSCAD mailing list [hidden email] http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org |
I was using 90 gsm "card" for my models---regular printer paper.
I think that you have it backwards. Your models are a curved approximation to the triangulations, where in those approximations, the edges aren't actually straight You can't curve the faces and keep the edges straight. It's not possible mathematically unless the paper stretches because the paper has to have zero curvature. (The shapes you want to form aren't "developable" in the language of the paper you cited.) You can keep two of the edges straight, but the other ones need to curve--unless you do like the triangulations and crease the paper on the line between vertices. Or unless you do something like is shown in the paper and form a complex origami tessellation that enables the paper to develop non-zero Gaussian curvature at the large scale. It's not possible to compute the curved surface that forms in the real models because it's not a well-defined surface. We don't know which edges have curved, and by how much, because all that curvature is being absorbed and distributed throughout the model in assembly errors and small mis-matches in a complex and unconstrained, undefined way. If you want to compute the curved surface you need to intentionally curve the edges so you know which edges are curved and what the curves of those edges are. -- Sent from: http://forum.openscad.org/ _______________________________________________ OpenSCAD mailing list [hidden email] http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org |
Adrian, Yes your are right of course. I agree as far as an ideal 2d surface
is concerned. Here I'm dealing with a surface with some thickness - necessary to make any rigid model from 2d. So the form taken depends on the material. I suppose the distortion from zero curvature is quite small and as you suggest, accomodated in the assemblage. I guess Finite Element Analysis could be used to compute a mesh for these shapes. However, assembled from mirrored card, and maybe even from sheet steel, the curved surfaces look quite interesting :) -- 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 kitwallace
[quote]
... I'd like to find some optimisation method which would produce a triangulation of the solid which would satisfy the fixed edge length constraints whilst minimising curvature (or something like that) ... [/quote] You can set it up as a optimization problem and try to solve it using the calculus of variations. There are also numerical methods like finite element analysis. Those approaches are probably going to be beyond the scope of OPENscad's capabilities in most people's hands. -- Sent from: http://forum.openscad.org/ _______________________________________________ OpenSCAD mailing list [hidden email] http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org |
NateTG wrote
> [quote] > ... > I'd like to find some optimisation method which would produce a > triangulation of the solid which would satisfy the fixed edge length > constraints whilst minimising curvature (or something like that) > ... > [/quote] > > You can set it up as a optimization problem and try to solve it using the > calculus of variations. There are also numerical methods like finite > element analysis. Those approaches are probably going to be beyond the > scope of OPENscad's capabilities in most people's hands. In order to set up the problem, it is necessary to first actually formulate it in a coherent fashion. Without a formulation, it's impossible to say what mathematical method might be necessary for a solution. If the intention is to model things that you can make out of bent card stock then it seems like the correct formulation is to acknowledge that the edges are curved and the problem might be formulated as seeking zero curvature faces with curved edges where you minimizes the deviation of curved edges from the original straight edges. The nonzero thickness of the card is not a critical factor here. What matters is whether the card material can stretch, and hence assume a nonzero curvature. -- 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 |