non-planer surfaces to curved faces

classic Classic list List threaded Threaded
11 messages Options
Reply | Threaded
Open this post in threaded view
|

non-planer surfaces to curved faces

kitwallace
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
Reply | Threaded
Open this post in threaded view
|

Re: non-planer surfaces to curved faces

adrianv
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.
>
> &lt;http://forum.openscad.org/file/t229/random-n-prism.png&gt; 
>
> 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.  
>
> &lt;http://forum.openscad.org/file/t229/rpenta-r.jpg&gt; 
>
> 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
Reply | Threaded
Open this post in threaded view
|

Re: non-planer surfaces to curved faces

Ronaldo
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
Reply | Threaded
Open this post in threaded view
|

Re: non-planer surfaces to curved faces

kitwallace
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
Reply | Threaded
Open this post in threaded view
|

Re: non-planer surfaces to curved faces

kitwallace
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
Reply | Threaded
Open this post in threaded view
|

Re: non-planer surfaces to curved faces

adrianv
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
Reply | Threaded
Open this post in threaded view
|

Re: non-planer surfaces to curved faces

kitwallace
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
Reply | Threaded
Open this post in threaded view
|

Re: non-planer surfaces to curved faces

adrianv
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
Reply | Threaded
Open this post in threaded view
|

Re: non-planer surfaces to curved faces

kitwallace
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
Reply | Threaded
Open this post in threaded view
|

Re: non-planer surfaces to curved faces

NateTG
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
Reply | Threaded
Open this post in threaded view
|

Re: non-planer surfaces to curved faces

adrianv
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