简体   繁体   中英

CGAL - Surface mesh parameterisation

I have been using LSCM parameterizer to unwrap a mesh. I would like to obtain a 2d planar model with accurate measurements such that if you make a paper cutout you could wrap it up back to the original model physically.

It seems that SMP::parameterize() is scaling the resulting OFF down to 1mm by 1mm. How to I get an OFF file with accurate measurements? scaled down .

A paramterization is a UV map, associating 2D coordinates to 3D points, and such coordinates are always between 0,0 and 1,1. That's why you get a 1mm/1mm result. I guess you could compare a 3D edge length with it's 2D version in the map and scale your 2D model by this factor. Maybe perform a mean to be a bit more precise.

CGALs Least Squares Conformal Maps algorithm outputs such that the 2D distance between the two constrained vertices is 1mm. This means that unless, the two vertices you chose to be constrained were exactly 1mm apart, the output surface will be scaled.

The CGAL 'As Rigid As Possible' Parameterization, on the other hand, can output a result that maintains the area. Increasing the λ parameter will improve the preservation of area between the input and output at the expense of maintaining the angles, whereas reducing the λ parameter will do the opposite.

Also note that increasing the number of iterations from the default will improve the output - especially if the unwrapped surface self-intersects.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM