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

Geometric errors in reconstructed mesh #14

Open
Ylannl opened this issue May 7, 2020 · 4 comments
Open

Geometric errors in reconstructed mesh #14

Ylannl opened this issue May 7, 2020 · 4 comments
Assignees
Labels
bug Something isn't working

Comments

@Ylannl
Copy link
Member

Ylannl commented May 7, 2020

  1. Spikes. See image below. Happens in both LoD1.3 and LoD2.2 output.
  2. Holes and missing faces

IMAGE 2020-05-07 11:41:31

@Ylannl
Copy link
Member Author

Ylannl commented May 17, 2020

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.

@Ylannl
Copy link
Member Author

Ylannl commented May 18, 2020

See also #18

@Ylannl
Copy link
Member Author

Ylannl commented Jun 25, 2020

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.

@Ylannl Ylannl changed the title Spikes in reconstructed buildings Geometric errors in reconstructed mesh Jun 25, 2020
@Ylannl
Copy link
Member Author

Ylannl commented Jul 1, 2020

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant