1. Introduction
The use of foils in the nautical field is not a recent development. The first experiments date back to the early twentieth century, when E. Forlanini designed, built, and tested a motorboat equipped with hydrofoils on Lake Como. This vessel reached speeds of approximately 70 km/h with only 45 kW of installed power, demonstrating that the use of hydrofoils can significantly enhance the efficiency of watercraft.
For many years, the application of foils was limited to motorboats. However, in the early 2000s, several enthusiastic sailors began experimenting with their use on small recreational sailboats, leading to the development of the International Moth class (
Figure 1a), which rapidly gained popularity worldwide.
The growing prominence of the Moth class attracted the attention of researchers such as Day et al. [
1], who analyzed the boat’s performance by comparing experimental results with those predicted by lifting-line theory and airfoil performance data obtained using the XFOIL 6.97 software [
2].
In 2013, foils were introduced to America’s Cup yachts, marking a turning point that greatly increased interest in their potential. In recent years, the adoption of foils across a wide range of vessel sizes has led to further research into their performance. For instance, Pavesi et al. [
3] conducted a numerical investigation into foil cavitation using the finite volume method. Similarly, Sacher et al. employed an Efficient Global Optimization Approach that combines a boundary element method for fluid dynamics with a finite element method for structural analysis, aiming to enhance foil performance.
More recently, foils have been integrated into ocean-going vessels such as the IMOCA 60 class shown in (
Figure 1b). These boats have demonstrated not only remarkable performance, as evidenced by the 64-day solo circumnavigation record set in the Vendee Globe, but also high reliability under extreme conditions. This advancement suggests that foil technology may be increasingly viable for vessels beyond the realm of competitive sailing.
The revolution introduced to sailing by foiling technology has finally been recognized by the International Olympic Committee, which has incorporated foil-equipped boats into the Olympic sailing classes. These include the Nacra 17, a sailing catamaran fitted with foils, and the iQFoil class, a windsurfing board with foils developed and produced by Starboard since 2016, [
4]. The considerable complexity of foil systems in windsurfing has underscored the need for scientific research to identify optimal sailing conditions in order to fully unlock the equipment’s potential. This is particularly crucial for elite athletes, who, before the advent of foiling, had time to refine traditional windsurfing techniques primarily through intuitive practice. For this purpose, for example, Pernod et al. [
5] analyzed the effect of the free surface on the performance of the iQFoil class foil using a Reynolds-Averaged Navier–Stokes (RANS) code with a volume-of-fluid (VOF) approach for modeling the air–water interface. Their study demonstrated that reduced wing immersion leads to decreased device performance. Zhou et al. [
6], through experimental analysis, investigated sail performance and showed that increasing the sweep-back angle is crucial for enhancing aerodynamic efficiency.
It is well established that the iQFoil class adheres to a strict one-design policy, with manufacturing rights exclusively held by Starboard. The company does not disclose the geometric specifications of the foil components, thereby precluding direct access to the underlying CAD data. Consequently, accurate numerical modeling necessitates the adoption of reverse engineering methodologies, primarily through high-resolution three-dimensional scanning of the physical device.
High-precision 3D scanning typically yields a dense point cloud comprising millions of spatial data points. While this ensures a detailed representation of the object, it also results in a highly complex and often noisy mesh characterized by surface irregularities and topological defects. Processing such data for use in simulation workflows requires specialized post-processing tools, most of which rely on proprietary, general-purpose algorithms that may introduce non-negligible geometric distortions, compromising the fidelity of the reconstructed surface, at the same time generative algorithms have demonstrated their powerful in several field showing feasibility and flexibility together with highly specialized functionalities developed for specific purposes [
7,
8,
9]. Reference [
10] analyzed the influence of construction inaccuracies on foil performance, revealing that foils, even when produced by the same manufacturer, are not identical, and demonstrating that 3D reconstruction is essential for a rigorous evaluation of the device under investigation.
This study aims to develop a generative algorithm within the Grasshopper visual programming environment that reconstructs a NURBS surface from the raw point cloud with minimal deviation from the actual scanned geometry. The proposed methodology consists of orienting the point cloud according to the principal directions of inertia, subdividing the surface along the principal axis of inertia into an appropriate number of sections, reconstructing these sections using third-order curves with a sufficient number of control points, and generating the reconstructed surface by lofting the section curves. Subsequently, an analysis of the influence of the reconstruction parameters is presented. The resulting surface is optimized to balance geometric accuracy with computational cost, making it directly suitable for integration into CFD or FEM analyses without requiring further user operations. The algorithm is specifically tailored for sweepable surfaces, such as hydrofoil wings, where geometric continuity and smooth curvature are critical for aerodynamic and hydrodynamic performance evaluation [
11,
12].
2. Materials and Methods
2.1. Reverse Engineering Approach
2.1.1. Three-Dimensional Acquisition
The objective of the generative algorithm developed in this study is to produce a NURBS surface [
13] from a mesh representing a sweepable object obtained via 3D scanning. Specifically, a HEXAGON METROLOGY HP-L-20.8 laser scanner (North Kingstown, RI, USA) was employed (
Figure 2), featuring a theoretical spatial resolution of 0.013 mm and capable of acquiring up to 150,000 points per second. For the development and calibration of the algorithm, three distinct objects were considered, as illustrated in
Figure 3:
- -
A slightly irregular cylinder, particularly at its extremities;
- -
A prismatic element with a square base;
- -
The front wing of the iQFoil.
Although the first two objects exhibit relatively simple geometries, they present several irregularities, making the comparison between automatic and manual surface reconstruction particularly insightful. All objects were scanned at the maximum available resolution, resulting in meshes composed of several million elements. However, these high-resolution meshes are unsuitable for direct use in simulation environments due to numerous imperfections, such as whiskers and surface discontinuities.
For reference, all meshes were manually reconstructed using a variety of CAD modeling techniques. In particular, the reconstruction of the wing mesh followed a workflow that later informed the development of the generative algorithm. The procedure involved aligning the mesh with the global Cartesian coordinate system; extracting cross-sectional profiles based on surface variation, with increased section density in areas requiring greater geometric accuracy; reconstructing the section curves using interpolating splines optimized for smoothness and defined with the minimum necessary number of control points; defining the leading and trailing edge curves by manually selecting key points and fitting interpolating curves; and finally, generating the wing surface using a two-rail sweep operation driven by the edge curves. Ghorbani H. and Khameneifar F. [
14] addressed the problem of aligning point cloud meshes with a reference geometry using a dissimilarity assessment method. In this paper, we address a similar problem by aligning the point cloud meshes based on the definition of principal axes, as described in detail below. The result of this manual reconstruction process and the used section planes are shown in
Figure 4. The extraction and reconstruction of sections from point clouds have been addressed in a noteworthy manner by Khameneifar, F., and Feng, H. Y., [
15] and subsequently applied to aerodynamic profiles by H. Ghorbani and F. Khameneifar, [
16]. While the proposed methods are of considerable interest, they are complex to implement and require careful tuning of several parameters. In this study, we opted for a simplified approach based on the “Rebuild” function available in Rhinoceros, which only requires specifying the total number of control points and the degree of the interpolating curves. The impact of this simplification on the accuracy of wing surface reconstruction is assessed a posteriori.
2.1.2. CAD Modeling by Generative Algorithms
A new approach to mesh reconstruction has been proposed to render the process semi-automatic, achieving effective results while minimizing processing time.
The algorithm incorporates four main functionalities that enable:
- -
The automatic correction of mesh orientation;
- -
The selection of an appropriate cutting point;
- -
The definition of the number of sections for surface reconstruction;
- -
The execution of the lofting operation.
The algorithm was implemented using Grasshopper, a visual programming environment integrated as a plug-in within Rhinoceros 8 software. Grasshopper operates through function blocks, which can be arranged and interconnected to configure various features and algorithms.
The overall workflow carried out by the generative algorithm is shown in
Figure 5.
Specifically, the first part of the developed algorithm involves computing the mass properties of the mesh using a dedicated C# library function (
Figure 6). This computation yields the center of mass and the principal axes of inertia, which are subsequently used to orient the mesh in a way that facilitates both the sectioning operation and the subsequent lofting operation for surface reconstruction.
The primary alignment involves orienting the principal axis of inertia, corresponding to the highest moment of inertia, along the
x-axis of the global coordinate system. The results of applying this part of the developed algorithm are shown in
Figure 7 with the repositioned mesh highlighted in green.
Following this repositioning, the algorithm requires the selection of a cutting point, which is typically necessary since the acquired mesh often extends beyond the region of interest, as well as the specification of the number of sections to be generated. These sections are then distributed starting from the cutting point up to a defined percentage of the mesh’s maximum length along the x-axis. Skipping the terminal part of the mesh during sectioning was deemed necessary to avoid severe deformation and excessive geometric deviation of the final section, which could compromise the quality of the subsequent lofting operation.
The functional block of this part of the algorithm is shown in
Figure 8.
The resulting section curves are then reconstructed using third-order splines. In
Figure 8, the block for the setting of the control points for section curve rebuilding is highlighted.
Figure 9 shows the section curves obtained through the described algorithm applied to the front wing of the iQFoil.
To complete the reverse engineering process with the reconstruction of the model of the front wing of the iQFoil, the algorithm permits the automatic creation of a NURBS surface through a lofting operation. In particular, the knot and control point structure of the surface have been determined by a normal style option, which allows the creation of a surface with an average amount of stretching between the curves. This approach has proven to be the most effective, particularly when the number of sections is relatively small and the spacing between them consequently increases. To avoid potential artifacts in the reconstructed surface caused by acquisition defects in the original mesh, such as holes leading to open cross-section curves, all open curves were excluded during the lofting operation. Additionally, the algorithm was designed to notify the user whenever the number of discarded curves exceeded 10% of the total cross-sections.
Figure 10 shows the loft surface of the wing obtained automatically by the algorithm.
3. Results
Figure 11 shows the final NURBS surface of the wing obtained automatically by the algorithm.
To test the validity of the implemented algorithm, comparisons were made between the surface obtained by the algorithm and the original mesh.
Specifically, the deviation and root mean square error (RMSE) were calculated. The deviation values, considered as the shortest distance from the model obtained by the generative design process to any point on the original mesh. The root mean square errors were also estimated to gather information about the dimensional accuracy of the obtained object [
17].
Figure 12,
Figure 13 and
Figure 14 present the deviation distributions mapped over the original mesh. The results indicate that the proposed algorithm ensures high dimensional accuracy while considerably reducing lead times compared to conventional manual CAD methods.
Table 1 summarizes the obtained results. In particular, the maximum deviation values range from 0.3724 mm to 0.7681 mm, whereas the RMSE spans from 0.3758 mm to 0.7682 mm. The front wing of the iQFoil displays the lowest deviation and RMSE values primarily due to its smooth surface profile. Conversely, the other components exhibit multiple surface irregularities that are not replicated in the reconstructed geometries.
Finally, a comparison was conducted between the geometry reconstructed using the developed algorithm and that obtained through a manual reconstruction. In the latter case, all parameters were manually defined by an expert in reverse engineering, including the number of required sections, the number and position of the points selected from the point cloud for section curve reconstruction, the degree of the reconstructed curves, and the surface generation using the two-rail sweep technique based on manually extracted edge curves. The manual reconstruction was considered the best result achievable from the available data.
Figure 15 shows the results of this comparison in terms of the deviation map, with a maximum RMSE value of 0.7228 mm.
A sensitivity analysis was performed by varying both the number of sections and the number of control points used to reconstruct the cross-section curves. As shown in
Figure 16a, for the geometry considered, using 10 sections is sufficient to achieve a relatively low RMSE value. However, increasing the number of sections to 30 further reduces the RMSE to approximately half of that obtained with 10 sections. To assess the influence of the number of control points on the reconstruction accuracy, the number of sections was fixed at 30. As illustrated in
Figure 16b, a similar trend is observed, with a noticeable reduction in RMSE occurring from about 75 control points onward.
4. Discussion
In this study, a new semi-automated process was implemented to reconstruct a NURBS surface from point clouds obtained through three-dimensional scanning. The proposed algorithm allows, starting from a simple 3D acquisition, the correct automatic orientation of the mesh, the selection of a suitable cutting point, and the specification of the number of sections for potential reconstruction in order to obtain automatically a NURBS surface of the object.
This methodology employs generative algorithms, a modeling system that has found application across various fields, demonstrating excellent results in reducing design time. The approach was tested on three different objects: a slightly irregular cylinder, particularly distorted at its extremities; a prismatic element with a square base; and the front wing of the iQFoil. All objects were digitized using a conventional reverse engineering workflow, employing the same laser scanner to ensure consistent scanning accuracy. A key feature of this work is the simplification of the CAD modeling process for arbitrary objects, which can be performed automatically by simply selecting the initial mesh, specifying the cutting point, and defining the number of cross-sections required for reconstruction.
To validate this approach, two comparative analyses were conducted to evaluate both the maximum deviation values and the root mean square errors (RMSE). In the first comparison, the meshes generated using the proposed generative algorithm were compared to the original mesh. The results showed that the maximum deviation ranged from 0.3724 mm to 0.7681 mm, while the RMSE varied between 0.3758 mm and 0.7682 mm. The front wing of the iQFoil exhibited the lowest deviation and RMSE values, indicating that the implemented algorithm performs effectively even on geometrically complex components, especially when they have a smooth surface. The second comparison assessed the differences between a NURBS surface reconstructed via the generative approach and one obtained using a manual reconstruction made by an expert in reverse engineering and considered as a benchmark test. In this latter case, the results further confirm the robustness of the proposed method, with a maximum deviation of 0.7107 mm and an RMSE of 0.7228 mm, both remaining below the one-millimeter threshold.
The evaluation of parameters such as the number of sections and control points demonstrated the presence of threshold values beyond which the proposed method yields substantial reconstruction errors. Consequently, performing a sensitivity analysis is essential for the geometry under investigation.
Although this represents an initial approach, the methodological framework developed in this study shows considerable potential for future research and practical applications. It could support the development of an automated workflow capable of efficiently identifying the optimal reconstructed shape for a given object. Furthermore, the proposed method offers significant advantages in terms of both time and cost.
However, the developed method could present some limitations, while the proposed method effectively reconstructs continuous surfaces by smoothing out imperfections typically found in meshes obtained directly from 3D acquisitions, it can introduce reconstruction errors when the scanned object features sharp edges or curvature discontinuities that should be preserved. For instance,
Figure 17 illustrates: (a) the mesh generated directly from the acquired point cloud, (b) the surface reconstructed using the generative algorithm, and (c) the surface reconstructed by an expert. As can be clearly observed, the reconstruction performed by the algorithm completely removes the sharp edge, albeit barely visible, in the original mesh, replacing it with a fileted transition at the wing’s trailing edge. Although this modification results in a low deviation and root mean square error, it alters the geometry of the wing and eliminates a geometric discontinuity that is actually present in the physical object, as highlighted by Sunil and Pande [
18]. Preserving geometric discontinuities is essential for maintaining functional accuracy, especially in engineering applications. Moreover, the limitations of an approach based on NURBS surfaces have also been clearly highlighted in [
19], although this method offers several advantages when applied to sweepable surfaces—specifically, the removal of the sharp trailing edge of the wing introduces an error comparable to that typically arising from the conversion of the wing surface into a volume mesh performed by CFD software, and is therefore considered to have a negligible influence on the numerical results.
5. Conclusions
This study addresses the challenge of reconstructing sweepable surfaces from point clouds acquired by a 3D reverse engineering process. To this end, a generative design algorithm was developed within the Grasshopper environment, integrating custom routines written in C# and Visual Basic. NET. The proposed algorithm was validated on three different surfaces, including the front wing surface of an iQFoil, representative of a real-world nautical application. The results, evaluated in terms of surface deviation from the mesh derived directly from the point cloud and mean square error, demonstrate the high quality of the reconstructed surfaces and the general applicability of the proposed methodology. This approach significantly reduces reconstruction time while enabling the execution of a highly specialized task by personnel with minimal training in reverse engineering. This is particularly relevant in the nautical and aeronautical sectors, where such surfaces are commonly encountered. Future work will focus on addressing the loss of curvature discontinuities at edges, implementing several strategies to address these problems, such as surface division or the T-Splines, and optimizing the placement and number of section profiles.
Author Contributions
Conceptualization, A.C. and V.R.; methodology, A.C., V.R. and A.M.; software, V.R.; validation, A.C., A.M. and T.I.; formal analysis, T.I.; investigation, A.M.; resources, A.M. and T.I.; data curation, V.R.; writing—original draft preparation, A.C. and V.R.; writing—review and editing, A.C., A.M. and T.I.; visualization, A.C.; supervision, T.I. and. A.M.; project administration, A.C. All authors have read and agreed to the published version of the manuscript.
Funding
This research received no external funding.
Data Availability Statement
Data are contained within the article.
Conflicts of Interest
The authors declare no conflicts of interest.
References
- Day, S.; Cocard, M.; Troll, M. Experimental measurement and simplified prediction of T-foil performance for monohull dinghies. In Proceedings of the 23rd Chesapeake Sailing Yacht Symposium, Annapolis, MD, USA, 15–16 March 2019. [Google Scholar]
- XFOIL Subsonic Airfoil Development System. Available online: https://web.mit.edu/drela/Public/web/xfoil/ (accessed on 1 April 2025).
- Yin, T.; Pavesi, G.; Pei, J.; Yuan, S. Numerical investigation of unsteady cavitation around a twisted hydrofoil. Int. J. Multiph. Flow 2021, 135, 103506. [Google Scholar] [CrossRef]
- Windsurf Magazine. Available online: https://www.windsurf.co.uk/the-iqfoil-story/ (accessed on 1 April 2025).
- Pernod, L.; Sacher, M.; Wackers, J.; Augier, B.; Bot, P. Free-Surface Effects on Two-Dimensional Hydrofoils by RANS-VOF Simulations. J. Sail. Technol. 2023, 8, 24–38. [Google Scholar] [CrossRef]
- Mok, K.P.; Zhou, P.; Hou, J.; Zhong, S.; Zhang, X.; So, R.C.; Chan, K.Y. Performance of a windsurfing sail under steady condition. Ocean. Eng. 2023, 289, 116295. [Google Scholar] [CrossRef]
- Cirello, A.; Ingrassia, T.; Marannano, G.; Mirulla, A.I.; Nigrelli, V.; Petrucci, G.; Ricotta, V. A New Automatic Process Based on Generative Design for CAD Modeling and Manufacturing of Customized Orthosis. Appl. Sci. 2024, 14, 6231. [Google Scholar] [CrossRef]
- Demarco, F.; Bertacchini, F.; Bilotta, E.; Scuro, C.; Pantano, P. Algorithms for Design with CNC Machines: The Case Study of Wood Furniture. In Numerical Computations: Theory and Algorithms; Lecture Notes in Computer Science; Springer: Cham, Switzerland, 2025; Volume 14478. [Google Scholar]
- Gabštur, P.; Pollák, M.; Kočiško, M.; Kotrady, V. Implementation of Generative Design Tools in the Construction Process. TEM J. 2025, 14, 983–991. [Google Scholar] [CrossRef]
- Macikowski, Z.; Karczewski, A.; Krata, P. Impact of Hydrofoil Shaped Imperfections on Lift and Drag Characteristics. Pol. Marit. Res. 2025, 32, 29–37. [Google Scholar] [CrossRef]
- Shen, X.; Avital, E.; Paul, G.; Rezaienia, M.A.; Wen, P.; Korakianitis, T. Experimental study of surface curvature effects on aerodynamic performance of a low Reynolds number airfoil for use in small wind turbines. J. Renew. Sustain. Energy 2016, 8, 053303. [Google Scholar] [CrossRef]
- Shen, X.; Avital, E.; Rezaienia, M.A.; Paul, G.; Korakianitis, T. Computational methods for investigation of surface curvature effects on airfoil boundary layer behavior. J. Algorithms Comput. Technol. 2016, 11, 68–82. [Google Scholar] [CrossRef]
- Sederberg, T.W. Computer Aided Geometric Design. All Faculty Publications. 1. 2012. Available online: https://scholarsarchive.byu.edu/facpub/1 (accessed on 1 April 2025).
- Ghorbani, H.; Khameneifar, F. Scan-to-CAD alignment of damaged airfoil blade point clouds through geometric dissimilarity assessment. Procedia CIRP 2022, 112, 585–589. [Google Scholar] [CrossRef]
- Khameneifar, F.; Feng, H.-Y. Extracting sectional contours from scanned point clouds via adaptive surface projection. Int. J. Prod. Res. 2017, 55, 4466–4480. [Google Scholar] [CrossRef]
- Ghorbani, H.; Khameneifar, F. Airfoil profile reconstruction from unorganized noisy point cloud data. J. Comput. Des. Eng. 2021, 8, 740–755. [Google Scholar] [CrossRef]
- Ingrassia, T.; Nigrelli, V.; Ricotta, V.; Tartamella, C. Process parameters influence in additive manufacturing. In Advances on Mechanics, Design Engineering and Manufacturing; Lecture Notes in Mechanical Engineering; Springer: Cham, Switzerland, 2017. [Google Scholar]
- Sunil, V.B.; Pande, S.S. Automatic recognition of features from freeform surface CAD models. Comput.-Aided Des. 2008, 40, 502–517. [Google Scholar] [CrossRef]
- Ma, W.; Kruth, J.-P. NURBS curve and surface fitting for reverse engineering. Int. J. Adv. Manuf. Technol. 1995, 10, 341–355. [Google Scholar] [CrossRef]
Figure 1.
(a) moth international foiling class; (b) Imoca 60 foiling.
Figure 1.
(a) moth international foiling class; (b) Imoca 60 foiling.
Figure 2.
HEXAGON METROLOGY HP-L-20.8 laser scanner.
Figure 2.
HEXAGON METROLOGY HP-L-20.8 laser scanner.
Figure 3.
Obtained meshes by acquiring processes: (a) cylinder; (b) prismatic; (c) iQFoil front wing.
Figure 3.
Obtained meshes by acquiring processes: (a) cylinder; (b) prismatic; (c) iQFoil front wing.
Figure 4.
Foil front wing (half), used section planes (in red), obtained NURBS surface through manual reconstruction.
Figure 4.
Foil front wing (half), used section planes (in red), obtained NURBS surface through manual reconstruction.
Figure 5.
Workflow of the developed algorithm.
Figure 5.
Workflow of the developed algorithm.
Figure 6.
Functional blocks to reposition the mesh with the global Cartesian coordinate system.
Figure 6.
Functional blocks to reposition the mesh with the global Cartesian coordinate system.
Figure 7.
Original mesh, in black, repositioned one in green.
Figure 7.
Original mesh, in black, repositioned one in green.
Figure 8.
Functional block for the section curves extraction.
Figure 8.
Functional block for the section curves extraction.
Figure 9.
Cross-sections of the front wing of the iQFoil.
Figure 9.
Cross-sections of the front wing of the iQFoil.
Figure 10.
Final loft surface of the iQFoil front wing.
Figure 10.
Final loft surface of the iQFoil front wing.
Figure 11.
NURBS surface of the front wing of the iQFoil.
Figure 11.
NURBS surface of the front wing of the iQFoil.
Figure 12.
Deviation maps (legend in mm) of the iQFoil front wing.
Figure 12.
Deviation maps (legend in mm) of the iQFoil front wing.
Figure 13.
Deviation maps (legend in mm) of a slightly irregular cylinder.
Figure 13.
Deviation maps (legend in mm) of a slightly irregular cylinder.
Figure 14.
Deviation maps (legend in mm) of the prismatic element.
Figure 14.
Deviation maps (legend in mm) of the prismatic element.
Figure 15.
Deviation maps (legend in mm) between the iQFoil front wing surface obtained by algorithm and the NURBS surface modeled by traditional CAD modeling technique.
Figure 15.
Deviation maps (legend in mm) between the iQFoil front wing surface obtained by algorithm and the NURBS surface modeled by traditional CAD modeling technique.
Figure 16.
(a) RMSE vs. number of sections; (b) RSME vs. number of control points (sections = 30).
Figure 16.
(a) RMSE vs. number of sections; (b) RSME vs. number of control points (sections = 30).
Figure 17.
iQFoil trailing edge, (a) point cloud mesh, (b) generative algo surface, (c) manual reconstruction surface.
Figure 17.
iQFoil trailing edge, (a) point cloud mesh, (b) generative algo surface, (c) manual reconstruction surface.
Table 1.
Obtained results: deviation and RMSE from original mesh.
Table 1.
Obtained results: deviation and RMSE from original mesh.
Objects | Deviation (mm) | RMSE (mm) |
---|
Slightly irregular cylinder | 0.7681 | 0.7682 |
Prismatic element with a square base | 0.7065 | 0.7075 |
Front wing of the iQFoil | 0.3724 | 0.3758 |
| 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. |
© 2025 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/).