-
Notifications
You must be signed in to change notification settings - Fork 4
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
Geometric errors in reconstructed mesh #14
Comments
This problem occurs because co-linear and intersecting segments are inserted in the arrangement for the roof partition. Such segments can lead to degenerate polygons later on. PR #16 should reduce this problem. The main change that supports this reduction is the omission of footprint segments in the line regularisation step. Most spiked were originating from footprint segments. Not 100% if sure this issue is completely fixed, so leaving it open for now. |
See also #18 |
this issue still persists in rare case where a detected line (usually an intersection of planes) happens to be (nearly) exactly co-linear with a line segment from the footprint. A related problem is the duplication of vertices (they are topologically/combinatorically different but geometrically almost exactly the same). That leads to other types of errors, such as missing faces and topological holes. The two possible approaches to fix this are 1) fix such issues afterwards by post processing the arrangement after inserting all the lines or 2) prevent such issues to appear in the arrangement in the first place by very carefully inserting the lines and checking for (near) colinearity and (near) point duplicates prior to insertion and then insert the line in such a way that no duplicate geometries are created. I already have some limited success with 1) for detecting most duplicate vertices. However, I believe it preferred, and more elegant to proceed with approach 2). Mainly because 1) brings the risk of introducing other errors/ or missing some specific cases. 1) on the other hand seems to be a more fundamental and ultimately simpler fix. |
I have improved the construction of the initial footprint arrangement, following option 2) from my previous comment. See 0a0fb48 (prevention of duplicate vertices) and 2cdb74e (preventing insertion of (nearly) overlapping and (nearly) co-linear line segments). Based on preliminary tests it seems this fixes ~50% of the invalids without introducing new issues. This should also fix the remaining spikes. |
The text was updated successfully, but these errors were encountered: