Efficient Construction of Voxel Models for Ore Bodies Using an Improved Winding Number Algorithm and CUDA Parallel Computing
Abstract
:1. Introduction
2. Materials and Methods
2.1. Data and Experimental Environment
2.2. Construction and Voxelization of Ore Body Surface Model
2.3. Improved Winding Number Algorithm with Tri-Coding
2.3.1. Winding Number Algorithm
2.3.2. Tri-Coding
Algorithm 1 Tri-Coding | |
1: | |
2: | |
3: | then |
4: | |
5: | then |
6: | |
7: | |
8: | |
9: | then |
10: | |
11: | |
12: | |
13: | then |
14: | |
15: | |
16: | |
17: | end if |
18: | then |
19: | |
20: | |
21: | |
22: | then |
23: | |
24: | |
25: | |
26: | then |
27: | |
28: | |
29: | |
30: | end if |
31: | end if |
32: | end procedure |
33: | |
34: | |
35: | |
36: | |
37: | |
38: | end procedure |
2.3.3. WNTC: Winding Number with Tri-Coding
2.4. Improved Algorithm Efficiency Based on CUDA
3. Results
3.1. Comparison of Methods
3.2. The Voxel Models Effect
3.3. Comparison of Efficiency
4. Discussion
- (1)
- The Winding number with the Tri-Coding algorithm proposed in this paper only discusses the structure of the model, which is composed of triangular faces. When constructing a computer visualization model, polygons outside of triangles are allowed. The parameter structure must be adjusted accordingly if the algorithm is applied to a model constructed by polygons with more than three edges. This may involve increasing the number of calculations for the solid and dihedral angle. The Winding number algorithm in 3D provides a more accessible alternative than the traditional ray casting method. However, the WNTC algorithm, which relies on inverse trigonometric functions, demands higher operation accuracy.
- (2)
- Our study’s GPU thread grid and block are relatively direct. The number of triangular faces of the stratum model used in this experiment is up to about 1000, which does not exceed the hardware environment limit of this experiment, so the number of triangles is directly used as the number of GPU thread grids to verify the effect of CUDA parallel computing design on the improvement in program running speed.
- (1)
- When the model body is made up of polygons other than triangles, additional steps can be taken to adapt the algorithm using the abovementioned method. Alternatively, the polygons can be divided into triangles to meet the algorithm’s parameters outlined in this paper. The latter method is more straightforward. However, it may increase the amount of data in the model depending on the number and structure of the non-triangular polygons. Handling calculation accuracy with care during program design is crucial to avoid any mistakes in the final judgment.
- (2)
- When a model consists of a large number of triangular surface elements that exceed the capability of the GPU’s hardware environment to handle thread meshes, the required threads can be grouped using software control. The CUDA parallel computing process is then performed, with part of the host memory allocated to set registers, save pre-calculated results, and complete the operation via CPU coordinated control.
5. Conclusions
Author Contributions
Funding
Data Availability Statement
Conflicts of Interest
References
- Biljecki, F.; Stouffs, R.; Kalantari, M. Emerging topics in 3D GIS. Trans. GIS 2021, 25, 3–5. [Google Scholar] [CrossRef]
- Wu, A.; Che, T.; Li, X.; Zhu, X. A ship navigation information service system for the Arctic Northeast Passage using 3D GIS based on big Earth data. Big Earth Data 2022, 6, 453–479. [Google Scholar] [CrossRef]
- Ying, Y.; Koeva, M.; Kuffer, M.; Zevenbergen, J. Toward 3D Property Valuation—A Review of Urban 3D Modelling Methods for Digital Twin Creation. ISPRS Int. J. Geo-Inf. 2023, 12, 2. [Google Scholar] [CrossRef]
- Yang, L.; Hyde, D.; Grujic, O.; Scheidt, C.; Caers, J. Assessing and visualizing uncertainty of 3D geological surfaces using level sets with stochastic motion. Comput. Geosci. 2019, 122, 54–67. [Google Scholar] [CrossRef]
- Pirot, G.; Joshi, R.; Giraud, J.; Lindsay, M.D.; Jessell, M.W. LoopUI-0.1: Indicators to support needs and practices in 3D geological modelling uncertainty quantification. Geosci. Model. Dev. 2022, 15, 4689–4708. [Google Scholar] [CrossRef]
- Jin, X.; Wang, G.; Tang, P.; Hu, C.; Liu, Y.; Zhang, S. 3D geological modelling and uncertainty analysis for 3D targeting in Shanggong gold deposit (China). J. Geochem. Explor. 2020, 210, 106442. [Google Scholar] [CrossRef]
- Huang, J.; Liu, Z.; Deng, H.; Li, L.; Mao, X.; Liu, J. Exploring Multiscale Non-stationary Influence of Ore-Controlling Factors on Mineralization in 3D Geological Space. Nat. Resour. Res. 2022, 31, 3079–3100. [Google Scholar] [CrossRef]
- Wang, X.; Wu, W.; Zhu, H.; Zhang, H.; Lin, J.; Bobet, A. A global direct search method for high-fidelity contact detection between arbitrarily shaped three-dimensional convex polyhedral blocks. Comput. Geotech. 2022, 150, 104891. [Google Scholar] [CrossRef]
- Laudadio, A.B.; Schetselaar, E.M.; Mungall, J.E.; Houlé, M.G. 3D modeling of the Esker intrusive complex, Ring of Fire intrusive suite, McFaulds Lake greenstone belt, Superior Province: Implications for mineral exploration. Ore Geol. Rev. 2022, 145, 104886. [Google Scholar] [CrossRef]
- Zhang, X.; Chen, C.; Xu, Z.; Li, H. Method and Application of Urban 3D Rapid Modeling of Geology Based on CAD Borehole Logs. Geofluids 2022, 2022, 4959887. [Google Scholar] [CrossRef]
- Zhuang, X.; Li, X.; Zhou, S. Transverse penny-shaped hydraulic fracture propagation in naturally-layered rocks under stress boundaries: A 3D phase field modeling. Comput. Geotech. 2023, 155, 105205. [Google Scholar] [CrossRef]
- Long, N.Q.; Buczek, M.M.; Hien, L.P.; Szlapińska, S.A.; Nam, B.X.; Nghia, N.V.; Cuong, C.X. Accuracy assessment of mine walls’ surface models derived from terrestrial laser scanning. Int. J. Coal Sci. Techn 2018, 5, 328–338. [Google Scholar] [CrossRef]
- Xenitidis, K.; Ioannou, K.; Tsantopoulos, G. An innovative methodology for the determination of wind farms installation location characteristics using GIS and Delaunay Triangulation. Energy Sustain. Dev. 2023, 75, 25–39. [Google Scholar] [CrossRef]
- Song, K.; Jeong, J.; Moon, J.; Kwon, S.; Kim, H. Dttrans: Pv power forecasting using delaunay triangulation and transgru. Sensors 2023, 23, 144. [Google Scholar] [CrossRef] [PubMed]
- Liu, H.; Li, W.; Gu, S.; Cheng, L.; Wang, Y.; Xu, J. Three-dimensional modeling of fault geological structure using generalized triangular prism element reconstruction. Bull. Eng. Geol. Environ. 2023, 82, 118. [Google Scholar] [CrossRef]
- Zeng, Q.; Ming, W.; Zhang, Z.; Du, Z.; Liu, Z.; Zhou, C. Construction of a 3D Stratum Model Based on a Solid Model. IEEE Access 2021, 9, 20760–20767. [Google Scholar] [CrossRef]
- Qiao, Y.; Lv, N.; Ouyang, X. Variable density filling algorithm based on delaunay triangulation. Micromachines 2022, 13, 1262. [Google Scholar] [CrossRef]
- Selimović, F.; Stanimirović, P.; Saračević, M.; Krtolica, P. Application of delaunay triangulation and catalan objects in steganography. Mathematics 2021, 9, 1172. [Google Scholar] [CrossRef]
- Cetin, M.C.; Li, G.; Klein, B.; Futcher, W. Simulating Bulk Ore Sorting Performance of a Panel Cave Mine: A Comparison between Two Approaches. Minerals 2023, 13, 603. [Google Scholar] [CrossRef]
- Nie, Z.; Lynn, R.; Tucker, T.; Kurfess, T. Voxel-based analysis and modeling of MRR computational accuracy in milling process. CIRP J. Manuf. Sci. Tec. 2019, 27, 78–92. [Google Scholar] [CrossRef]
- Masoumi, I.; Kamali, G.; Asghari, O.; Emery, X. Assessing the impact of geologic contact dilution in ore/waste classification in the gol-gohar iron ore mine, southeastern iran. Minerals 2020, 10, 336. [Google Scholar] [CrossRef]
- Navarro, J.; Seidl, T.; Hartlieb, P.; Sanchidrián, J.A.; Segarra, P.; Couceiro, P.; Schimek, P.; Godoy, C. Blastability and ore grade assessment from drill monitoring for open pit applications. Rock Mech. Rock Eng. 2021, 54, 3209–3228. [Google Scholar] [CrossRef]
- Cetin, M.C.; Klein, B.; Li, G.; Futcher, W. Tracking grade heterogeneity in a panel cave mine: A reconciliation study investigating the impact of mixing from an ore sorting perspective. Minerals 2023, 13, 1333. [Google Scholar] [CrossRef]
- Lei, Y.; Tong, X.; Qu, T.; Qiu, C.; Wang, D.; Sun, Y.; Tang, J. A scale-elastic discrete grid structure for voxel-based modeling and management of 3d data. Int. J. Appl. Earth Obs. Geoinf. 2022, 113, 103009. [Google Scholar] [CrossRef]
- Eliliwi, M.; Bazina, M.; Palomo, J.M. Kvp, ma, and voxel size effect on 3d voxel-based superimposition. Angle Orthod. 2019, 90, 269–277. [Google Scholar] [CrossRef]
- Miers, J.C.; Tucker, T.; Kurfess, T.; Saldana, C. Voxel-based modeling of transient material removal in machining. Int. J. Adv. Manuf. Technol. 2021, 116, 1575–1589. [Google Scholar] [CrossRef]
- Jjumba, A.; Dragićević, S. Towards a voxel-based geographic automata for the simulation of geospatial processes. ISPRS J. Photogramm. Remote Sens. 2016, 117, 206–216. [Google Scholar] [CrossRef]
- Chang, J.; Zhang, N.; Zhou, K.; Tao, J.; Chen, L.; Zhang, H.; Chi, Y. Apriori algorithm-based three-dimensional mineral prospectivity mapping—An example from meiling south area, Xinjiang, China. Minerals 2023, 13, 902. [Google Scholar] [CrossRef]
- Jia, F.; Su, Z.; Nian, H.; Yan, Y.; Yang, G.; Yang, J.; Shi, X.; Li, S.; Li, L.; Sun, F.; et al. 3d quantitative metallogenic prediction of indium-rich ore bodies in the dulong Sn-Zn polymetallic deposit, Yunnan Province, SW China. Minerals 2022, 12, 1591. [Google Scholar] [CrossRef]
- Wang, Q.; Wang, X.; Liu, H.; Yan, T.; Zhang, B.; Tian, M.; Yang, D.; Xiong, Y. 3d geochemical modeling of the qujia gold deposit, china: Implications for ore genesis and geochemical exploration of deep concealed ore bodies. Ore Geol. Rev. 2022, 144, 104819. [Google Scholar] [CrossRef]
- Hormann, K.; Agathos, A. The point in polygon problem for arbitrary polygons. Comput. Geom. 2011, 20, 131–144. [Google Scholar] [CrossRef]
- Hao, J.; Sun, J.; Chen, Y.; Cai, Q.; Tan, L. Optimal Reliable Point-in-Polygon Test and Differential Coding Boolean Operations on Polygons. Symmetry 2018, 10, 477. [Google Scholar] [CrossRef]
- Morrison, R.; Tewari, A.K. Convex lattice polygons with all lattice points visible. Discret. Math. 2021, 344, 112161. [Google Scholar] [CrossRef]
- Hu, L.; Xiao, J.; Wang, Y. An automatic 3D registration method for rock mass point clouds based on plane detection and polygon matching. Vis. Comput. 2020, 36, 669–681. [Google Scholar] [CrossRef]
- Li, W.; Hahn, J.K. Efficient ray casting polygonized isosurface of binary volumes. Vis. Comput. 2021, 37, 3139–3149. [Google Scholar] [CrossRef]
- Xiong, B.; Jiang, W.; Li, D.; Qi, M. Voxel Grid-Based Fast Registration of Terrestrial Point Cloud. Remote Sens. 2021, 13, 1905. [Google Scholar] [CrossRef]
- Zengin, R.S.; Sezer, V. A novel point inclusion test for convex polygons based on voronoi tessellations. Appl. Math. Comput. 2021, 399, 126001. [Google Scholar] [CrossRef]
- Barill, G.; Dickson, N.G.; Schmidt, R.; Levin, D.I.W.; Jacobson, A. Fast winding numbers for soups and clouds. ACM Trans. Graph. 2018, 37, 1–12. [Google Scholar] [CrossRef]
- Kumar, G.N.; Bangi, M. An Extension to Winding Number and Point-in-Polygon Algorithm. IFAC-Pap. 2018, 51, 548–553. [Google Scholar] [CrossRef]
- Li, W.; Paulson, L.C. Evaluating Winding Numbers and Counting Complex Roots Through Cauchy Indices in Isabelle/HOL. J. Autom. Reason. 2020, 64, 331–360. [Google Scholar] [CrossRef]
- Kodama, S. Effectiveness of inside/outside determination in relation to 3D non-convex shapes using CUDA. Imaging Sci. J. 2018, 66, 409–418. [Google Scholar] [CrossRef]
- Kodama, S. Shape classification based on solid angles by a support vector machine. Intell. Data Anal. 2022, 26, 933–957. [Google Scholar] [CrossRef]
- Bagies, T.; Le, W.; Sheaffer, J.; Jannesari, A. Reducing branch divergence to speed up parallel execution of unit testing on GPUs. J. Supercomput. 2023, 79, 18340–18374. [Google Scholar] [CrossRef]
- Jin, X.; Chen, Y.; Fan, W.; Zhang, Y.; Du, J. Fast algorithm for parallel solving inversion of large scale small matrices based on GPU. J. Supercomput. 2023, 79, 18313–18339. [Google Scholar] [CrossRef]
- Trujillo, L.; Contreras, J.M.M.; Hernandez, D.E.; Castelli, M.; Tapia, J.J. GSGP-CUDA—A CUDA framework for Geometric Semantic Genetic Programming. Softwarex 2022, 18, 101085. [Google Scholar] [CrossRef]
- Aaron, J. ORIN-3D—A new model for efficient simulation of landslide motion on a GPU using CUDA. Comput. Geotech. 2023, 153, 105078. [Google Scholar] [CrossRef]
Triangle | 1 | 2 | 3 | 4 | 5 | 6 | ||
---|---|---|---|---|---|---|---|---|
without Tri-Coding | () | 4.758 | 3.646 | 3.646 | 0.471 | 0.471 | 0.426 | 13.419 ≠ 4π |
() | 3.237 | 1.618 | 1.618 | 1.618 | 1.618 | 3.237 | 12.946 ≠ 0 | |
with Tri-Coding | () | −4.758 | −3.646 | −3.646 | −0.471 | −0.471 | 0.426 | 12.566 = 4π |
() | 3.237 | −1.618 | −1.618 | −1.618 | −1.618 | 3.237 | 0 |
Group | Code of Stratum | Number of Points | Number of Triangles | Running Time in CPU (s) | Running Time in GPU (s) |
---|---|---|---|---|---|
1 | KC04-13 | 228 | 312 | 32.52 | 0.003 |
2 | JC04 | 242 | 320 | 33.126 | 0.003 |
3 | JC05-1 | 238 | 348 | 36.134 | 0.003 |
4 | KC03-3 | 248 | 348 | 36.086 | 0.002 |
5 | KC03-51 | 266 | 356 | 36.861 | 0.002 |
6 | KC03-12 | 262 | 372 | 38.564 | 0.003 |
7 | KC02-2 | 256 | 376 | 38.896 | 0.003 |
8 | KC03-53 | 278 | 380 | 39.406 | 0.003 |
9 | JC02 | 270 | 396 | 41.012 | 0.003 |
10 | KC03-13 | 296 | 432 | 44.849 | 0.002 |
11 | KC02-1 | 292 | 460 | 47.64 | 0.002 |
12 | JC01 | 314 | 460 | 47.544 | 0.003 |
13 | KC01-1 | 300 | 476 | 49.418 | 0.002 |
14 | KC03-52 | 464 | 740 | 76.895 | 0.002 |
15 | KC04-2 | 484 | 752 | 78.447 | 0.003 |
16 | KC03-6 | 576 | 924 | 95.833 | 0.003 |
17 | JC03 | 588 | 944 | 97.605 | 0.002 |
18 | KC03-11 | 616 | 988 | 102.428 | 0.003 |
19 | DB | 636 | 1032 | 107.361 | 0.7 |
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. |
© 2023 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 (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Liu, L.; Sun, Y.; Ji, M.; Wang, H.; Liu, J. Efficient Construction of Voxel Models for Ore Bodies Using an Improved Winding Number Algorithm and CUDA Parallel Computing. ISPRS Int. J. Geo-Inf. 2023, 12, 473. https://doi.org/10.3390/ijgi12120473
Liu L, Sun Y, Ji M, Wang H, Liu J. Efficient Construction of Voxel Models for Ore Bodies Using an Improved Winding Number Algorithm and CUDA Parallel Computing. ISPRS International Journal of Geo-Information. 2023; 12(12):473. https://doi.org/10.3390/ijgi12120473
Chicago/Turabian StyleLiu, Lei, Yong Sun, Min Ji, Huimeng Wang, and Jiantao Liu. 2023. "Efficient Construction of Voxel Models for Ore Bodies Using an Improved Winding Number Algorithm and CUDA Parallel Computing" ISPRS International Journal of Geo-Information 12, no. 12: 473. https://doi.org/10.3390/ijgi12120473