Submitted:
14 December 2024
Posted:
17 December 2024
You are already at the latest version
Abstract
Three-dimensional site modeling is an important aspect of Building Information Modeling (BIM), especially in mountainous areas. A key issue in site modeling is how to accurately calculate the shape of side-slopes. It involves three sub-problems: geometric representation of side-slopes, determination of cut/fill types, and intersection of side-slopes surface with the terrain surface. To address this, a two-stage method for constructing side-slope models adaptive terrain is proposed. In the first stage, an algorithm for traversing along polylines is used to calculate the intersection points of the site boundary polylines with the terrain surface, segmenting the boundary polylines based on these intersection points, automatically determining the fill/cut types for each segment using rules, and then obtaining the equations of the side-slopes passing each segment. In the second stage, an algorithm for traversing along plane is used to trace the intersection lines of side-slopes with the terrain. Finally, the side-slopes are rendered with precision by integrating the equations of each segment with the determined intersection lines. The effectiveness of the method is verified through illustrative examples. Extensive analysis and testing have demonstrated that this method not only boasts accuracy and swift computation but also excels in the level of automation achieved in the modeling process.
Keywords:
1. Introduction
2. Geometric Expression
2.1. Side-Slope Plane Equation
2.2. Terrain Triangle Meshes
2.2.1. Half-Edge Data Structure
2.2.2. Topological Combination Operations
3. The First Stage
3.1. Rules for Changes in Fill/Cut Side-Slope Types
3.2. Finding the Intersecting Triangles in Mesh
3.3. Calculation of Intersection Points Between Boundary Lines and Terrain Mesh
3.4. Determine the Side-Slope Type and Its Equation Piece by Piece
| Algorithm1. Traveling-along-line |
|
Input: Terrain mesh M, boundary lines PL , Slope value kfill and kcut; Output: Side-slope equations for each segment on the boundary line, Eqs{} ordered point set (intersection point + turning point); 1. fetch the first turning points P1of PL; 2. △t:=LocateTriangle(P1,M) 3. IF above(P1, △t) THEN L:= 1 4. ELSE L:= -1 5. IF (L==1) THEN k:= kfill 6. ELSE k:=kcut 7. FOREACH (P1,P2) IN PL segments 8. Ints:=intersect(P1P2,M) 9. P:=P1 10. FOREACH I IN Ints 11. Eq:=side-slopeEq(P, I, L, k) 12. Eq:=null if L==0 13. L:=-1*L 14. P:=I 15. Eqs←side-slopeEq(P, P2, L, k) |
4. The Second Stage
4.1. Topological Continuity of the Intersection Between the Side-Slope Plane and the Triangular Mesh
4.1.1. Spatial Relationship Between Plane and Triangle
4.1.2. Topological Continuity Analysis
4.2. Algorithm of Traveling Along Plane
4.3. Calculate the Intersection Line Between the Side-Slope Surface and the Terrain Mesh
| Algorithm 2. Traveling-along-planes |
|
Input: Boundary lines PL; Equations of side-slope planes {Eqs}; Terrain mesh M Output: The intersection lines {INTs} between side-slope planes and terrain mesh 1. Find the first triangle that intersects the side-slope. 2. R(t)=P1+(N2×N1)•t //Equation (5) 3. i:=intersect(R(t), M) 4. △t:=LocateTriangle(i,M) 5. FOREACH side-slope plane sp IN Eqs: 6. △t2:=LocateTriangle(P2, M) 7. WHILE △t≠△t2 DO: 8. INTs←INTs+intersect(sp, △t) 9. △t:=AdjcentAngle(eq, △t) |
5. Discussion
5.1. Example
5.2. Analysis
5.3. Comparison
6. Conclusion
Funding
Data Availability Statement
Conflicts of Interest
References
- Glaeser, G. Geometry and its Applications in Arts, Nature and Technology[M]; Springer International Publishing, 2020; pp. 201–206. [Google Scholar]
- Hare, W.; Lucet, Y.; Rahman, F. A mixed-integer linear programming model to optimize the vertical alignment considering blocks and side-slopes in road construction. European Journal of Operational Research 2015, 241, 631–641. [Google Scholar] [CrossRef]
- Momo, N.S.; Hare, W.; Lucet, Y. Modeling side slopes in vertical alignment resource road construction using convex optimization. Computer-Aided Civil and Infrastructure Engineering 2023, 38, 211–224. [Google Scholar] [CrossRef]
- Yuan, L.; Liu, S.; Meng, L. Numerical simulation analysis of slope stability from rainwater utilizing the Civil3D+Flac3D coupling. Desalination and Water Treatment 2024, 319, 100517–100527. [Google Scholar] [CrossRef]
- OpenRoads Designer, Roadway Design Software. Available online: https://www.bentley.com/software/openroads-designer/ (accessed on 12 September 2024).
- HintCAD(in Chinese). Available online: https://www.hintcad.cn/product/3862.html (accessed on 15 October 2024).
- Hartmann Erich. Geometry and algorithms for computer aided design[M]. Darmstadt University of Technology 95 (2003).
- Kozniewski, E.; Kozniewski, M.; Orlowski, M.; et al. Modeling an embankment with a natural slope. Journal Biuletyn of Polish Society for Geometry and Engineering Graphics 2013, 25, 49–56. [Google Scholar]
- Zhou, F.; Li, C.; Ding, Y. Developable iso⁃slope surface and its application to slope modeling[J]. Journal of Wuhan University(Engineering Edition) 2019, 52, 610–615. [Google Scholar]
- Yang, P.; Qian, X. Direct boolean intersection between acquired and designed geometry[J]. COMPUTER AIDED DESIGN 2009, 41, 81–94. [Google Scholar] [CrossRef]
- Lin, H.; Qin, Y.; Liao, H.; et. al. Affine arithmetic based B-Spline surface intersection with GPU acceleration[J]. IEEE transactions on visualization and computer graphics 2013, 20, 172–181. [Google Scholar]
- Shou, H.-H.; Zhou, C. Triangular grid intersection based on hierarchical enclosing box and average cell[J]. Journal of Zhejiang University of Technology 2018, 46, 540–543. [Google Scholar]
- Shi, Y.; Zhang, Y.; Cheng, T.; et al. Intersection algorithm for surface segmentation based on space polygon triangulation[J]. Journal of Graphics 2019, 40, 447–451. [Google Scholar]
- Elsheikh, M. A reliable triangular mesh intersection algorithm and its application in geological modelling[J]. Engineering with Computers 2014, 30, 143–157. [Google Scholar] [CrossRef]
- Svelander, F.; Kettil, G.; Johnson, T.; et al. Robust intersection of structured hexahedral meshes and degenerate triangle meshes with volume fraction applications[J]. Numerical Algorithms 2018, 77, 1029–1068. [Google Scholar] [CrossRef]
- Ventura, M.; Soares, G. Surface intersection in geometric modeling of ship hulls[J]. Journal of Marine Science and Technology 2012, 17, 114–124. [Google Scholar] [CrossRef]
- Botsch, M.; Pauly, M.; Kobbelt, L.P.; et al. Geometric Modeling Based on Polygonal Meshes[M]. Eurographics 2008 Tutorial Notes, Crete, Greece, 2008:17-18.
- Bradley, P.; Paul, N. Comparing G-maps with other topological data structures. geoInformatica. 2014, 18, 595–620. [Google Scholar] [CrossRef]
- O'Rourke, J. Computational geometry in C[M]; China Machine Press: Beijing, 2005; pp. 239–245. [Google Scholar]
- Hjelle, Ø.; Dæhlen, M. Triangulations and applications[M]; Springer Science & Business Media, 2006; pp. 25–28. [Google Scholar]
- Zhao, J.; Bai, R.; Liu, G.; et al. Research on TIN fast intersection algorithm and its application[J]. Computer Application Research 2016, 33, 3667–3670. [Google Scholar]














| No. | Spatial Relationship between Boundary Line and Triangle Surface | Change in Fill/Cut Type |
|---|---|---|
| 1 | Intersecting && Intersection Point Inside the Triangle | Reversal at the intersection point, either from fill to excavation or from excavation to fill |
| 2 | Intersecting && Intersection Point on One Side of the Triangle | No change in fill/cut type |
| 3 | Coplanar (two intersection points on the triangle edge) | This segment becomes neither fill nor excavation; the type of the next segment is determined by the method in Figure 6 |
| 4 | Not Intersecting | No change in fill/cut type |
| No. | Start point | point type | end point | inverse | fill/cut type | L sign | Slope value |
|---|---|---|---|---|---|---|---|
| 1 | P1 | Turning Point | P2 | false | fill | 1 | 1:1.5 |
| 2 | P2 | Turning Point | P3 | false | fill | 1 | 1:1.5 |
| 3 | P3 | Turning Point | I1 | false | fill | 1 | 1:1.5 |
| 4 | I1 | Intersection Point | P4 | true | cut | -1 | 1:0.75 |
| 5 | P4 | Turning Point | I2 | false | cut | -1 | 1:0.75 |
| 6 | I2 | Intersection Point | P1 | true | fill | 1 | 1:0.75 |
| Total Number of Triangles in the Mesh | Number of Intersecting Triangles | Time (ms) |
|---|---|---|
| 2848 | 254 | 2.5682 |
| 8544 | 442 | 2.6644 |
| 14240 | 551 | 2.9308 |
| 19936 | 671 | 3.5895 |
| 25632 | 750 | 4.1023 |
| 42720 | 991 | 5.4027 |
| 59808 | 1126 | 6.0809 |
| 71200 | 1265 | 6.7120 |
| 76892 | 1288 | 7.2347 |
| 99680 | 1447 | 7.9305 |
| 128160 | 1670 | 8.8576 |
| 139552 | 1735 | 9.1974 |
| 213600 | 2207 | 11.7620 |
| Total Number of Triangles in the Mesh | ZHAO [21] (ms) | Our method(ms) |
|---|---|---|
| ~19000 | 229 | 3.59 |
| ~139000 | 2604 | 9.20 |
| ~250000 | 5104 | 13.21 |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2024 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).