Open rozentill opened 3 years ago
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.
Thank you for your reply and explanation!
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!