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 <

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

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 <

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 <

The catenary is from A to the midpoint of BC.

On Fri, Jun 28, 2024 at 6:13 AM Guenther Sohler via Discuss <

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

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

`````` The catenary is from A to the midpoint of BC.

On Fri, Jun 28, 2024 at 6:13 AM Guenther Sohler via Discuss

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

_______________________________________________
To unsubscribe send an email to discuss-leave@lists.openscad.org
``````

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
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:

On Fri, 28 Jun 2024 at 17:36, Andreas Croci via Discuss <

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 <

The catenary is from A to the midpoint of BC.

On Fri, Jun 28, 2024 at 6:13 AM Guenther Sohler via Discuss <

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

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

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

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 <

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

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.

\$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 > > > >