"Sweeping" a geometry from point A to point B

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

"Sweeping" a geometry from point A to point B

aseverino
This is probably the most unusual problem you guys ever heard of, so I'll not
be surprised if there is no solution for it available with any combination
of tools in CGAL.

Remember when you had Windows 98 and the screen would freeze up with an
error shown in a dialog popup? Remember moving this dialog box around and
its canvas leaving a drawing "trail", as if it was some sort of a slug?

I'm trying to recreate exactly that effect, but with a 3d object.

Imagine you have a not-so-primitive shape, like a 3D cross, and you want to
drag it around in a 3d space, in the 3 axis, leaving a trail behind. The
final geometry ends up being this snake-like geometry based on the initial
3D cross. As if you moved a clone of the cross just a fraction of a
millimeter, made an union boolean, and repeated until you have the desired
result.

How would you do it? Considering that a boolean would take hours of
processing.



--
Sent from: http://cgal-discuss.949826.n4.nabble.com/

--
You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to
https://sympa.inria.fr/sympa/info/cgal-discuss


Reply | Threaded
Open this post in threaded view
|

Re: "Sweeping" a geometry from point A to point B

Sebastien Loriot (GeometryFactory)
Do you want a continuous translation or a discrete one along a polyline?
Is your input mesh close or open?

If the mesh is open and you consider discrete translation, you might be
able to use extrude_mesh() for each segment:

https://doc.cgal.org/latest/Polygon_mesh_processing/group__PMP__meshing__grp.html#ga102e1ba5d709c5e53e013160792e4d08

and compute the union of all segments using corefine_and_compute_union():
https://doc.cgal.org/latest/Polygon_mesh_processing/group__PMP__corefinement__grp.html#gad7e1741a7ce41a5846cf86494982ca8b

Sebastien.

On 10/9/19 3:09 PM, aseverino wrote:

> This is probably the most unusual problem you guys ever heard of, so I'll not
> be surprised if there is no solution for it available with any combination
> of tools in CGAL.
>
> Remember when you had Windows 98 and the screen would freeze up with an
> error shown in a dialog popup? Remember moving this dialog box around and
> its canvas leaving a drawing "trail", as if it was some sort of a slug?
>
> I'm trying to recreate exactly that effect, but with a 3d object.
>
> Imagine you have a not-so-primitive shape, like a 3D cross, and you want to
> drag it around in a 3d space, in the 3 axis, leaving a trail behind. The
> final geometry ends up being this snake-like geometry based on the initial
> 3D cross. As if you moved a clone of the cross just a fraction of a
> millimeter, made an union boolean, and repeated until you have the desired
> result.
>
> How would you do it? Considering that a boolean would take hours of
> processing.
>
>
>
> --
> Sent from: http://cgal-discuss.949826.n4.nabble.com/
>

--
You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to
https://sympa.inria.fr/sympa/info/cgal-discuss


Reply | Threaded
Open this post in threaded view
|

Re: "Sweeping" a geometry from point A to point B

aseverino
Sorry that I wasn't specific enough. I always forget to include some important information.

Unfortunately, it has to be both continuous along a "curved" high-res polyline, and the mesh is closed.

On Wed, Oct 9, 2019 at 12:33 PM Sebastien Loriot (GeometryFactory) <[hidden email]> wrote:
Do you want a continuous translation or a discrete one along a polyline?
Is your input mesh close or open?

If the mesh is open and you consider discrete translation, you might be
able to use extrude_mesh() for each segment:

https://doc.cgal.org/latest/Polygon_mesh_processing/group__PMP__meshing__grp.html#ga102e1ba5d709c5e53e013160792e4d08

and compute the union of all segments using corefine_and_compute_union():
https://doc.cgal.org/latest/Polygon_mesh_processing/group__PMP__corefinement__grp.html#gad7e1741a7ce41a5846cf86494982ca8b

Sebastien.

On 10/9/19 3:09 PM, aseverino wrote:
> This is probably the most unusual problem you guys ever heard of, so I'll not
> be surprised if there is no solution for it available with any combination
> of tools in CGAL.
>
> Remember when you had Windows 98 and the screen would freeze up with an
> error shown in a dialog popup? Remember moving this dialog box around and
> its canvas leaving a drawing "trail", as if it was some sort of a slug?
>
> I'm trying to recreate exactly that effect, but with a 3d object.
>
> Imagine you have a not-so-primitive shape, like a 3D cross, and you want to
> drag it around in a 3d space, in the 3 axis, leaving a trail behind. The
> final geometry ends up being this snake-like geometry based on the initial
> 3D cross. As if you moved a clone of the cross just a fraction of a
> millimeter, made an union boolean, and repeated until you have the desired
> result.
>
> How would you do it? Considering that a boolean would take hours of
> processing.
>
>
>
> --
> Sent from: http://cgal-discuss.949826.n4.nabble.com/
>

--
You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to
https://sympa.inria.fr/sympa/info/cgal-discuss




--
Alexandre A. Severino
Systems Developer and Analyst
+55 11 99994-9148

Si quieres cambio verdadero, pues camina distinto!
Reply | Threaded
Open this post in threaded view
|

Re: "Sweeping" a geometry from point A to point B

Sebastien Loriot (GeometryFactory)
Then you probably want something like this:
http://acg.cs.tau.ac.il/projects/swept-volume/ICRA.pdf

Sebastien.

On 10/9/19 5:51 PM, Alexandre Severino wrote:

> Sorry that I wasn't specific enough. I always forget to include some
> important information.
>
> Unfortunately, it has to be both continuous along a "curved" high-res
> polyline, and the mesh is closed.
>
> On Wed, Oct 9, 2019 at 12:33 PM Sebastien Loriot (GeometryFactory)
> <[hidden email] <mailto:[hidden email]>> wrote:
>
>     Do you want a continuous translation or a discrete one along a polyline?
>     Is your input mesh close or open?
>
>     If the mesh is open and you consider discrete translation, you might be
>     able to use extrude_mesh() for each segment:
>
>     https://doc.cgal.org/latest/Polygon_mesh_processing/group__PMP__meshing__grp.html#ga102e1ba5d709c5e53e013160792e4d08
>
>     and compute the union of all segments using
>     corefine_and_compute_union():
>     https://doc.cgal.org/latest/Polygon_mesh_processing/group__PMP__corefinement__grp.html#gad7e1741a7ce41a5846cf86494982ca8b
>
>     Sebastien.
>
>     On 10/9/19 3:09 PM, aseverino wrote:
>      > This is probably the most unusual problem you guys ever heard of,
>     so I'll not
>      > be surprised if there is no solution for it available with any
>     combination
>      > of tools in CGAL.
>      >
>      > Remember when you had Windows 98 and the screen would freeze up
>     with an
>      > error shown in a dialog popup? Remember moving this dialog box
>     around and
>      > its canvas leaving a drawing "trail", as if it was some sort of a
>     slug?
>      >
>      > I'm trying to recreate exactly that effect, but with a 3d object.
>      >
>      > Imagine you have a not-so-primitive shape, like a 3D cross, and
>     you want to
>      > drag it around in a 3d space, in the 3 axis, leaving a trail
>     behind. The
>      > final geometry ends up being this snake-like geometry based on
>     the initial
>      > 3D cross. As if you moved a clone of the cross just a fraction of a
>      > millimeter, made an union boolean, and repeated until you have
>     the desired
>      > result.
>      >
>      > How would you do it? Considering that a boolean would take hours of
>      > processing.
>      >
>      >
>      >
>      > --
>      > Sent from: http://cgal-discuss.949826.n4.nabble.com/
>      >
>
>     --
>     You are currently subscribed to cgal-discuss.
>     To unsubscribe or access the archives, go to
>     https://sympa.inria.fr/sympa/info/cgal-discuss
>
>
>
>
> --
> *Alexandre A. Severino*
> *Systems Developer and Analyst*
> *+55 11 99994-9148*
>
> Si quieres cambio verdadero, pues camina distinto!

--
You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to
https://sympa.inria.fr/sympa/info/cgal-discuss


Reply | Threaded
Open this post in threaded view
|

Re: "Sweeping" a geometry from point A to point B

aseverino
In reply to this post by aseverino
Yes. I have seen this article before. Implementing everything from scratch is my last resort.

Is there a way to do it in a discrete fashion, but with a closed mesh?

On Wed, Oct 9, 2019 at 12:51 PM Alexandre Severino <[hidden email]> wrote:
Sorry that I wasn't specific enough. I always forget to include some important information.

Unfortunately, it has to be both continuous along a "curved" high-res polyline, and the mesh is closed.

On Wed, Oct 9, 2019 at 12:33 PM Sebastien Loriot (GeometryFactory) <[hidden email]> wrote:
Do you want a continuous translation or a discrete one along a polyline?
Is your input mesh close or open?

If the mesh is open and you consider discrete translation, you might be
able to use extrude_mesh() for each segment:

https://doc.cgal.org/latest/Polygon_mesh_processing/group__PMP__meshing__grp.html#ga102e1ba5d709c5e53e013160792e4d08

and compute the union of all segments using corefine_and_compute_union():
https://doc.cgal.org/latest/Polygon_mesh_processing/group__PMP__corefinement__grp.html#gad7e1741a7ce41a5846cf86494982ca8b

Sebastien.

On 10/9/19 3:09 PM, aseverino wrote:
> This is probably the most unusual problem you guys ever heard of, so I'll not
> be surprised if there is no solution for it available with any combination
> of tools in CGAL.
>
> Remember when you had Windows 98 and the screen would freeze up with an
> error shown in a dialog popup? Remember moving this dialog box around and
> its canvas leaving a drawing "trail", as if it was some sort of a slug?
>
> I'm trying to recreate exactly that effect, but with a 3d object.
>
> Imagine you have a not-so-primitive shape, like a 3D cross, and you want to
> drag it around in a 3d space, in the 3 axis, leaving a trail behind. The
> final geometry ends up being this snake-like geometry based on the initial
> 3D cross. As if you moved a clone of the cross just a fraction of a
> millimeter, made an union boolean, and repeated until you have the desired
> result.
>
> How would you do it? Considering that a boolean would take hours of
> processing.
>
>
>
> --
> Sent from: http://cgal-discuss.949826.n4.nabble.com/
>

--
You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to
https://sympa.inria.fr/sympa/info/cgal-discuss




--
Alexandre A. Severino
Systems Developer and Analyst
+55 11 99994-9148

Si quieres cambio verdadero, pues camina distinto!


--
Alexandre A. Severino
Systems Developer and Analyst
+55 11 99994-9148

Si quieres cambio verdadero, pues camina distinto!