Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More details on geodesic distance computation #8

Open
rozentill opened this issue Jul 4, 2021 · 2 comments
Open

More details on geodesic distance computation #8

rozentill opened this issue Jul 4, 2021 · 2 comments

Comments

@rozentill
Copy link

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!

@Colin97
Copy link
Owner

Colin97 commented Jul 14, 2021

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.

@rozentill
Copy link
Author

Thank you for your reply and explanation!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants