ShapeWorks
ShapeWorks copied to clipboard
Mesh distance symmetric
[WIP] - Do Not Merge
Summary
This PR addresses issue #2040.
Changes Made
- Non-breaking change: Added a new distance method in Mesh class to compute symmetric point-to-cell distances.
- Included this method in the ShapeWorks Python API.
- Temporarily called it in ShapeWorks Studio Viewer when surface-to-surface distance is checked.
Testing Done
- Tested the new distance method using different meshes.
- Checked that the ShapeWorks Studio Viewer and API calls run without errors.
Known Issues
- None at this time.
Screenshots
Symmetric Point-to-cell distance vs. regular Point-to-cell distance
Hello, I propose also to add the signed point-to-cell metric, I will amend the commit
@nawazishkhan1-nk , do you have an update on the PR?
@nawazishkhan1-nk , any update on this?
Hello, I propose also to add the signed point-to-cell metric, I will amend the commit
I don't have the time but I suggest we add the signed point-to-cell metric: the sign is defined as follow:
// Determine the signed distance const Vector normal = in_transfo * in_normals[i]; // get the normal of source mesh for vertex i const Vector v = closest_point_ref_i - point[i]; // get the vector between the closest point in the reference and the vertex i signed_distance = sign( dot(v, normal) ) * norm(closest_point_ref_i - point[i]);
Additionally, instead of this symmetric distance (that will never be higher than traditional point-to-cell metric), I would propose that we implement the Chamfer Distance (sum of A to B and B to A distances) which is used in numerous publications to compare mesh to mesh.
Additionally, instead of this symmetric distance (that will never be higher than traditional point-to-cell metric), I would propose that we implement the Chamfer Distance (sum of A to B and B to A distances) which is used in numerous publications to compare mesh to mesh.
The Chamfer Distance, as far as I can find, is only defined for point sets. Do you propose to use vertices only and not the point to cell distance?
Additionally, instead of this symmetric distance (that will never be higher than traditional point-to-cell metric), I would propose that we implement the Chamfer Distance (sum of A to B and B to A distances) which is used in numerous publications to compare mesh to mesh.
The Chamfer Distance, as far as I can find, is only defined for point sets. Do you propose to use vertices only and not the point to cell distance?
Yes from point sets only.
It would be an additional metric along signed and absolute point-to-cell distances.