A polyline in 3D that cannot be triangulated

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

A polyline in 3D that cannot be triangulated

danielyan86129
Dear CGAL,

I have a hole boundary represented as a polyline L = {v_1, ..., v_n}, v_i
being index into some mesh structure. I've verified this is a simple polygon
because every vertex is of degree 2. The 3d coordinates of the vertices are
denoted as P = {p_1, ..., p_n}. I'm using triangulate_hole_polyline(P, F) to
fill holes represented as polyline where F denotes the output patch faces
(each being a triple of indices into P). However this polyline cannot be
triangulated by the API, i.e. F is empty. Here is data V:

https://drive.google.com/open?id=1zYT3wisdWXBatkARTJq1YzzG_eN_zaP5

What could go wrong? Would the API fail if some line segments are
geometrically intersecting?



--
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: A polyline in 3D that cannot be triangulated

MaelRL
Hello,

You may in theory have self-intersections in your input, but the result
is not guaranteed as too many constraints might make it impossible to
find a triangulation.

There seems to be some self-intersections (at vertices nonetheless) in
your input; what result do you expect at those locations: should the
tiny hole and the big hole be filled independently, or something else?
For this reason, it is best to clean your input or just split your
polyline into multiple polylines if you have these self-intersections.

Best,
Mael

On 12/06/2019 19:17, danielyan86129 wrote:

> Dear CGAL,
>
> I have a hole boundary represented as a polyline L = {v_1, ..., v_n}, v_i
> being index into some mesh structure. I've verified this is a simple polygon
> because every vertex is of degree 2. The 3d coordinates of the vertices are
> denoted as P = {p_1, ..., p_n}. I'm using triangulate_hole_polyline(P, F) to
> fill holes represented as polyline where F denotes the output patch faces
> (each being a triple of indices into P). However this polyline cannot be
> triangulated by the API, i.e. F is empty. Here is data V:
>
> https://drive.google.com/open?id=1zYT3wisdWXBatkARTJq1YzzG_eN_zaP5
>
> What could go wrong? Would the API fail if some line segments are
> geometrically intersecting?
>
>
>
> --
> 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: A polyline in 3D that cannot be triangulated

danielyan86129
Hi Mael,

Thanks for your reply. By self-intersections you mean geometrically the
polyline intersects, right? Because topologically it's not intersected
(every vertex have only 2-neighboring vertices).

My understanding is the hole-triangulation algorithm should be able to
produce a topological patch with some geometry realization that minimize the
area/di-hedral weight, as long as the hole is a simple polyline, no matter
how geometrically distorted it is. No?

- Yajie



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