You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Query.IsCollinear(List<Point>, double) is currently a numerical check rather than geometrical - we create a matrix based on point coordinates and check whether it has enough zero rows. Transformation of geometrical tolerance to numerical is virtually impossible, therefore in edge cases points that should be considered collinear within tolerance, are returned as not, which starts becoming an issue in more complex workflows using this method.
This could be fixed by fitting an infinite line between points and then checking if they lie within tolerance from it.
Test file(s):
The text was updated successfully, but these errors were encountered:
After more experimentation I realised the changes to this particular method are not as easy to implement, plus the issues I experienced originated from other areas in the code. Therefore I will close this issue and reopen only if that becomes problematic.
Description:
Query.IsCollinear(List<Point>, double)
is currently a numerical check rather than geometrical - we create a matrix based on point coordinates and check whether it has enough zero rows. Transformation of geometrical tolerance to numerical is virtually impossible, therefore in edge cases points that should be considered collinear within tolerance, are returned as not, which starts becoming an issue in more complex workflows using this method.This could be fixed by fitting an infinite line between points and then checking if they lie within tolerance from it.
Test file(s):
The text was updated successfully, but these errors were encountered: