Geometric Modeling and 3D Printing Using Recursively Generated Point Cloud

Abstract: Previous studies have reported that a recursive process called the point cloud creation algorithm (PCA) that generates a point cloud is useful for reverse engineering a planner shape. This study elucidates the characteristics of the parameters used in the recursive process as well as its ability in geometric modeling and 3D printing of 3D shapes. In the recursive process, three constants (center point, initial distance, and initial angle) and two variables (instantaneous distance and instantaneous rotational angle) are employed. The shape-modeling characteristics of the constants and variables are elucidated using some commonly used shapes (straight-line, circle, ellipses, spiral, astroid, S-shape, and leaf-shape). In addition, the shape-modeling capability of the recursive process as a whole is quantified using two parameters called the radius of curvature and aesthetic value. Moreover, an illustrative example that shows the efficacy of the recursive process in virtual and physical prototyping of a relatively complex 3D object is presented. The results show that reverse engineering performed by the recursive-process-created point cloud is free from computational complexity compared to reverse engineering performed by the 3D-scanner-created point cloud. As such, the outcomes of this study enrich the field of reverse engineering.

The typical steps underlying an AM process are Steps 4 to 7, as shown in Figure 1. In some cases, particularly when a given object is reverse engineered [35][36][37], Steps 1 to 3 in Figure 1 must be added to make the process meaningful. Therefore, some of the challenges of DfAM are rooted in Steps 2 and 3, as described below. When a given object is reverse engineered, a data acquisition process is required, as shown by Step 2. In most cases, data acquisition is based on image processing, sketch processing, scanned point cloud processing, or analytical point cloud processing. In the case of image processing, the image data of a given object are extracted. Afterward, the data are processed by an appropriate computational method (Step 3) for making the information meaningful to a CAD package for solid modeling. In the case of sketch processing, a given object is sketched and then the sketch data are processed by an appropriate computational method for making the information meaningful to a CAD package for solid modeling. In the case of scanned point-cloud processing, a given object is scanned by a 3D scanner and then represented by a relatively large set of points known as a point cloud. Afterward, the point cloud is processed by an appropriate computational method for making the information meaningful to a CAD package for solid modeling. Thus, the abovementioned data acquisition processes require either image processing or point cloud processing. The computational complexity and the respective solutions have been studied by numerous authors, as reported in [38]. For the sake of better understanding, the following articles can be noted that show the computational details regarding raster to vector graphics conversion [39][40][41], sketch processing [42][43][44], data registration [9,[45][46][47], noise removal [48,49], data reduction [50,51], curve-based surface reconstruction [42,[52][53][54][55][56][57][58], polygon-based surface reconstruction [59][60][61][62][63], and direct slicing [64][65][66][67][68].
Compared to the image processing, sketch processing, and scanned point-cloud processing, analytical-point-cloud-processing-based reverse engineering is still in infancy. However, one of the advantages of analytical-point-cloud-based reverse engineering is that it can restrict the size of the point cloud to a small one. This way, some of the computational complexity as mentioned above can be avoided, as shown by the authors in [69]. On the other hand, there is an inherent problem, that is, what is the best approach to create an analytical point cloud? In this regard, there are multiple approaches. An analytical point cloud can be created using a deterministic approach [38,70], a semirandom approach or affine mapping-based approach [34,71], and a fully random approach [72]. In each case, the 3D solid model construction process can be systematized using the information underlying the analytically created point cloud. This is perhaps not the case when the other approaches are used to create the point cloud.
In this article, the focus is on the deterministic point cloud that is created by a recursive process as shown in [38,69,70]. This process uses two variables and three constants, which are user-defined. The role and the characteristics of these variables and constants must be known beforehand to When a given object is reverse engineered, a data acquisition process is required, as shown by Step 2. In most cases, data acquisition is based on image processing, sketch processing, scanned point cloud processing, or analytical point cloud processing. In the case of image processing, the image data of a given object are extracted. Afterward, the data are processed by an appropriate computational method (Step 3) for making the information meaningful to a CAD package for solid modeling. In the case of sketch processing, a given object is sketched and then the sketch data are processed by an appropriate computational method for making the information meaningful to a CAD package for solid modeling. In the case of scanned point-cloud processing, a given object is scanned by a 3D scanner and then represented by a relatively large set of points known as a point cloud. Afterward, the point cloud is processed by an appropriate computational method for making the information meaningful to a CAD package for solid modeling. Thus, the abovementioned data acquisition processes require either image processing or point cloud processing. The computational complexity and the respective solutions have been studied by numerous authors, as reported in [38]. For the sake of better understanding, the following articles can be noted that show the computational details regarding raster to vector graphics conversion [39][40][41], sketch processing [42][43][44], data registration [9,[45][46][47], noise removal [48,49], data reduction [50,51], curve-based surface reconstruction [42,[52][53][54][55][56][57][58], polygon-based surface reconstruction [59][60][61][62][63], and direct slicing [64][65][66][67][68].
Compared to the image processing, sketch processing, and scanned point-cloud processing, analytical-point-cloud-processing-based reverse engineering is still in infancy. However, one of the advantages of analytical-point-cloud-based reverse engineering is that it can restrict the size of the point cloud to a small one. This way, some of the computational complexity as mentioned above can be avoided, as shown by the authors in [69]. On the other hand, there is an inherent problem, that is, what is the best approach to create an analytical point cloud? In this regard, there are multiple approaches. An analytical point cloud can be created using a deterministic approach [38,70], a semi-random approach or affine mapping-based approach [34,71], and a fully random approach [72]. In each case, the 3D solid model construction process can be systematized using the information underlying the analytically created point cloud. This is perhaps not the case when the other approaches are used to create the point cloud.
In this article, the focus is on the deterministic point cloud that is created by a recursive process as shown in [38,69,70]. This process uses two variables and three constants, which are user-defined. The role and the characteristics of these variables and constants must be known beforehand to facilitate the modeling process. Whether or not a given shape has been modeled as per the requirement has not been elucidated yet. The deterministic point cloud creation process has been applied to modeling the planner shapes only. Therefore, the following questions are yet to be answered.

•
What are the characteristics and roles of the variables and constants used in the recursive process that deterministically creates a point cloud? • How do we quantify the shape information modeled by a set of a point cloud? • Does the recursive process that deterministically creates a point cloud correctly model a given shape? • Does the deterministically created point cloud help create 3D solid models of some given objects?
This article addresses answers to the aforementioned questions. The rest of the article is organized as follows. Section 2 describes the characteristics of the point-cloud-creating algorithm. Section 3 describes the quantification of point cloud by the radius of curvature and aesthetic value. Section 4 describes the 3D solid modeling and physical prototyping of a given shape guided by some points. Section 5 describes the discussion on a point-cloud-based surface texturing and processing of point cloud obtained from a 3D scanner. Section 5 provides the concluding remarks of this study.

Characteristics of the Point-Cloud-Creating Algorithm
Recall the following question. What are the characteristics and roles of the variables and constants used in the recursive process that deterministically creates a point cloud? The recursive process, called the point cloud creation algorithm (PCA), that creates a point cloud on a plane is shown in Appendix A. As shown in Appendix A, PCA needs three constants as inputs-namely, the center point, P c ; initial distance, d; and initial angle, ϕ-that remain the same for all iterations. In addition, PCA needs two variables as inputs-namely, instantaneous rotational angle, θ i and instantaneous distance, r i , i = 0, 1, ..., n-that may change in every iteration. The PCA creates the output, denoted as PC = {P ei | i = 0, 1, ..., n}, which is a small-size point cloud. As such, the output of PCA, PC depends on d, ϕ, θ i , and r i . This input-output relationship is characterized by using some well-known shapes, namely, straight-line, circle, ellipse, spiral, astroid, S-shape, and leaf-shape. The description is as follows.
First, consider the point clouds that evolve due to the linear settings of the instantaneous rotational angle and distance. These settings create some point clouds presenting straight lines, circles, and spirals, as shown in Figures 2-5. For example, consider a point cloud that models a straight line. In this case, θ i must be kept constant and r i must linearly increase or decrease. When θ i = 0 • and r i linearly increases for all iterations, the PCA creates a point cloud, PC, presenting a horizontal line, as shown in Figure 2. When θ i = 90 • and r i linearly increases for all iterations, the PCA creates, PC, presenting a vertical line, as shown in Figure 3. The slope of the straight line can be modeled using θ i . When an opposite strategy is adopted, that is, θ i is increased or decreased linearly and r i is kept constant, the point cloud, PC, presents a shape called a circle, as shown in Figure 4. In this case, the radius of the circle can be modeled using r i . On the other hand, when both θ i and r i are increased or decreased simultaneously, then the point cloud, PC, presents a shape called a spiral, as shown in Figure 5.
In the next step, consider the relatively complex settings of the instantaneous distance while keeping the instantaneous rational angle increase linear. For example, when θ i is increased linearly and r i follows a tent function, then the point cloud, PC, presents a shape called leaf-shape, as shown in Figure 6. When θ i increases linearly and r i follows a sine or cosine function with two cycles, then the point cloud, PC, presents a shape called ellipse, as shown in Figure 7. Similarly, when θ i increases linearly and r i follows a u-shape function with four cycles, then the point cloud, PC, presents a shape called astroid, as shown in Figure 8. When θ i increases linearly and r i follows a bathtub function with two cycles, then the point cloud, PC, presents a shape called S-shape, as shown in Figure 9. As shown in Figures 2-9, keeping θ i very simple (constant or straight-line) and varying r i using some simple functions (straight-line, tent function, sine/cosine, u-shape function, and bathtub functions) can model a variety of shapes. The findings are summarized in Table 1. These characteristics of the algorithm can be used while modeling an arbitrary planner shape or a segment of it.
As shown in Table 1, besides the instantaneous rotational angle and distance described above, the other input parameters of the PCA, the center point, P c and the initial angle, ϕ also play an important role. For instance, the leaf-shape shown in Figure 9 can be rotated by resetting the values of ϕ. For example, when the initial angle is set in the following manner ϕ = 0 • , 45 • , and 90 • , the leaf-shape shown in Figure 6 rotates by 0 • , 45 • , and 90 • , respectively, as shown in Figure 10. Similarly, P c can perform the function of translation in both x-axis and y-axis directions. The initial distance, d, on the other hand, does not play many roles, i.e., it does not affect the shape to be modeled; it is only necessary for placing the starting point. functions (straight-line, tent function, sine/cosine, u-shape function, and bathtub functions) can model a variety of shapes. The findings are summarized in Table 1. These characteristics of the algorithm can be used while modeling an arbitrary planner shape or a segment of it. As shown in Table 1, besides the instantaneous rotational angle and distance described above, the other input parameters of the PCA, the center point, Pc and the initial angle, φ also play an important role. For instance, the leaf-shape shown in Figure 9 can be rotated by resetting the values of φ. For example, when the initial angle is set in the following manner φ = 0°, 45°, and 90°, the leafshape shown in Figure 6 rotates by 0°, 45°, and 90°, respectively, as shown in Figure 10. Similarly, Pc can perform the function of translation in both x-axis and y-axis directions. The initial distance, d, on the other hand, does not play many roles, i.e., it does not affect the shape to be modeled; it is only necessary for placing the starting point.     functions (straight-line, tent function, sine/cosine, u-shape function, and bathtub functions) can model a variety of shapes. The findings are summarized in Table 1. These characteristics of the algorithm can be used while modeling an arbitrary planner shape or a segment of it. As shown in Table 1, besides the instantaneous rotational angle and distance described above, the other input parameters of the PCA, the center point, Pc and the initial angle, φ also play an important role. For instance, the leaf-shape shown in Figure 9 can be rotated by resetting the values of φ. For example, when the initial angle is set in the following manner φ = 0°, 45°, and 90°, the leafshape shown in Figure 6 rotates by 0°, 45°, and 90°, respectively, as shown in Figure 10. Similarly, Pc can perform the function of translation in both x-axis and y-axis directions. The initial distance, d, on the other hand, does not play many roles, i.e., it does not affect the shape to be modeled; it is only necessary for placing the starting point.     functions (straight-line, tent function, sine/cosine, u-shape function, and bathtub functions) can model a variety of shapes. The findings are summarized in Table 1. These characteristics of the algorithm can be used while modeling an arbitrary planner shape or a segment of it. As shown in Table 1, besides the instantaneous rotational angle and distance described above, the other input parameters of the PCA, the center point, Pc and the initial angle, φ also play an important role. For instance, the leaf-shape shown in Figure 9 can be rotated by resetting the values of φ. For example, when the initial angle is set in the following manner φ = 0°, 45°, and 90°, the leafshape shown in Figure 6 rotates by 0°, 45°, and 90°, respectively, as shown in Figure 10. Similarly, Pc can perform the function of translation in both x-axis and y-axis directions. The initial distance, d, on the other hand, does not play many roles, i.e., it does not affect the shape to be modeled; it is only necessary for placing the starting point.

Quantification of Point Clouds
Recall the following questions. How do we quantify the shape information modeled by a set of a point cloud? Does the recursive process that deterministically creates a point cloud correctly model a given shape?

Quantification of Point Clouds
Recall the following questions. How do we quantify the shape information modeled by a set of a point cloud? Does the recursive process that deterministically creates a point cloud correctly model a given shape?

Quantification of Point Clouds
Recall the following questions. How do we quantify the shape information modeled by a set of a point cloud? Does the recursive process that deterministically creates a point cloud correctly model a given shape?
In order to answer the abovementioned questions, two well-known parameters called a radius of curvature and aesthetic value, defined in Appendix B, are considered.
Let A be a planner shape. Let U be a method that creates a point cloud V = {V i | i = 0, 1, . . . } to model A. In addition, PC = {P ei | i = 0, 1, ...} is created by PCA to model A. As such, both point clouds, V = {V i | i = 0, 1, . . . } and PC = {P ei | i = 0, 1, ...} must look alike. At the same time, their quantitative characteristics must be the same. Based on this consideration, this section quantifies two point clouds of the same shape using the radius of curvature and aesthetic value, respectively.

Quantification Based on Radius of Curvature
Consider the parameter called a radius of curvature [73], as defined in Appendix B. A point in a point cloud has a radius of curvature, ρ i , i = 0, 1, . . . . To calculate ρ i , the point itself and two more preceding consecutive points are needed. The variability in ρ i is calculated for circle, ellipse, and spiral, as shown in Figures 11-13. Figure 11 shows two point clouds of the same shape, circle. Figure 11a shows the point cloud of the circle modeled by Equation (A1), where the radius, a = 100 and center, P c = (150,150). In this case, 49 points are created to model the circle. Figure 11b shows the values of ρ i, which is equal to 100.21. Theoretically, ρ i must be equal to a = 100. This small error (100.21 -100 = 0.21) is due to calculation precision error. On the other hand, Figure 11c shows the point cloud of the same circle modeled by a PCA-generated point cloud. For this point cloud, r i = 100 (= d); ϕ = 0; θ i = 2πi/n; n = 48; i = 0, 1, . . . , 48; and P c = (150, 150). In this case as well, 49 points are created to model the circle. Figure 11d shows the values of ρ i , which is equal to 100.21. This means that for a circle, r i plays the role of the radius of curvature of a circle. Figure 12 shows two point clouds of the same shape, ellipse. Figure 12a shows the point cloud of the ellipse modeled by Equation (A2), where the major radius, a = 54; minor radius, b = 46; and center, P c = (80, 80). In this case, 49 points are created to model the ellipse. Figure 12b shows the variation of ρ i . On the other hand, Figure 12c shows the point cloud of the same ellipse modeled by a PCA-generated point cloud. For this point cloud, d = 15; ϕ = 0; r i is decreased linearly from 54 to 46 and increased linearly from 46 to 56 for two cycles; θ i = 2πi/n; n = 48; i = 0, 1, . . . , 48; and P c = (80, 80). In this case as well, 49 points are created to model the ellipse. Figure 12d shows the variation of ρ i . As seen in Figure 12a,c, it is clear that both point clouds are identical and their radius of curvature (Figure 12b,d) also varies in the same trend. This means that for an ellipse, r i plays the role of the radius of curvature of an ellipse. Figure 13 shows two point clouds of the same shape, spiral. Figure 13a shows the point cloud of the spiral modeled by Equation (A3), where an arbitrary, positive, real constant, a = 28.647 that controls the distance between the successive turnings of the spiral. In this case, 49 points are created to model the spiral. Figure 13b shows the variation of ρ i . On the other hand, Figure 13c shows the point cloud of the same spiral modeled by a PCA-generated point cloud. For this point cloud, d = 15; ϕ = 0; r i = 0, 11.25, . . . , 540; θ i = 2πi/n; n = 48; i = 0,1, . . . , 48; and P c = (600, 600). In this case as well, 49 points are created to model the spiral. Figure 13d shows the variation of ρ i . As seen in Figure 13a,c, it is clear that both point clouds are identical and their radius of curvature (Figure 13b,d) also varies in the same trend. This means that for spiral, r i plays the role of a radius of curvature of a spiral.
It is clear from Figures 11-13, the shape modeled by the parametric equation based and the PCA are visually identical. This means that the instantaneous distance plays the role of the radius of curvature when the shape is modeled by the PCA. The variation of the instantaneous distance is comparatively lower than the radius of curvature, which shows that the geometry of the shape can be easily controlled using the instantaneous distance compared to the radius of curvature. It is worth mentioning that there are several key elements for shape designing, and mathematical formulation of the radius of curvature or instantaneous distance can be one effective approach [74].

Quantification Based on Aesthetic Value
This subsection describes the quantification of shapes based on a parameter called aesthetic value, denoted as α [75][76][77]. This parameter is defined in Appendix B. In order to know the aesthetic value, a plot called a logarithm curvature histogram (LCH) is used. The procedure to construct LCH for a given curve (in this case from a given point cloud) is also shown in Appendix B. For quantification of the aesthetic value, the ellipse and spiral shape are considered. Figure 14a shows the point cloud of the ellipse modeled by Equation (B.2), which is repeated from the previous section (Figure 12a). The corresponding LCH of the ellipse is shown in Figure 14b. Figure 14c shows the point cloud of the ellipse modeled by the PCA (repeated from Figure 12c). The corresponding LCH of the ellipse is shown in Figure 14d. Both point clouds have the same aesthetic value, α = 1.25. On the other hand, Figure 15a shows the point cloud of a spiral modeled by Equation (B.3) (repeated from Figure 13a). The corresponding LCH of the spiral is shown in Figure 15b. Figure  15c shows the point cloud of the spiral modeled by the PCA (repeated from Figure 13c). The corresponding LCH of the spiral is shown in Figure 14d. Both point clouds of the spiral shape have the same aesthetic value, α = 1.22. As seen in Figures 14 and 15, even though the shapes are created using the PCA instead of the respective parametric equations, their aesthetic natures remain unaffected. It is also observed that the length of the line segment in the LCH depends on the variation range (minimum value to maximum value) of the radius of curvature. If the variation in the radius of curvature is high, the length of LCH becomes larger and vice versa.

Quantification Based on Aesthetic Value
This subsection describes the quantification of shapes based on a parameter called aesthetic value, denoted as α [75][76][77]. This parameter is defined in Appendix B. In order to know the aesthetic value, a plot called a logarithm curvature histogram (LCH) is used. The procedure to construct LCH for a given curve (in this case from a given point cloud) is also shown in Appendix B. For quantification of the aesthetic value, the ellipse and spiral shape are considered. Figure 14a shows the point cloud of the ellipse modeled by Equation (A2), which is repeated from the previous section (Figure 12a). The corresponding LCH of the ellipse is shown in Figure 14b. Figure 14c shows the point cloud of the ellipse modeled by the PCA (repeated from Figure 12c). The corresponding LCH of the ellipse is shown in Figure 14d. Both point clouds have the same aesthetic value, α = 1.25. On the other hand, Figure 15a shows the point cloud of a spiral modeled by Equation (A3) (repeated from Figure 13a). The corresponding LCH of the spiral is shown in Figure 15b. Figure 15c shows the point cloud of the spiral modeled by the PCA (repeated from Figure 13c). The corresponding LCH of the spiral is shown in Figure 14d. Both point clouds of the spiral shape have the same aesthetic value, α = 1.22. As seen in Figures 14 and 15, even though the shapes are created using the PCA instead of the respective parametric equations, their aesthetic natures remain unaffected. It is also observed that the length of the line segment in the LCH depends on the variation range (minimum value to maximum value) of the radius of curvature. If the variation in the radius of curvature is high, the length of LCH becomes larger and vice versa.

3D Solid Modeling and Physical Prototyping
Recall the last question, as follows. Does the deterministically created point cloud help create 3D solid models of some given objects?
In order to answer this question, this section presents an illustrative example where a relatively complex object is first modeled by some point clouds. The point clouds are generated by the PCA. The point clouds are used in a sequential order to produce a solid model of the object within a CAD package. Finally, a physical prototype is built from digital data of the solid model.

3D Solid Modeling and Physical Prototyping
Recall the last question, as follows. Does the deterministically created point cloud help create 3D solid models of some given objects?
In order to answer this question, this section presents an illustrative example where a relatively complex object is first modeled by some point clouds. The point clouds are generated by the PCA. The point clouds are used in a sequential order to produce a solid model of the object within a CAD package. Finally, a physical prototype is built from digital data of the solid model.

3D Solid Modeling and Physical Prototyping
Recall the last question, as follows. Does the deterministically created point cloud help create 3D solid models of some given objects?
In order to answer this question, this section presents an illustrative example where a relatively complex object is first modeled by some point clouds. The point clouds are generated by the PCA. The point clouds are used in a sequential order to produce a solid model of the object within a CAD package. Finally, a physical prototype is built from digital data of the solid model. Figure 16a shows an ewer from Seto ware (Seto is a city located in Aichi Prefecture, Japan) produced during the Nanboku-chō period in the 13th century [78]. The ewer consists of three parts-the body, spout, and handle-as shown in Figure 16b. Few line segments and a concave can represent the body, line segments can represent the spout, and an elliptical shape can represent the handle. Hence, the ewer can be constructed using line segments, a concave curve, and an ellipse. Figure 16c shows the individual point clouds modeled by the PCA. Consider the individual point clouds, PC 1 , PC 3 , PC 4 , PC 5 , PC 6 , PC 7 , and PC 8 , presenting the line segments that can be modeled by customizing the inputs, θ i and r i , as described in Section 2 (Figures 2 and 3). Similarly, consider the point cloud PC 9 , presenting an elliptical shape that can be modeled by customizing the inputs, θ i and r i , as described in Section 2 ( Figure 7). Regarding the point cloud PC 2 , presenting the concave curve that can be modeled by setting the input parameters of the PCA as follows: PC = (90,90); d = 15; ϕ = 0; θ i = πi/2n, n = 30; i = 0,1, . . . , 30; and r i is linearly decreased from 73.55 to 0.  Figure 16a shows an ewer from Seto ware (Seto is a city located in Aichi Prefecture, Japan) produced during the Nanboku-chō period in the 13th century [78]. The ewer consists of three partsthe body, spout, and handle-as shown in Figure 16b. Few line segments and a concave can represent the body, line segments can represent the spout, and an elliptical shape can represent the handle. Hence, the ewer can be constructed using line segments, a concave curve, and an ellipse. Figure 16c shows the individual point clouds modeled by the PCA. Consider the individual point clouds, PC1, PC3, PC4, PC5, PC6, PC7, and PC8, presenting the line segments that can be modeled by customizing the inputs, θi and ri, as described in Section 2 (Figures 2 and 3). Similarly, consider the point cloud PC9, presenting an elliptical shape that can be modeled by customizing the inputs, θi and ri, as The steps for solid CAD modeling are described as follows. In the first step, the individual point clouds PC1, PC2, PC3, PC4, and PC5 are sequentially synthesized by a C 0 continuity approach which represents the basic point cloud of the ewer body. The resulting point cloud is shown in Figure 17a. These point clouds are then transferred to a commercially available 3D CAD package for solid modeling. By revolving the point cloud 360°, a solid CAD model of the ewer body is constructed. The result is shown in Figure 17b.
In the second step, the point clouds PC6, PC7, and PC8 are sequentially synthesized by a C 0 continuity approach which represents the basic point cloud of the spout. The resulting point cloud is shown in Figure 18a. The point clouds are then injected into the solid CAD model of the body as shown in Figure 18b. Here, P1 and P2 represent the start point and endpoint of PC7 and are connected to the endpoint of PC6 and start point of PC8, respectively. For the other points, P3 denotes the endpoint of PC8 and P4 denotes the starting point of PC6. The point clouds must be iterated so that P3 and P4 must lie on a tangent to the surface of the body. Taking P1 and P2 as reference points, plane 1 is created and then an ellipse is constructed on plane 1, as shown in Figure 18c. Similarly, taking P3 and P4 as reference points, plane 2 is created and then another ellipse is constructed on plane 2, as shown in Figure 18c. Now, these two ellipses are joined by applying the lofted function to form the spout, as shown in Figure 18d. Afterward, a hollow is created inside the solid CAD model by offsetting surface and hiding the solid body and applying the thicken function on the offset surface. The resulting solid CAD model is shown in Figure 18e.
In the third step, the point cloud PC9, shown in Figure 19a, is injected on the solid CAD model, as shown in Figure 19b. In this case, PC9 must iterate so the start point P5, and endpoint P6, must lie on the mid-section of the outer and inner surface of the body, shown in Figure 19b. Taking P5 and PC9 as a reference, plane 3 is created and then the ellipse is constructed on plane 3, as shown in Figure  19c. Then, applying the sweep function on the ellipse and taking PC9 as a sweep path, a handle is created. The resulting solid CAD model is shown in Figure 19d.
Finally, the rendered solid CAD model of the ewer is shown in Figure 20a. Once the solid CAD modeling is done, triangulation modeling is performed simply by saving the solid CAD model into  The steps for solid CAD modeling are described as follows. In the first step, the individual point clouds PC 1 , PC 2 , PC 3 , PC 4 , and PC 5 are sequentially synthesized by a C 0 continuity approach which represents the basic point cloud of the ewer body. The resulting point cloud is shown in Figure 17a. These point clouds are then transferred to a commercially available 3D CAD package for solid modeling. By revolving the point cloud 360 • , a solid CAD model of the ewer body is constructed. The result is shown in Figure 17b.
In the second step, the point clouds PC 6 , PC 7 , and PC 8 are sequentially synthesized by a C 0 continuity approach which represents the basic point cloud of the spout. The resulting point cloud is shown in Figure 18a. The point clouds are then injected into the solid CAD model of the body as shown in Figure 18b. Here, P 1 and P 2 represent the start point and endpoint of PC 7 and are connected to the endpoint of PC 6 and start point of PC 8 , respectively. For the other points, P 3 denotes the endpoint of PC 8 and P 4 denotes the starting point of PC 6 . The point clouds must be iterated so that P 3 and P 4 must lie on a tangent to the surface of the body. Taking P 1 and P 2 as reference points, plane 1 is created and then an ellipse is constructed on plane 1, as shown in Figure 18c. Similarly, taking P 3 and P 4 as reference points, plane 2 is created and then another ellipse is constructed on plane 2, as shown in Figure 18c. Now, these two ellipses are joined by applying the lofted function to form the spout, as shown in Figure 18d. Afterward, a hollow is created inside the solid CAD model by offsetting surface and hiding the solid body and applying the thicken function on the offset surface. The resulting solid CAD model is shown in Figure 18e.
In the third step, the point cloud PC 9 , shown in Figure 19a, is injected on the solid CAD model, as shown in Figure 19b. In this case, PC 9 must iterate so the start point P 5 , and endpoint P 6 , must lie on the mid-section of the outer and inner surface of the body, shown in Figure 19b. Taking P 5 and PC 9 as a reference, plane 3 is created and then the ellipse is constructed on plane 3, as shown in Figure 19c. Then, applying the sweep function on the ellipse and taking PC 9 as a sweep path, a handle is created. The resulting solid CAD model is shown in Figure 19d.
Finally, the rendered solid CAD model of the ewer is shown in Figure 20a. Once the solid CAD modeling is done, triangulation modeling is performed simply by saving the solid CAD model into an STL data file using a CAD package. Figure 20b shows the triangulation model of the ewer. The STL data generated from the triangulation modeling can be used to build a physical model using commercially available 3D printing devices (e.g., 3D printer). Figure 20b shows one of the ewer physical models built by a 3D printer available at the Kitami Institute of Technology. an STL data file using a CAD package. Figure 20b shows the triangulation model of the ewer. The STL data generated from the triangulation modeling can be used to build a physical model using commercially available 3D printing devices (e.g., 3D printer). Figure 20b shows one of the ewer physical models built by a 3D printer available at the Kitami Institute of Technology.  an STL data file using a CAD package. Figure 20b shows the triangulation model of the ewer. The STL data generated from the triangulation modeling can be used to build a physical model using commercially available 3D printing devices (e.g., 3D printer). Figure 20b shows one of the ewer physical models built by a 3D printer available at the Kitami Institute of Technology.  an STL data file using a CAD package. Figure 20b shows the triangulation model of the ewer. The STL data generated from the triangulation modeling can be used to build a physical model using commercially available 3D printing devices (e.g., 3D printer). Figure 20b shows one of the ewer physical models built by a 3D printer available at the Kitami Institute of Technology.

Discussions
The above three sections answer the questions coined in the introduction. Apart from this, the presented methodology can be used in many different ways. One of the ways is surface texturing. This section provides some insights into this type of surface texturing.
The PCA-based point cloud can be used for surface texturing. For example, consider the solid model of the ewer shown in Figure 20. A texture can be added to it. In this case, the PCA-based point cloud can be used. For example, consider the point clouds that represent a pattern taken from Ainu cultural heritage. The settings for creating the point clouds are available in [69]. Figure 21a shows the point cloud of the texture. This point cloud is injected into the solid CAD model of the ewer, as shown in Figure 21b. Then, the texture on the front side is constructed by extruding the point cloud from the surface of the ewer. The texture on the backside is constructed by mirroring the front side texture. The result is shown in Figure 21c. Finally, the physical model is realized using a 3D printer, as shown in Figure 21d. In addition to texturing, the 3D printed physical model of ewer shown in Figure 21 is scanned using a 3D scanner available at the Kitami Institute of Technology. Three different orientations are implemented to scan the ewer, as shown in Figure 22. Point clouds are then preprocessed (removing noise points, removing redundant points, and combining all point clouds into a single coordinate) and a triangulation model is created directly from the point cloud. The triangulation model is shown in Figure 22. Afterwards, a solid CAD model is constructed from the triangulation model. As seen in Figure 23a, the texture is a blur and there is also surface distortion near the handle. To make the

Discussions
The above three sections answer the questions coined in the introduction. Apart from this, the presented methodology can be used in many different ways. One of the ways is surface texturing. This section provides some insights into this type of surface texturing.
The PCA-based point cloud can be used for surface texturing. For example, consider the solid model of the ewer shown in Figure 20. A texture can be added to it. In this case, the PCA-based point cloud can be used. For example, consider the point clouds that represent a pattern taken from Ainu cultural heritage. The settings for creating the point clouds are available in [69]. Figure 21a shows the point cloud of the texture. This point cloud is injected into the solid CAD model of the ewer, as shown in Figure 21b. Then, the texture on the front side is constructed by extruding the point cloud from the surface of the ewer. The texture on the backside is constructed by mirroring the front side texture. The result is shown in Figure 21c. Finally, the physical model is realized using a 3D printer, as shown in Figure 21d.

Discussions
The above three sections answer the questions coined in the introduction. Apart from this, the presented methodology can be used in many different ways. One of the ways is surface texturing. This section provides some insights into this type of surface texturing.
The PCA-based point cloud can be used for surface texturing. For example, consider the solid model of the ewer shown in Figure 20. A texture can be added to it. In this case, the PCA-based point cloud can be used. For example, consider the point clouds that represent a pattern taken from Ainu cultural heritage. The settings for creating the point clouds are available in [69]. Figure 21a shows the point cloud of the texture. This point cloud is injected into the solid CAD model of the ewer, as shown in Figure 21b. Then, the texture on the front side is constructed by extruding the point cloud from the surface of the ewer. The texture on the backside is constructed by mirroring the front side texture. The result is shown in Figure 21c. Finally, the physical model is realized using a 3D printer, as shown in Figure 21d. In addition to texturing, the 3D printed physical model of ewer shown in Figure 21 is scanned using a 3D scanner available at the Kitami Institute of Technology. Three different orientations are implemented to scan the ewer, as shown in Figure 22. Point clouds are then preprocessed (removing noise points, removing redundant points, and combining all point clouds into a single coordinate) and a triangulation model is created directly from the point cloud. The triangulation model is shown in Figure 22. Afterwards, a solid CAD model is constructed from the triangulation model. As seen in Figure 23a, the texture is a blur and there is also surface distortion near the handle. To make the In addition to texturing, the 3D printed physical model of ewer shown in Figure 21 is scanned using a 3D scanner available at the Kitami Institute of Technology. Three different orientations are implemented to scan the ewer, as shown in Figure 22. Point clouds are then preprocessed (removing noise points, removing redundant points, and combining all point clouds into a single coordinate) and a triangulation model is created directly from the point cloud. The triangulation model is shown in Figure 22. Afterwards, a solid CAD model is constructed from the triangulation model. As seen in Figure 23a, the texture is a blur and there is also surface distortion near the handle. To make the texture sharp, clear, and have a smooth surface, it requires the user efforts while performing solid CAD modeling. It is worth mentioning that the triangulation model from the 3D scanned point cloud ( Figure 23) consists of 271,803 facets and 815,409 vertices, whereas the triangulation model from the PCA-based point cloud has 25,336 facets and 76,008 vertices for the model without texture (Figure 20b); and 51,244 facets and 153,732 vertices for the model with texture (Figure 21d). It is clear that the 3D scanned point cloud has 10 times higher facets than the PCA-based point cloud. As a result, the 3D scan-based approach becomes user-dependent and requires heavy computation. Table 2 shows a summary of the number of points, facets, vertices, and printing time required to manufacture the physical model of the given ewer. texture sharp, clear, and have a smooth surface, it requires the user efforts while performing solid CAD modeling. It is worth mentioning that the triangulation model from the 3D scanned point cloud ( Figure 23) consists of 271,803 facets and 815,409 vertices, whereas the triangulation model from the PCA-based point cloud has 25,336 facets and 76,008 vertices for the model without texture ( Figure  20b); and 51,244 facets and 153,732 vertices for the model with texture (Figure 21d). It is clear that the 3D scanned point cloud has 10 times higher facets than the PCA-based point cloud. As a result, the 3D scan-based approach becomes user-dependent and requires heavy computation. Table 2 shows a summary of the number of points, facets, vertices, and printing time required to manufacture the physical model of the given ewer.
The article has demonstrated geometric modeling of a given shape which is completely controlled by a few analytically generated points and free from computational complexity. This way, the user has the freedom to design any given shape without being dependent on the data acquisition system. Moreover, the point clouds are used in a sequential order to produce the solid CAD model of the given object.

Scanning orientations
Point clouds    The article has demonstrated geometric modeling of a given shape which is completely controlled by a few analytically generated points and free from computational complexity. This way, the user has the freedom to design any given shape without being dependent on the data acquisition system. Moreover, the point clouds are used in a sequential order to produce the solid CAD model of the given object.

Concluding Remarks
In this article, the characteristics and roles of the two variables (instantaneous distance and instantaneous rotational angle) and three constants (center point, initial angle, and initial distance) used in the recursive process that deterministically creates a point cloud are studied. It is found that varying the pair of the instantaneous distance and instantaneous rotational angle in different combinations can create many different shapes. For examples, in this study, a straight-line, circle, ellipses, spiral, astroid, S-shape, and leaf-shape are created using five different combinations of instantaneous distance and instantaneous rotational angle. The first constant (center point) can perform the function of translation in both x-and y-axis directions. The second constant (initial angle) can perform the function of rotation of shape around the center point. However, the third constant does not affect the shape to be modeled; it is only necessary for placing the starting point.
A planner shape can be modeled by a recursive-process-created point cloud and by a parametric-equation-created point cloud. If both point clouds are the same in terms of some quantitative measures, then it can be said that the recursive-process-based shape modeling approach is as good as the parametric-equation-based shape modeling approach. This is verified using three well-known shapes, namely, circle, ellipse, and spiral. In the verification process, the parameters called the radius of curvature and aesthetic value are used. It is observed that both point clouds of a given shape (one generated by the recursive process and the other generated by the parametric equation) have the same radius of curvature and aesthetic value. It is also found that the instantaneous distance plays the role of a radius of curvature. This means that it is not difficult to predict the values of the instantaneous distance compared to those of the radius of curvature while modeling an arbitrary shape.
In addition, an illustrative example that shows the efficacy of the recursive process in virtual and physical prototyping of a relatively complex 3D object is presented. The results show that, compared to a 3D-scanner-created point cloud, the recursive-process-created point cloud helps avoid computational complexity in reverse engineering. It also makes reverse engineering more systematic of complex shape. Moreover, the recursive-process-created point cloud can be used to perform surface texturing.
In the future, this study can be extended to develop a system that automatically generates a shape based on the user-defined inputs (instantaneous distance and rotational angle, and alike). This way, human cognition-based reverse engineering can be achieved-which is one of the frontiers of digital manufacturing.

Appendix A Point Cloud Creation Algorithm
The PCA needs three constants, namely, the center point (P c ), initial distance (d), and the initial angle (ϕ), that remain the same during the iterations. In addition, the PCA needs two variables-namely, the instantaneous rotational angle (θ i ) and instantaneous distance (r i ), i = 0, 1, ..., n-that change in every iteration. The PCA consists of four steps. The first is input, the second is calculation, the third is iteration, and the last is output. In the input step, P c = (P cx , P cy ) ∈ R 2 ; d > 0; ϕ ∈ R; r i ∈ R | i = 0, 1, ..., n); and θ i ∈ R | i = 0, 1, ..., n are defined. In the calculation step, an initial point P 0 = (P 0x , P 0y ) is calculated first at distance d from P c on line P c P 0 , making angle ϕ in the counterclockwise direction with the x-axis. In the iteration step, P 0 is rotated counterclockwise from the x-axis using θ i to create points P i = (P ix , P iy ), i = 0, 1, . . . , n. Afterward, points P i = (P ix , P iy ) are placed at a distance r i from P c resulting in points P ei = (P ix , P iy ), i = 0, 1, ..., n. In the output step, the points P ei = (P ix , P iy ), i = 0, 1, ..., n, are collected for creating the desired point cloud denoted as PC = {P ei | i = 0, 1, ..., n}.
Extend P i to P ei (a point on the line P c P i at a distance r i from P c ) P eix = P cx + (P ix − P cx )(r i /d), P eiy = P cy + P iy − P cy (r i /d).

B.1. Relevant Shapes
Let the point clouds of a circle, ellipse, and spiral be modeled by three parametric equations. Each shape is given by a point cloud consisting of the points P i = {(P xi , P yi ) | i = 0, 1, . . . , n. The mathematical formulations of the shapes are as follows.
Consider a circle with radius a, where a > 0. Let P c = (P cx , P cy ) be the center of the circle on the x-y plane. An arbitrary point on the circumference of the circle is denoted as P i = {(P xi , P yi ) | i = 0, 1, . . . , n} and is given by P xi = P cx + a cos θ i , P yi = P cy + a sin θ i .
In Equation (A1), θ i = 2πi/n. While creating a point cloud for a circle using Equation (A1), the parameters are set as follows: a = 100; n = 48; and i = 0, 1, ..., 48. The point cloud shown in Figure 11a presenting the circle is created using the abovementioned formulation.
Consider an ellipse with major radius a and minor radius b, where a, b > 0 and a > b. Let P c = (P cx , P cy ) be the center of the ellipse in the x-y plane. An arbitrary point on the circumference of the ellipse is denoted as P i = {(P xi , P yi ) | i = 0, 1, . . . , n} and is given by P xi = P cx + a cos θ i , P yi = P cy + b sin θ i .
In Equation (A2), θ i = 2πi/n. While creating a point cloud for an ellipse using Equation (A2), the parameters are set as follows: a = 54; b = 46; n = 48; and i = 0, 1, ..., 48. The point cloud shown in Figure 12a presenting the ellipse is created using the abovementioned formulation.
Consider a spiral. Let it be an Archimedean spiral. Let P C = (P cx , P cy ) be the center of the spiral in the x-y plane. Consider a to be the arbitrary positive real constant that controls the distance between the successive turnings of the spiral. An arbitrary point on the circumference of the spiral is denoted as P i = {(P xi , P yi ) | i = 0, 1, . . . , n} and is given by P xi = P cx + aθ i cos θ i , P yi = P cy + aθ i sin θ i . (A3) In Equation (A3), θ i = 6πi/n. While creating a point cloud for a spiral using Equation (A3), the parameters are set as follows: a = 28.647; n = 48; and i = 0, 1, ..., 48. The point cloud shown in Figure 13a presenting the spiral is created using the abovementioned formulation.

B.3. Aesthetic Value
A parameter called aesthetic value, denoted as α, quantifies the aesthetic nature of a curve [75][76][77], which is driven from the radius of curvature (Equation A4) and the arc length of a given curve, as shown in Figure A1. As seen in Figure A1a, ρ, ∆s, and ∆ρ are the radius of curvature, arc length, and change in the radius of curvature, respectively. The logarithmic plot of ∆s/(∆ρ/ρ) versus ρ, which is called Logarithmic Curvature Histogram (LCH), becomes a straight line, and its slope is used to calculate the value of α, as seen in Figure A1b. Therefore, the following relationship holds [76]: log ∆s ∆ρ/ρ = α log(ρ) + c.
In Equation (A5), c is a constant. By knowing the value of α, the degree of aesthetics of a given curve (shape) can be quantified. In Equation (B.5), c is a constant. By knowing the value of α, the degree of aesthetics of a given curve (shape) can be quantified.