discuss@lists.openscad.org

OpenSCAD general discussion Mailing-list

View all threads

Does Minkowski work only in 2d?

DM
doug moen
Tue, Mar 8, 2016 1:58 PM

Thank you for correcting me, Nop Head. I've been confused about this for a
while.

On 8 March 2016 at 07:47, nop head nop.head@gmail.com wrote:

No that is wrong.

minkowski() {
cube(10, center = true);
sphere(d =10);

}

Gives a rounded  20mm cube.


If you consider each vertex to be a vector then every possible pair of
vertices are added and the resulting points are hulled. The vertices are
not aligned, they are summed. That is the same as saying the origin of one
object is offset by the vertices of the other.

On 8 March 2016 at 12:21, doug moen doug@moens.org wrote:

Nop Head said: The definition in simple terms is that the origin of the
first object is placed at every point inside the second object and the
results unioned. Of course that would be an infinite number unless the
object was divided into voxels.

It's not just the origin. Every point within the first object is aligned
with every point within the second object and the results unioned.

If you combine a cube of size 10 with a sphere of diameter 10, you'll get
a rounded cube of size 30.

On Tuesday, 8 March 2016, nop head nop.head@gmail.com wrote:

The definition in simple terms is that the origin of the first object is
placed at every point inside the second object and the results unioned. Of
course that would be an infinite number unless the object was divided into
voxels.

In practice you get exactly the same result sweeping the origin of the
first object along all the edges of the second object. Again infinite but
less so ;-)

If the object is convex than you can place the origin of the first
object at all of the vertices of the second object and take the convex
hull. This is now finite to compute as it is just a hull of all the
vertices of one object added to all the vertices of the other object. This
is why you said some of the results look like a hull. They are. And since
vector addition is commutative, so is Minkowski.

To do Minkowski on concave objects you need to decompose them into
multiple convex ones, do convex Minkowski on those and then union the
results.

On 8 March 2016 at 06:15, arnholm@arnholm.org wrote:

On 2016-03-08 00:16, Parkinbot wrote:

You can regard minkowski as an inner product. Which "natural" 3D
semantics
would you expect when translations are inserted?

What do you mean by inner product in this context? I don't have a lot
of expectations, but rather trying to understand the definition so I can
establish expectations of how this is supposed to work.


OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org

Thank you for correcting me, Nop Head. I've been confused about this for a while. On 8 March 2016 at 07:47, nop head <nop.head@gmail.com> wrote: > No that is wrong. > > minkowski() { > cube(10, center = true); > sphere(d =10); > > } > > Gives a rounded 20mm cube. > > > ​ > If you consider each vertex to be a vector then every possible pair of > vertices are added and the resulting points are hulled. The vertices are > not aligned, they are summed. That is the same as saying the origin of one > object is offset by the vertices of the other. > > On 8 March 2016 at 12:21, doug moen <doug@moens.org> wrote: > >> Nop Head said: The definition in simple terms is that the origin of the >> first object is placed at every point inside the second object and the >> results unioned. Of course that would be an infinite number unless the >> object was divided into voxels. >> >> It's not just the origin. Every point within the first object is aligned >> with every point within the second object and the results unioned. >> >> If you combine a cube of size 10 with a sphere of diameter 10, you'll get >> a rounded cube of size 30. >> >> On Tuesday, 8 March 2016, nop head <nop.head@gmail.com> wrote: >> >>> The definition in simple terms is that the origin of the first object is >>> placed at every point inside the second object and the results unioned. Of >>> course that would be an infinite number unless the object was divided into >>> voxels. >>> >>> In practice you get exactly the same result sweeping the origin of the >>> first object along all the edges of the second object. Again infinite but >>> less so ;-) >>> >>> If the object is convex than you can place the origin of the first >>> object at all of the vertices of the second object and take the convex >>> hull. This is now finite to compute as it is just a hull of all the >>> vertices of one object added to all the vertices of the other object. This >>> is why you said some of the results look like a hull. They are. And since >>> vector addition is commutative, so is Minkowski. >>> >>> To do Minkowski on concave objects you need to decompose them into >>> multiple convex ones, do convex Minkowski on those and then union the >>> results. >>> >>> >>> >>> >>> On 8 March 2016 at 06:15, <arnholm@arnholm.org> wrote: >>> >>>> On 2016-03-08 00:16, Parkinbot wrote: >>>> >>>>> You can regard minkowski as an inner product. Which "natural" 3D >>>>> semantics >>>>> would you expect when translations are inserted? >>>>> >>>> >>>> What do you mean by inner product in this context? I don't have a lot >>>> of expectations, but rather trying to understand the definition so I can >>>> establish expectations of how this is supposed to work. >>>> >>>> _______________________________________________ >>>> OpenSCAD mailing list >>>> Discuss@lists.openscad.org >>>> http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org >>>> >>> >>> >> _______________________________________________ >> OpenSCAD mailing list >> Discuss@lists.openscad.org >> http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org >> >> > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org > >
CA
Carsten Arnholm
Tue, Mar 8, 2016 10:48 PM

On 08. mars 2016 14:58, doug moen wrote:

I've been confused about this for a while.

The discussion is kind of interesting, but my overall impression is that
minkowski is rarely useful in practice as it can be difficult for an end
user to predict/understand what it does and where the result will end up
in relation to other parts.

Carsten Arnholm

On 08. mars 2016 14:58, doug moen wrote: > I've been confused about this for a while. The discussion is kind of interesting, but my overall impression is that minkowski is rarely useful in practice as it can be difficult for an end user to predict/understand what it does and where the result will end up in relation to other parts. Carsten Arnholm
DM
doug moen
Tue, Mar 8, 2016 11:35 PM

Minkowski with a centred sphere is a useful operation that inflates an
object like a balloon, producing rounded corners. If the sphere has radius
r, then the new inflated object boundary will be exactly r units away from
the original boundary at all points.

That's the only practical application of minkowski that I know, but it's a
pretty good application, and not difficult to understand on its own.

On 8 March 2016 at 17:48, Carsten Arnholm arnholm@arnholm.org wrote:

On 08. mars 2016 14:58, doug moen wrote:

I've been confused about this for a while.

The discussion is kind of interesting, but my overall impression is that
minkowski is rarely useful in practice as it can be difficult for an end
user to predict/understand what it does and where the result will end up in
relation to other parts.

Carsten Arnholm


OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org

Minkowski with a centred sphere is a useful operation that inflates an object like a balloon, producing rounded corners. If the sphere has radius r, then the new inflated object boundary will be exactly r units away from the original boundary at all points. That's the only practical application of minkowski that I know, but it's a pretty good application, and not difficult to understand on its own. On 8 March 2016 at 17:48, Carsten Arnholm <arnholm@arnholm.org> wrote: > On 08. mars 2016 14:58, doug moen wrote: > >> I've been confused about this for a while. >> > > The discussion is kind of interesting, but my overall impression is that > minkowski is rarely useful in practice as it can be difficult for an end > user to predict/understand what it does and where the result will end up in > relation to other parts. > > Carsten Arnholm > > > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org > > >
AP
Andrew Plumb
Tue, Mar 8, 2016 11:56 PM

Things get more interesting when you think of it in terms of “shape-directed growth”.  Combine a few minkowski() with difference() and/or intersection() operators and you get things like this:

2D:  https://github.com/clothbot/ClothBotCreations/blob/master/examples/directional_minkowski.scad https://github.com/clothbot/ClothBotCreations/blob/master/examples/directional_minkowski.scad

3D:  https://github.com/clothbot/ClothBotCreations/blob/master/utilities/directed_minkowski.scad https://github.com/clothbot/ClothBotCreations/blob/master/utilities/directed_minkowski.scad

…or for something really fancy (caveat: the default “rotated cube” example takes a while to render):

https://github.com/clothbot/ClothBotCreations/blob/master/examples/quantize.scad https://github.com/clothbot/ClothBotCreations/blob/master/examples/quantize.scad

Andrew

On Mar 8, 2016, at 6:35 PM, doug moen doug@moens.org wrote:

Minkowski with a centred sphere is a useful operation that inflates an object like a balloon, producing rounded corners. If the sphere has radius r, then the new inflated object boundary will be exactly r units away from the original boundary at all points.

That's the only practical application of minkowski that I know, but it's a pretty good application, and not difficult to understand on its own.

On 8 March 2016 at 17:48, Carsten Arnholm <arnholm@arnholm.org mailto:arnholm@arnholm.org> wrote:
On 08. mars 2016 14:58, doug moen wrote:
I've been confused about this for a while.

The discussion is kind of interesting, but my overall impression is that minkowski is rarely useful in practice as it can be difficult for an end user to predict/understand what it does and where the result will end up in relation to other parts.

Carsten Arnholm


OpenSCAD mailing list
Discuss@lists.openscad.org mailto:Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org


OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org

--

"The future is already here.  It's just not very evenly distributed" -- William Gibson

Me: http://clothbot.com/wiki/ http://clothbot.com/wiki/

Things get more interesting when you think of it in terms of “shape-directed growth”. Combine a few minkowski() with difference() and/or intersection() operators and you get things like this: 2D: https://github.com/clothbot/ClothBotCreations/blob/master/examples/directional_minkowski.scad <https://github.com/clothbot/ClothBotCreations/blob/master/examples/directional_minkowski.scad> 3D: https://github.com/clothbot/ClothBotCreations/blob/master/utilities/directed_minkowski.scad <https://github.com/clothbot/ClothBotCreations/blob/master/utilities/directed_minkowski.scad> …or for something really fancy (caveat: the default “rotated cube” example takes a while to render): https://github.com/clothbot/ClothBotCreations/blob/master/examples/quantize.scad <https://github.com/clothbot/ClothBotCreations/blob/master/examples/quantize.scad> Andrew > On Mar 8, 2016, at 6:35 PM, doug moen <doug@moens.org> wrote: > > Minkowski with a centred sphere is a useful operation that inflates an object like a balloon, producing rounded corners. If the sphere has radius r, then the new inflated object boundary will be exactly r units away from the original boundary at all points. > > That's the only practical application of minkowski that I know, but it's a pretty good application, and not difficult to understand on its own. > > On 8 March 2016 at 17:48, Carsten Arnholm <arnholm@arnholm.org <mailto:arnholm@arnholm.org>> wrote: > On 08. mars 2016 14:58, doug moen wrote: > I've been confused about this for a while. > > The discussion is kind of interesting, but my overall impression is that minkowski is rarely useful in practice as it can be difficult for an end user to predict/understand what it does and where the result will end up in relation to other parts. > > Carsten Arnholm > > > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org <mailto:Discuss@lists.openscad.org> > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org <http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org> > > > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org -- "The future is already here. It's just not very evenly distributed" -- William Gibson Me: http://clothbot.com/wiki/ <http://clothbot.com/wiki/>
NH
nop head
Tue, Mar 8, 2016 11:58 PM

Sometimes I have used an inverted truncated teardrop instead of a sphere so
I get a rounded object but the bottom is still printable without support.

Other times I have use part of a sphere to round the front of an object but
leave the back flat.

I don't have any problem understanding what it will do or where the results
end up. As I said before it simply sweeps the origin of one object through
all the edges of the other. If each object has an offset from the origin
then the result will have the sum of those offsets from the origin. All the
vertices of the result are a vector sum of two vertices one from each of
the original objects.

On 8 March 2016 at 23:35, doug moen doug@moens.org wrote:

Minkowski with a centred sphere is a useful operation that inflates an
object like a balloon, producing rounded corners. If the sphere has radius
r, then the new inflated object boundary will be exactly r units away from
the original boundary at all points.

That's the only practical application of minkowski that I know, but it's a
pretty good application, and not difficult to understand on its own.

On 8 March 2016 at 17:48, Carsten Arnholm arnholm@arnholm.org wrote:

On 08. mars 2016 14:58, doug moen wrote:

I've been confused about this for a while.

The discussion is kind of interesting, but my overall impression is that
minkowski is rarely useful in practice as it can be difficult for an end
user to predict/understand what it does and where the result will end up in
relation to other parts.

Carsten Arnholm


OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org

Sometimes I have used an inverted truncated teardrop instead of a sphere so I get a rounded object but the bottom is still printable without support. Other times I have use part of a sphere to round the front of an object but leave the back flat. I don't have any problem understanding what it will do or where the results end up. As I said before it simply sweeps the origin of one object through all the edges of the other. If each object has an offset from the origin then the result will have the sum of those offsets from the origin. All the vertices of the result are a vector sum of two vertices one from each of the original objects. On 8 March 2016 at 23:35, doug moen <doug@moens.org> wrote: > Minkowski with a centred sphere is a useful operation that inflates an > object like a balloon, producing rounded corners. If the sphere has radius > r, then the new inflated object boundary will be exactly r units away from > the original boundary at all points. > > That's the only practical application of minkowski that I know, but it's a > pretty good application, and not difficult to understand on its own. > > On 8 March 2016 at 17:48, Carsten Arnholm <arnholm@arnholm.org> wrote: > >> On 08. mars 2016 14:58, doug moen wrote: >> >>> I've been confused about this for a while. >>> >> >> The discussion is kind of interesting, but my overall impression is that >> minkowski is rarely useful in practice as it can be difficult for an end >> user to predict/understand what it does and where the result will end up in >> relation to other parts. >> >> Carsten Arnholm >> >> >> >> _______________________________________________ >> OpenSCAD mailing list >> Discuss@lists.openscad.org >> http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org >> >> >> > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org > >
N
Neon22
Tue, Mar 8, 2016 11:59 PM

I find minkowski generally useful but leads to lazy thinking. Its convenient
to use a cylider 0.1 high and minkowski - when in fact I should be using
offset etc.

So I think a lot of people use it instead of doing it a simpler way which
requires more thinking about what they want to achieve. The length of time
it takes to process is the balancing factor, as this forces you to
reconsider your choices when its taking ages to build :)

I may be incorrect but I think having the minkowski is one of the only
reasons (and hull) we still use nef_polyhedron and the CGAL. I mean the
difficulty in coding a replacement in a faster library...
However - its hard to give up the minkowski... its seductive....

and the hull is fantastically useful of course.

--
View this message in context: http://forum.openscad.org/Does-Minkowski-work-only-in-2d-tp16334p16359.html
Sent from the OpenSCAD mailing list archive at Nabble.com.

I find minkowski generally useful but leads to lazy thinking. Its convenient to use a cylider 0.1 high and minkowski - when in fact I should be using offset etc. So I think a lot of people use it instead of doing it a simpler way which requires more thinking about what they want to achieve. The length of time it takes to process is the balancing factor, as this forces you to reconsider your choices when its taking ages to build :) I may be incorrect but I think having the minkowski is one of the only reasons (and hull) we still use nef_polyhedron and the CGAL. I mean the difficulty in coding a replacement in a faster library... However - its hard to give up the minkowski... its seductive.... and the hull is fantastically useful of course. -- View this message in context: http://forum.openscad.org/Does-Minkowski-work-only-in-2d-tp16334p16359.html Sent from the OpenSCAD mailing list archive at Nabble.com.
NH
nop head
Wed, Mar 9, 2016 12:09 AM

Hull is relatively easy to implement and so is convex Minkowski. Concave
Minkowski needs convex decomposition and union. I haven't looked how hard
decomposition is. I know union is more difficult than hull but any CSG
library will have it.

On 8 March 2016 at 23:59, Neon22 mschafer@wireframe.biz wrote:

I find minkowski generally useful but leads to lazy thinking. Its
convenient
to use a cylider 0.1 high and minkowski - when in fact I should be using
offset etc.

So I think a lot of people use it instead of doing it a simpler way which
requires more thinking about what they want to achieve. The length of time
it takes to process is the balancing factor, as this forces you to
reconsider your choices when its taking ages to build :)

I may be incorrect but I think having the minkowski is one of the only
reasons (and hull) we still use nef_polyhedron and the CGAL. I mean the
difficulty in coding a replacement in a faster library...
However - its hard to give up the minkowski... its seductive....

and the hull is fantastically useful of course.

--
View this message in context:
http://forum.openscad.org/Does-Minkowski-work-only-in-2d-tp16334p16359.html
Sent from the OpenSCAD mailing list archive at Nabble.com.


OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org

Hull is relatively easy to implement and so is convex Minkowski. Concave Minkowski needs convex decomposition and union. I haven't looked how hard decomposition is. I know union is more difficult than hull but any CSG library will have it. On 8 March 2016 at 23:59, Neon22 <mschafer@wireframe.biz> wrote: > I find minkowski generally useful but leads to lazy thinking. Its > convenient > to use a cylider 0.1 high and minkowski - when in fact I should be using > offset etc. > > So I think a lot of people use it instead of doing it a simpler way which > requires more thinking about what they want to achieve. The length of time > it takes to process is the balancing factor, as this forces you to > reconsider your choices when its taking ages to build :) > > I may be incorrect but I think having the minkowski is one of the only > reasons (and hull) we still use nef_polyhedron and the CGAL. I mean the > difficulty in coding a replacement in a faster library... > However - its hard to give up the minkowski... its seductive.... > > and the hull is fantastically useful of course. > > > > -- > View this message in context: > http://forum.openscad.org/Does-Minkowski-work-only-in-2d-tp16334p16359.html > Sent from the OpenSCAD mailing list archive at Nabble.com. > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org >
AP
Andrew Plumb
Wed, Mar 9, 2016 12:12 AM

On Mar 8, 2016, at 7:09 PM, nop head nop.head@gmail.com wrote:

Hull is relatively easy to implement and so is convex Minkowski. Concave Minkowski needs convex decomposition and union. I haven't looked how hard decomposition is. I know union is more difficult than hull but any CSG library will have it.

On 8 March 2016 at 23:59, Neon22 <mschafer@wireframe.biz mailto:mschafer@wireframe.biz> wrote:
I find minkowski generally useful but leads to lazy thinking. Its convenient
to use a cylider 0.1 high and minkowski - when in fact I should be using
offset etc.

So I think a lot of people use it instead of doing it a simpler way which
requires more thinking about what they want to achieve. The length of time
it takes to process is the balancing factor, as this forces you to
reconsider your choices when its taking ages to build :)

I may be incorrect but I think having the minkowski is one of the only
reasons (and hull) we still use nef_polyhedron and the CGAL. I mean the
difficulty in coding a replacement in a faster library...
However - its hard to give up the minkowski... its seductive....

and the hull is fantastically useful of course.

--
View this message in context: http://forum.openscad.org/Does-Minkowski-work-only-in-2d-tp16334p16359.html http://forum.openscad.org/Does-Minkowski-work-only-in-2d-tp16334p16359.html
Sent from the OpenSCAD mailing list archive at Nabble.com.


OpenSCAD mailing list
Discuss@lists.openscad.org mailto:Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org


OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org

--

"The future is already here.  It's just not very evenly distributed" -- William Gibson

Me: http://clothbot.com/wiki/ http://clothbot.com/wiki/

I opened a couple of related issues on the subject: https://github.com/openscad/openscad/issues/1562 <https://github.com/openscad/openscad/issues/1562> and https://github.com/openscad/openscad/issues/1590 <https://github.com/openscad/openscad/issues/1590> > On Mar 8, 2016, at 7:09 PM, nop head <nop.head@gmail.com> wrote: > > Hull is relatively easy to implement and so is convex Minkowski. Concave Minkowski needs convex decomposition and union. I haven't looked how hard decomposition is. I know union is more difficult than hull but any CSG library will have it. > > On 8 March 2016 at 23:59, Neon22 <mschafer@wireframe.biz <mailto:mschafer@wireframe.biz>> wrote: > I find minkowski generally useful but leads to lazy thinking. Its convenient > to use a cylider 0.1 high and minkowski - when in fact I should be using > offset etc. > > So I think a lot of people use it instead of doing it a simpler way which > requires more thinking about what they want to achieve. The length of time > it takes to process is the balancing factor, as this forces you to > reconsider your choices when its taking ages to build :) > > I may be incorrect but I think having the minkowski is one of the only > reasons (and hull) we still use nef_polyhedron and the CGAL. I mean the > difficulty in coding a replacement in a faster library... > However - its hard to give up the minkowski... its seductive.... > > and the hull is fantastically useful of course. > > > > -- > View this message in context: http://forum.openscad.org/Does-Minkowski-work-only-in-2d-tp16334p16359.html <http://forum.openscad.org/Does-Minkowski-work-only-in-2d-tp16334p16359.html> > Sent from the OpenSCAD mailing list archive at Nabble.com. > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org <mailto:Discuss@lists.openscad.org> > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org <http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org> > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org -- "The future is already here. It's just not very evenly distributed" -- William Gibson Me: http://clothbot.com/wiki/ <http://clothbot.com/wiki/>
DM
doug moen
Wed, Mar 9, 2016 12:23 AM

@Neon22 "I think having the minkowski is one of the only reasons (and hull)
we still use nef_polyhedron and the CGAL."

CGAL is more accurate and robust than any other CSG package, at the expense
of being slow. So it's a tradeoff, and what we probably should do is give
users a configuration choice between CGAL and another package. That way, if
your model blows up using fast CSG, then you can switch to CGAL and get
your work done.

On 8 March 2016 at 18:59, Neon22 mschafer@wireframe.biz wrote:

I find minkowski generally useful but leads to lazy thinking. Its
convenient
to use a cylider 0.1 high and minkowski - when in fact I should be using
offset etc.

So I think a lot of people use it instead of doing it a simpler way which
requires more thinking about what they want to achieve. The length of time
it takes to process is the balancing factor, as this forces you to
reconsider your choices when its taking ages to build :)

I may be incorrect but I think having the minkowski is one of the only
reasons (and hull) we still use nef_polyhedron and the CGAL. I mean the
difficulty in coding a replacement in a faster library...
However - its hard to give up the minkowski... its seductive....

and the hull is fantastically useful of course.

--
View this message in context:
http://forum.openscad.org/Does-Minkowski-work-only-in-2d-tp16334p16359.html
Sent from the OpenSCAD mailing list archive at Nabble.com.


OpenSCAD mailing list
Discuss@lists.openscad.org
http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org

@Neon22 "I think having the minkowski is one of the only reasons (and hull) we still use nef_polyhedron and the CGAL." CGAL is more accurate and robust than any other CSG package, at the expense of being slow. So it's a tradeoff, and what we probably should do is give users a configuration choice between CGAL and another package. That way, if your model blows up using fast CSG, then you can switch to CGAL and get your work done. On 8 March 2016 at 18:59, Neon22 <mschafer@wireframe.biz> wrote: > I find minkowski generally useful but leads to lazy thinking. Its > convenient > to use a cylider 0.1 high and minkowski - when in fact I should be using > offset etc. > > So I think a lot of people use it instead of doing it a simpler way which > requires more thinking about what they want to achieve. The length of time > it takes to process is the balancing factor, as this forces you to > reconsider your choices when its taking ages to build :) > > I may be incorrect but I think having the minkowski is one of the only > reasons (and hull) we still use nef_polyhedron and the CGAL. I mean the > difficulty in coding a replacement in a faster library... > However - its hard to give up the minkowski... its seductive.... > > and the hull is fantastically useful of course. > > > > -- > View this message in context: > http://forum.openscad.org/Does-Minkowski-work-only-in-2d-tp16334p16359.html > Sent from the OpenSCAD mailing list archive at Nabble.com. > > _______________________________________________ > OpenSCAD mailing list > Discuss@lists.openscad.org > http://lists.openscad.org/mailman/listinfo/discuss_lists.openscad.org > > >
AC
Alan Cox
Wed, Mar 9, 2016 12:50 AM

On Tue, 8 Mar 2016 18:35:29 -0500
doug moen doug@moens.org wrote:

Minkowski with a centred sphere is a useful operation that inflates an
object like a balloon, producing rounded corners. If the sphere has radius
r, then the new inflated object boundary will be exactly r units away from
the original boundary at all points.

It's usually easier to use cylinders and spheres and hull() in my
experience - and a ton faster.

That's the only practical application of minkowski that I know, but it's a
pretty good application, and not difficult to understand on its own.

Another really useful one is turning a solid object into a skin with a
defined wall thickness.

subtract the original from a solid block
minkowski that with a wall thickness sphere
intersect it with the original

Very useful when rescaling models and you want a constant wall thickness.

Alan

On Tue, 8 Mar 2016 18:35:29 -0500 doug moen <doug@moens.org> wrote: > Minkowski with a centred sphere is a useful operation that inflates an > object like a balloon, producing rounded corners. If the sphere has radius > r, then the new inflated object boundary will be exactly r units away from > the original boundary at all points. It's usually easier to use cylinders and spheres and hull() in my experience - and a ton faster. > > That's the only practical application of minkowski that I know, but it's a > pretty good application, and not difficult to understand on its own. Another really useful one is turning a solid object into a skin with a defined wall thickness. subtract the original from a solid block minkowski that with a wall thickness sphere intersect it with the original Very useful when rescaling models and you want a constant wall thickness. Alan