Planar Parameterization of Triangulated Surface Meshes

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

Planar Parameterization of Triangulated Surface Meshes

Shalev Mintz

Hi,

I’d like to perform a surface parametrization of a triangle mesh.

I tried using some of CGAL’s algorithms, e.g. ARAP, Discrete Conformal Map etc.

The problem is that the surface parameterization methods proposed by CGAL only deal with meshes which are homeomorphic to discs.

Meshes with arbitrary topology can be parameterized, provided that the user specifies a cut graph, which defines the border of a topological disc.

So the problem now becomes – how to cut the graph properly (using CGAL’s interface). I would really appreciate a simple example.

 

Another option, is to use the Orbifold Tutte Embeddings algorithm, that way the mesh only has to be homeomorphic to a sphere, but I still need to specify the “cones”.

So again, I’d really appreciate a simple example.

 

I’m attaching a small mesh which is a typical example of the sorts of meshes I need to parametrize.

 

Thanks a lot.

 


mesh.ply (423K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Planar Parameterization of Triangulated Surface Meshes

MaelRL

Hello,

You can use the class Seam_mesh of CGAL to create virtual borders on meshes. See this example for a simple use case of parameterization of a seam mesh.

A simple example of usage of the orbifold parameterization method is offered here.

The mesh you have attached has self-intersections and is not a topological disk, though. You will have to repair it first in any case.

Best,
Mael

On 01/11/2018 10:42, Shalev Mintz wrote:

Hi,

I’d like to perform a surface parametrization of a triangle mesh.

I tried using some of CGAL’s algorithms, e.g. ARAP, Discrete Conformal Map etc.

The problem is that the surface parameterization methods proposed by CGAL only deal with meshes which are homeomorphic to discs.

Meshes with arbitrary topology can be parameterized, provided that the user specifies a cut graph, which defines the border of a topological disc.

So the problem now becomes – how to cut the graph properly (using CGAL’s interface). I would really appreciate a simple example.

 

Another option, is to use the Orbifold Tutte Embeddings algorithm, that way the mesh only has to be homeomorphic to a sphere, but I still need to specify the “cones”.

So again, I’d really appreciate a simple example.

 

I’m attaching a small mesh which is a typical example of the sorts of meshes I need to parametrize.

 

Thanks a lot.

 

Reply | Threaded
Open this post in threaded view
|

RE: Planar Parameterization of Triangulated Surface Meshes

Shalev Mintz

Thanks Mael.

 

I saw the examples you linked to, but what they don’t show is how to choose the actual vertices/edges of the cut graph.

They just read a list of vertex indices from a file, but it is unclear how those indices were chosen in the first place.

Same goes for choosing the cones in the Orbifold parameterization.

 

Is there a way I can recognize self-intersections in a mesh? How can I “repair” it in such a case and make it a topological disk/sphere?

 

Thanks a lot,

Shalev.

 

 

 

From: [hidden email] [mailto:[hidden email]] On Behalf Of Mael
Sent: Friday, November 2, 2018 10:15 AM
To: [hidden email]
Subject: Re: [cgal-discuss] Planar Parameterization of Triangulated Surface Meshes

 

Hello,

You can use the class Seam_mesh of CGAL to create virtual borders on meshes. See this example for a simple use case of parameterization of a seam mesh.

A simple example of usage of the orbifold parameterization method is offered here.

The mesh you have attached has self-intersections and is not a topological disk, though. You will have to repair it first in any case.

Best,
Mael

On 01/11/2018 10:42, Shalev Mintz wrote:

Hi,

I’d like to perform a surface parametrization of a triangle mesh.

I tried using some of CGAL’s algorithms, e.g. ARAP, Discrete Conformal Map etc.

The problem is that the surface parameterization methods proposed by CGAL only deal with meshes which are homeomorphic to discs.

Meshes with arbitrary topology can be parameterized, provided that the user specifies a cut graph, which defines the border of a topological disc.

So the problem now becomes – how to cut the graph properly (using CGAL’s interface). I would really appreciate a simple example.

 

Another option, is to use the Orbifold Tutte Embeddings algorithm, that way the mesh only has to be homeomorphic to a sphere, but I still need to specify the “cones”.

So again, I’d really appreciate a simple example.

 

I’m attaching a small mesh which is a typical example of the sorts of meshes I need to parametrize.

 

Thanks a lot.

 

Reply | Threaded
Open this post in threaded view
|

Re: Planar Parameterization of Triangulated Surface Meshes

MaelRL

Hello,

For your first question, please see the link to the documentation of the class Seam_mesh, specifically the functions add_seams(), where you specify vertices. These vertices can be specified either as vertices directly, or as indices. Each vertex is by default associated an index, which is its position when you go through the vertices of the data structure, but you can also specify an index map. It's about the same for cone specification, see here.

As for self-intersection detection, you can use the package Polygon Mesh Processing, see here. This package also has some work-in-progress and undocumented repair functions (e.g. this one), but it's not guaranteed it will always fix up your meshes.

Best,
Mael

On 04/11/2018 08:51, Shalev Mintz wrote:

Thanks Mael.

 

I saw the examples you linked to, but what they don’t show is how to choose the actual vertices/edges of the cut graph.

They just read a list of vertex indices from a file, but it is unclear how those indices were chosen in the first place.

Same goes for choosing the cones in the Orbifold parameterization.

 

Is there a way I can recognize self-intersections in a mesh? How can I “repair” it in such a case and make it a topological disk/sphere?

 

Thanks a lot,

Shalev.

 

 

 

From: [hidden email] [[hidden email]] On Behalf Of Mael
Sent: Friday, November 2, 2018 10:15 AM
To: [hidden email]
Subject: Re: [cgal-discuss] Planar Parameterization of Triangulated Surface Meshes

 

Hello,

You can use the class Seam_mesh of CGAL to create virtual borders on meshes. See this example for a simple use case of parameterization of a seam mesh.

A simple example of usage of the orbifold parameterization method is offered here.

The mesh you have attached has self-intersections and is not a topological disk, though. You will have to repair it first in any case.

Best,
Mael

On 01/11/2018 10:42, Shalev Mintz wrote:

Hi,

I’d like to perform a surface parametrization of a triangle mesh.

I tried using some of CGAL’s algorithms, e.g. ARAP, Discrete Conformal Map etc.

The problem is that the surface parameterization methods proposed by CGAL only deal with meshes which are homeomorphic to discs.

Meshes with arbitrary topology can be parameterized, provided that the user specifies a cut graph, which defines the border of a topological disc.

So the problem now becomes – how to cut the graph properly (using CGAL’s interface). I would really appreciate a simple example.

 

Another option, is to use the Orbifold Tutte Embeddings algorithm, that way the mesh only has to be homeomorphic to a sphere, but I still need to specify the “cones”.

So again, I’d really appreciate a simple example.

 

I’m attaching a small mesh which is a typical example of the sorts of meshes I need to parametrize.

 

Thanks a lot.

 

Reply | Threaded
Open this post in threaded view
|

RE: Planar Parameterization of Triangulated Surface Meshes

Shalev Mintz

Thanks Mael.

 

What I meant by how to choose, was not how to technically specify the vertices for the Seam Mesh once you’ve decided which vertices you would like to add.

What I meant was – how do you know which vertices/edges should constitute the Seam?

For example, If I have a mesh with 1000 vertices – should the Seam be comprised out of vertices 17, 42 and 999? Or 1,2 and 500?

Maybe I should clarify that this should an automatic process, in other words – I cannot manually choose these vertices offline via some graphical software.  

 

Thanks again,

Shalev.

 

From: [hidden email] [mailto:[hidden email]] On Behalf Of Mael
Sent: Monday, November 5, 2018 10:06 AM
To: [hidden email]
Subject: Re: [cgal-discuss] Planar Parameterization of Triangulated Surface Meshes

 

Hello,

For your first question, please see the link to the documentation of the class Seam_mesh, specifically the functions add_seams(), where you specify vertices. These vertices can be specified either as vertices directly, or as indices. Each vertex is by default associated an index, which is its position when you go through the vertices of the data structure, but you can also specify an index map. It's about the same for cone specification, see here.

As for self-intersection detection, you can use the package Polygon Mesh Processing, see here. This package also has some work-in-progress and undocumented repair functions (e.g. this one), but it's not guaranteed it will always fix up your meshes.

Best,
Mael

On 04/11/2018 08:51, Shalev Mintz wrote:

Thanks Mael.

 

I saw the examples you linked to, but what they don’t show is how to choose the actual vertices/edges of the cut graph.

They just read a list of vertex indices from a file, but it is unclear how those indices were chosen in the first place.

Same goes for choosing the cones in the Orbifold parameterization.

 

Is there a way I can recognize self-intersections in a mesh? How can I “repair” it in such a case and make it a topological disk/sphere?

 

Thanks a lot,

Shalev.

 

 

 

From: [hidden email] [[hidden email]] On Behalf Of Mael
Sent: Friday, November 2, 2018 10:15 AM
To: [hidden email]
Subject: Re: [cgal-discuss] Planar Parameterization of Triangulated Surface Meshes

 

Hello,

You can use the class Seam_mesh of CGAL to create virtual borders on meshes. See this example for a simple use case of parameterization of a seam mesh.

A simple example of usage of the orbifold parameterization method is offered here.

The mesh you have attached has self-intersections and is not a topological disk, though. You will have to repair it first in any case.

Best,
Mael

On 01/11/2018 10:42, Shalev Mintz wrote:

Hi,

I’d like to perform a surface parametrization of a triangle mesh.

I tried using some of CGAL’s algorithms, e.g. ARAP, Discrete Conformal Map etc.

The problem is that the surface parameterization methods proposed by CGAL only deal with meshes which are homeomorphic to discs.

Meshes with arbitrary topology can be parameterized, provided that the user specifies a cut graph, which defines the border of a topological disc.

So the problem now becomes – how to cut the graph properly (using CGAL’s interface). I would really appreciate a simple example.

 

Another option, is to use the Orbifold Tutte Embeddings algorithm, that way the mesh only has to be homeomorphic to a sphere, but I still need to specify the “cones”.

So again, I’d really appreciate a simple example.

 

I’m attaching a small mesh which is a typical example of the sorts of meshes I need to parametrize.

 

Thanks a lot.