discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

how to approximate the shape of a sail?

DP
Dan Perry
Fri, Jun 28, 2024 9:49 AM

I'm struggling how to approximate the shape of the sails on this windmill:
[image: image.png]
The edges AC and BC could probably be defined as a catenary, but beyond
that I'm struggling to come up with anything.  Suggestions?
Dan

I'm struggling how to approximate the shape of the sails on this windmill: [image: image.png] The edges AC and BC could probably be defined as a catenary, but beyond that I'm struggling to come up with anything. Suggestions? Dan
GS
Guenther Sohler
Fri, Jun 28, 2024 1:12 PM

yes, but but A-B is a straight!

so you can

  • define the catenary(chain- curve) in 2D space
  • linear_extrude it to 3D space
  • use multmatrix to skew it on the way  from AB to C
  • mirror-copy the result as you probably only get half of the riangle

On Fri, Jun 28, 2024 at 11:49 AM Dan Perry via Discuss <
discuss@lists.openscad.org> wrote:

I'm struggling how to approximate the shape of the sails on this windmill:
[image: image.png]
The edges AC and BC could probably be defined as a catenary, but beyond
that I'm struggling to come up with anything.  Suggestions?
Dan


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

yes, but but A-B is a straight! so you can * define the catenary(chain- curve) in 2D space * linear_extrude it to 3D space * use multmatrix to skew it on the way from AB to C * mirror-copy the result as you probably only get half of the riangle On Fri, Jun 28, 2024 at 11:49 AM Dan Perry via Discuss < discuss@lists.openscad.org> wrote: > I'm struggling how to approximate the shape of the sails on this windmill: > [image: image.png] > The edges AC and BC could probably be defined as a catenary, but beyond > that I'm struggling to come up with anything. Suggestions? > Dan > > > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
DP
David Phillip Oster
Fri, Jun 28, 2024 3:59 PM

The catenary is from A to the midpoint of BC.

On Fri, Jun 28, 2024 at 6:13 AM Guenther Sohler via Discuss <
discuss@lists.openscad.org> wrote:

yes, but but A-B is a straight!

so you can

  • define the catenary(chain- curve) in 2D space
  • linear_extrude it to 3D space
  • use multmatrix to skew it on the way  from AB to C
  • mirror-copy the result as you probably only get half of the riangle
The catenary is from A to the midpoint of BC. On Fri, Jun 28, 2024 at 6:13 AM Guenther Sohler via Discuss < discuss@lists.openscad.org> wrote: > yes, but but A-B is a straight! > > so you can > * define the catenary(chain- curve) in 2D space > * linear_extrude it to 3D space > * use multmatrix to skew it on the way from AB to C > * mirror-copy the result as you probably only get half of the riangle > >
JH
Joe H
Fri, Jun 28, 2024 4:11 PM

The OP said "approximate".  I would think that a catenary would be more of
an "exact" solution.

IMO, an approximation would simply be a large radius arc-segment.

On Fri, Jun 28, 2024 at 11:00 AM David Phillip Oster via Discuss <
discuss@lists.openscad.org> wrote:

The catenary is from A to the midpoint of BC.

On Fri, Jun 28, 2024 at 6:13 AM Guenther Sohler via Discuss <
discuss@lists.openscad.org> wrote:

yes, but but A-B is a straight!

so you can

  • define the catenary(chain- curve) in 2D space
  • linear_extrude it to 3D space
  • use multmatrix to skew it on the way  from AB to C
  • mirror-copy the result as you probably only get half of the riangle

OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

The OP said "approximate". I would think that a catenary would be more of an "exact" solution. IMO, an approximation would simply be a large radius arc-segment. On Fri, Jun 28, 2024 at 11:00 AM David Phillip Oster via Discuss < discuss@lists.openscad.org> wrote: > The catenary is from A to the midpoint of BC. > > On Fri, Jun 28, 2024 at 6:13 AM Guenther Sohler via Discuss < > discuss@lists.openscad.org> wrote: > >> yes, but but A-B is a straight! >> >> so you can >> * define the catenary(chain- curve) in 2D space >> * linear_extrude it to 3D space >> * use multmatrix to skew it on the way from AB to C >> * mirror-copy the result as you probably only get half of the riangle >> >> _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
AC
Andreas Croci
Fri, Jun 28, 2024 4:36 PM

I would agree on this, but as far as I remember from long ago in
Engineering School, the catenary only describes the shape of the rope if:

  • It's density is homogeneous (which is almost always implied, when not
    stated otherwise),

  • we are in an homogeneous gravitational field (which is even more
    implied, if we don't have an awful long rope and the extremes are very
    far away).

  • the rope is subject to its own weight only, which in this case doesn't
    seem to apply.

On 28/06/2024 18:11, Joe H via Discuss wrote:

The OP said "approximate".  I would think that a catenary would be
more of an "exact" solution.

IMO, an approximation would simply be a large radius arc-segment.

On Fri, Jun 28, 2024 at 11:00 AM David Phillip Oster via Discuss
discuss@lists.openscad.org wrote:

 The catenary is from A to the midpoint of BC.

 On Fri, Jun 28, 2024 at 6:13 AM Guenther Sohler via Discuss
 <discuss@lists.openscad.org> wrote:

     yes, but but A-B is a straight!

     so you can
     * define the catenary(chain- curve) in 2D space
     * linear_extrude it to 3D space
     * use multmatrix to skew it on the way  from AB to C
     * mirror-copy the result as you probably only get half of the
     riangle

 _______________________________________________
 OpenSCAD mailing list
 To unsubscribe send an email to discuss-leave@lists.openscad.org

OpenSCAD mailing list
To unsubscribe send an email todiscuss-leave@lists.openscad.org

I would agree on this, but as far as I remember from long ago in Engineering School, the catenary only describes the shape of the rope if: - It's density is homogeneous (which is almost always implied, when not stated otherwise), - we are in an homogeneous gravitational field (which is even more implied, if we don't have an awful long rope and the extremes are very far away). - the rope is subject to its own weight only, which in this case doesn't seem to apply. On 28/06/2024 18:11, Joe H via Discuss wrote: > The OP said "approximate".  I would think that a catenary would be > more of an "exact" solution. > > IMO, an approximation would simply be a large radius arc-segment. > > On Fri, Jun 28, 2024 at 11:00 AM David Phillip Oster via Discuss > <discuss@lists.openscad.org> wrote: > > The catenary is from A to the midpoint of BC. > > On Fri, Jun 28, 2024 at 6:13 AM Guenther Sohler via Discuss > <discuss@lists.openscad.org> wrote: > > yes, but but A-B is a straight! > > so you can > * define the catenary(chain- curve) in 2D space > * linear_extrude it to 3D space > * use multmatrix to skew it on the way  from AB to C > * mirror-copy the result as you probably only get half of the > riangle > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org > > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email todiscuss-leave@lists.openscad.org
NH
nop head
Fri, Jun 28, 2024 4:56 PM

I think if the wind is uniform across the sail hitting it straight on it
would have pretty much the same effect as gravity on a rope. The catenary
formula comes from balancing  tension along the rope with gravity and
integrating. There is a function in NopSCADlib to make one:
https://github.com/nophead/NopSCADlib/tree/master?tab=readme-ov-file#catenary

On Fri, 28 Jun 2024 at 17:36, Andreas Croci via Discuss <
discuss@lists.openscad.org> wrote:

I would agree on this, but as far as I remember from long ago in
Engineering School, the catenary only describes the shape of the rope if:

  • It's density is homogeneous (which is almost always implied, when not
    stated otherwise),

  • we are in an homogeneous gravitational field (which is even more
    implied, if we don't have an awful long rope and the extremes are very far
    away).

  • the rope is subject to its own weight only, which in this case doesn't
    seem to apply.
    On 28/06/2024 18:11, Joe H via Discuss wrote:

The OP said "approximate".  I would think that a catenary would be more of
an "exact" solution.

IMO, an approximation would simply be a large radius arc-segment.

On Fri, Jun 28, 2024 at 11:00 AM David Phillip Oster via Discuss <
discuss@lists.openscad.org> wrote:

The catenary is from A to the midpoint of BC.

On Fri, Jun 28, 2024 at 6:13 AM Guenther Sohler via Discuss <
discuss@lists.openscad.org> wrote:

yes, but but A-B is a straight!

so you can

  • define the catenary(chain- curve) in 2D space
  • linear_extrude it to 3D space
  • use multmatrix to skew it on the way  from AB to C
  • mirror-copy the result as you probably only get half of the riangle

OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

I think if the wind is uniform across the sail hitting it straight on it would have pretty much the same effect as gravity on a rope. The catenary formula comes from balancing tension along the rope with gravity and integrating. There is a function in NopSCADlib to make one: https://github.com/nophead/NopSCADlib/tree/master?tab=readme-ov-file#catenary On Fri, 28 Jun 2024 at 17:36, Andreas Croci via Discuss < discuss@lists.openscad.org> wrote: > I would agree on this, but as far as I remember from long ago in > Engineering School, the catenary only describes the shape of the rope if: > > - It's density is homogeneous (which is almost always implied, when not > stated otherwise), > > - we are in an homogeneous gravitational field (which is even more > implied, if we don't have an awful long rope and the extremes are very far > away). > > - the rope is subject to its own weight only, which in this case doesn't > seem to apply. > On 28/06/2024 18:11, Joe H via Discuss wrote: > > The OP said "approximate". I would think that a catenary would be more of > an "exact" solution. > > IMO, an approximation would simply be a large radius arc-segment. > > On Fri, Jun 28, 2024 at 11:00 AM David Phillip Oster via Discuss < > discuss@lists.openscad.org> wrote: > >> The catenary is from A to the midpoint of BC. >> >> On Fri, Jun 28, 2024 at 6:13 AM Guenther Sohler via Discuss < >> discuss@lists.openscad.org> wrote: >> >>> yes, but but A-B is a straight! >>> >>> so you can >>> * define the catenary(chain- curve) in 2D space >>> * linear_extrude it to 3D space >>> * use multmatrix to skew it on the way from AB to C >>> * mirror-copy the result as you probably only get half of the riangle >>> >>> _______________________________________________ >> OpenSCAD mailing list >> To unsubscribe send an email to discuss-leave@lists.openscad.org >> > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
SP
Sanjeev Prabhakar
Fri, Jun 28, 2024 5:25 PM

looks to me a shape like this:

[image: Screenshot 2024-06-28 at 10.54.30 PM.png]

On Fri, 28 Jun 2024 at 15:20, Dan Perry via Discuss <
discuss@lists.openscad.org> wrote:

I'm struggling how to approximate the shape of the sails on this windmill:
[image: image.png]
The edges AC and BC could probably be defined as a catenary, but beyond
that I'm struggling to come up with anything.  Suggestions?
Dan


OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org

looks to me a shape like this: [image: Screenshot 2024-06-28 at 10.54.30 PM.png] On Fri, 28 Jun 2024 at 15:20, Dan Perry via Discuss < discuss@lists.openscad.org> wrote: > I'm struggling how to approximate the shape of the sails on this windmill: > [image: image.png] > The edges AC and BC could probably be defined as a catenary, but beyond > that I'm struggling to come up with anything. Suggestions? > Dan > > > > _______________________________________________ > OpenSCAD mailing list > To unsubscribe send an email to discuss-leave@lists.openscad.org >
DP
Dan Perry
Fri, Jun 28, 2024 5:35 PM

I found a solution:
[image: image.png]

I used the bezier functions in BOSL2.  Adjusting the center_z and edge_z
parameters is a quick way to tweak the shape of the sail.  My solution to
turn the zero thickness bezier patch into a 1 unit thick shape is
inelegant, hopefully the BOSL2 team can explain a better way.

include <BOSL2/std.scad>
include <BOSL2/beziers.scad>

$fs = 0.2;
$fa = 1.0;

center_z = 20;
edge_z = 8;

patch = [
[[0,  50, 0], [25,  33.3, edge_z], [50,  16.7, edge_z], [75, 0, 0]],
[[0,  0, 0], [25,  0, center_z], [50,  0, center_z-5], [75, 0, 0]],
[[0, -50, 0], [25, -33.3, edge_z], [50, -16.7, edge_z], [75, 0, 0]]
];
// debug_bezier_patches(patches=[patch], size=1, showcps=false);
vnf = bezier_vnf([
patch,
up(1, patch),
]);

difference() {
hull() vnf_polyhedron(vnf);
translate([0, 0, -1]) scale([1.01, 1.01, 1.00]) hull() vnf_polyhedron
(vnf);
}

On Fri, Jun 28, 2024 at 10:49 AM Dan Perry dan.p3rry@gmail.com wrote:

I'm struggling how to approximate the shape of the sails on this windmill:
[image: image.png]
The edges AC and BC could probably be defined as a catenary, but beyond
that I'm struggling to come up with anything.  Suggestions?
Dan

I found a solution: [image: image.png] I used the bezier functions in BOSL2. Adjusting the center_z and edge_z parameters is a quick way to tweak the shape of the sail. My solution to turn the zero thickness bezier patch into a 1 unit thick shape is inelegant, hopefully the BOSL2 team can explain a better way. include <BOSL2/std.scad> include <BOSL2/beziers.scad> $fs = 0.2; $fa = 1.0; center_z = 20; edge_z = 8; patch = [ [[0, 50, 0], [25, 33.3, edge_z], [50, 16.7, edge_z], [75, 0, 0]], [[0, 0, 0], [25, 0, center_z], [50, 0, center_z-5], [75, 0, 0]], [[0, -50, 0], [25, -33.3, edge_z], [50, -16.7, edge_z], [75, 0, 0]] ]; // debug_bezier_patches(patches=[patch], size=1, showcps=false); vnf = bezier_vnf([ patch, up(1, patch), ]); difference() { hull() vnf_polyhedron(vnf); translate([0, 0, -1]) scale([1.01, 1.01, 1.00]) hull() vnf_polyhedron (vnf); } On Fri, Jun 28, 2024 at 10:49 AM Dan Perry <dan.p3rry@gmail.com> wrote: > I'm struggling how to approximate the shape of the sails on this windmill: > [image: image.png] > The edges AC and BC could probably be defined as a catenary, but beyond > that I'm struggling to come up with anything. Suggestions? > Dan > > > >