Point2Mesh icon indicating copy to clipboard operation
Point2Mesh copied to clipboard

More details on geodesic distance computation

Open rozentill opened this issue 4 years ago • 2 comments

Hi there,

Thank you for releasing the codes. I recently found that the geodesic distance is only computed between points in the same face or in the faces which share the same vertex. I noticed that in the paper, it says you compute geodesic in a small neighborhood, I wonder if there are more details about how this satisfy the following label computation process. And for geodesic distance between points on different faces, the distance is computed as double d = (pc[u] - vertices[i]).length() + (pc[v] - vertices[i]).length(); this seems not correct to me. Do you mind providing more details about this part? Thanks a lot!

rozentill avatar Jul 04 '21 09:07 rozentill

Thanks for reaching out. In the code, we are using a DFS to enumerate a path (a set of triangle) between u and v, and then try to unfold these triangles into a 2D plane, and then calculate the distance between u and v on that 2D plane.

So "geodesic distance is only computed between points in the same face or in the faces which share the same vertex" is incorrect. We are calculating distances for more pairs of vertices using DFS. We have some constraint to terminate a DFS starting from u, such as DFS depth.

"double d = (pc[u] - vertices[i]).length() + (pc[v] - vertices[i]).length();" is only one of the way to update the geodesic distance. There are multiple ways to update the distance in the code.

Colin97 avatar Jul 14 '21 04:07 Colin97

Thank you for your reply and explanation!

rozentill avatar Jul 21 '21 10:07 rozentill