Next Article in Journal / Special Issue
CellsDeepNet: A Novel Deep Learning-Based Web Application for the Automated Morphometric Analysis of Corneal Endothelial Cells
Previous Article in Journal
Algorithm for Two Generalized Nonexpansive Mappings in Uniformly Convex Spaces
Previous Article in Special Issue
Digital Video Tampering Detection and Localization: Review, Representations, Challenges and Algorithm
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

3D Modelling with C2 Continuous PDE Surface Patches

1
The National Center for Computer Animation, Faculty of Media & Communication, Bournemouth University, Poole BH12 5BB, UK
2
Department of Applied Mathematics and Computational Sciences, University of Cantabria, 39005 Santander, Spain
3
Department of Information Science, Faculty of Sciences, Toho University, 2-2-1 Miyama, Funabashi 274-8510, Japan
*
Author to whom correspondence should be addressed.
Mathematics 2022, 10(3), 319; https://doi.org/10.3390/math10030319
Submission received: 28 December 2021 / Revised: 17 January 2022 / Accepted: 18 January 2022 / Published: 20 January 2022
(This article belongs to the Special Issue Computer Graphics, Image Processing and Artificial Intelligence)

Abstract

:
In this paper, we present a new modelling method to create 3D models. First, characteristic cross section curves are generated and approximated by generalized elliptic curves. Then, a vector-valued sixth-order partial differential equation is proposed, and its closed form solution is derived to create PDE surface patches from cross section curves where two adjacent PDE-surface patches are automatically stitched together. With the approach presented in this paper, C2 continuity between adjacent surface patches is well-maintained. Since surface creation of the model is transformed into the generation of cross sectional curves and few undetermined constants are required to describe cross sectional curves accurately, the proposed approach can save manual operations, reduce information storage, and generate 3D models quickly.

1. Introduction

3D modelling is an important and widely used step in the production pipeline for film and game industries. Using partial differential equation (PDE) surface patches to create 3D models has the advantages of representing complicated polygon models with fewer design variables and automatically achieving required continuity to avoid manual operations to stitch two adjacent surface patches together. Owing to their analytical mathematical expressions, this approach can also facilitate other applications such as levels of detail for multi-resolution models and deep learning-based tasks for reducing processing time.
In this paper, we use this partial differential equation method to create C 2 continuous 3D models from generalized elliptic curves. In order to generate a complicated 3D model, first we create a set of cross section curves. Each of the cross-section curves is approximated by a generalized elliptic curve whose analytical mathematical expression is in the form of a Fouier series. With the help of the analytical mathematical expression of generalized elliptic curves, a very complicated cross section curve can be defined with fewer design variables, which decreases information storage, speeds up network transmission, and facilitates consequent geometric processing. The design variables involved in generalized elliptic curves are used as the input of C 2 continuous PDE surface creation, which is based on the accurate closed form solution to a vector-valued sixth-order PDE. All created PDE surface patches are automatically connected together to obtain a C 2 continuous 3D model. Since all the undetermined constants in the closed form solution are determined by the design variables involved in the analytical mathematical expression of generalized elliptic curves, the proposed PDE-based modelling method also has the advantage of few design variables.
The remaining parts of this paper are organized as follows: In Section 2, we review the related work in the area. Then, an overview of the algorithm is given in Section 3. It consists of two steps: curve fitting and the creation of C 2 continuous PDE surfaces. A number of examples and results are given in Section 4. Conclusions and future work are discussed in Section 5.

2. Related Work

There are many different approaches for 3D modeling (see Figure 1). Roughly speaking, they can be classified as pure-geometric modeling and physics-based modeling techniques. Traditional pure-geometric modeling methods such as polygon modeling [1], NURBS modelling [2,3] modeling and subdivision modeling [4] are widely used in commercial graphics packages. Polygon modeling and subdivision modeling approaches can generate detailed or branching models; they are suitable for linear shapes and rigid objects. However, it is hard to use a small number of polygons to accurately represent smooth surfaces. On the other hand, NURBS modeling could use a few control points to create smooth curved objects. The disadvantage is the continuity problem between different patches, which typically require a lot of manual work to stitch adjacent patches together.
Physics-based modeling [5] considers the basic physics of surface deformation. Compared with polygon modeling and NURBS modeling, it has the ability to create a more realistic look. Physics-based modeling methods include finite element method [6], finite difference method [7], finite volume method [8], mass-spring systems [9], the meshless method [10], coupled particle systems [11] and simplified deformation models for modal analysis [12].
PDE geometric modeling was pioneered by Bloor and Wilson [13] in computer graphics three decades ago. Since then, PDE methods have been developed to tackle various geometric modeling problems, such as surface modeling [14,15], surface design [16], and solid modeling [17], and are used to represent high-speed train head models [18] and optimize aerodynamic performance of high speed train heads [19]. One major advantage is that the differential operator of PDE can generate smooth surfaces [18]. Another advantage of using the PDE approach is that PDE surfaces can be generated by intuitive manipulation of the relatively small set of boundary conditions for PDE [20]; it can transform geometric modeling problems into boundary value PDE problems. Therefore, the PDE modeling method can obtain continuous smooth surfaces without manual work to stitch adjacent patches together.
Elliptic cross sections have been used in sweeping surfaces to describe human shapes [21]. Surface generation from cross-sections is used in many applications, especially in medical visualization. Some illustrative examples include human body 3D visualization with 2D computed tomography (CT) slices [22] or magnetic resonance imaging (MRI) data [23]. Different methods have been developed to reconstruct 3D models or surfaces from cross sections or point clouds [24,25,26,27]. A method for modeling and deforming the human arm and leg by using cross section ellipses and displacement diagrams is proposed in [28]. Another method dealing with curve networks of arbitrary shape and arbitrary topology with arbitrary direction about non-parallel cross sections is reported in [29]. Barton et al. [30] presented an approach to detect if a surface can be represented by the sweeping of a planar profile or not. It shows applications in functional architectural design. Kovács and Várady [31] proposed an algorithm to detect and reconstruct the profile curves from the property that they are principal curvature lines. Barton et al. [32] studied the evolution of an arc spline curve which constitutes an effective discretization of smooth curves.Recently an analytical mathematical representation of cross section curves including generalized ellipses, generalized elliptic curves and composite generalized elliptic segments was proposed, and surfaces were reconstructed from the curves in [33].

3. Algorithm Overview

Figure 2 shows the overall algorithm of our proposed approach. It consists of two steps: curve fitting and the creation of C 2 continuous PDE surfaces.
Before curve fitting, cross section curves of 3D models are created. Four different methods can be used to generate cross section curves. The first method is to manually draw cross section curves by artists or modelers. The second method is to extract the contour of computed tomography slices. The third method is to slice 3D surface models and obtain 2D cross section curves. And the last method is to reconstruct cross section curves from point clouds.
In the first step, i.e., curve fitting, we use generalized elliptic curves to approximate and reconstruct each of the cross section curves. Then these cross section curves are changed into an analytical mathematical expression with few undetermined constants. We call it a generalized elliptic curve. Through this simple procedure, we can get some smooth curves as well as achieve an adequate trade-off between the approximation errors and the amount of data required to approximate cross section curves. It works well on complicated curve-based models with smooth cross-sections. In other words, the ground truth closed curves are defined by few coefficients involved in the mathematical expression of generalized elliptic curves, which will be used in the following processes.
In the second step, C 2 continuous PDE surface patches are constructed from generalized elliptic curves obtained in the previous step. A vector-valued sixth-order partial differential equation is proposed for this purpose and an accurate closed form solution is obtained from the vector-valued sixth-order partial differential equation, which is used to interpolate the generalized elliptic curves. The interpolation operation generates a PDE surface patch. Since two adjacent PDE surface patches share three same cross section curves or share the same curve, first partial derivatives, and the second partial derivatives on their joint boundary, C 2 continuity between two adjacent PDE surface patches is naturally achieved.

3.1. Curve Fitting

Figure 3 shows the first step of the algorithm. In the figure, the ground truth curves are highlighted in blue, the generalized elliptic curves defined by Equation (1) below are in red, and n indicates the number of Fourier series terms in Equation (1). First, we use the cross-section curves of a 3D model as input. For each ground truth cross-section curve (blue), we use a generalized elliptic curve (red) to fit it. The mathematical expression of generalized elliptic curves is given in Equation (1). In doing so, the ground truth curves are now defined by the few coefficients involved in the mathematical expression of the generalized elliptic curves.
The figure above shows that the blue ground truth curves are approximated by the red generalized elliptic curves very well and the errors between them are very small. When n = 1 , large differences between the ground truth curves and the generalized elliptic curves can be seen. When n increases, the differences become smaller and smaller. When n = 10 , visiable differences between the ground truth curves and the generalized elliptic curves disappear.
Good fitting accuracy is also demonstrated by the data given in Table 1. When n = 1 , the average and maximum errors are 0.044169 and 0.065371, respectively. When n is raised to 7, they are reduced to 0.001767 and 0.005312, which are small. When the terms are further increased, the errors will be reduced further. They indicate that by using different terms in Equation (1), the fitting accuracy can be controlled and ground truth curves can be approximated accurately by generalized elliptic curves.
Because there are no sharp points in organic shapes like a human body, through this process we can get smooth curves and eliminate input sharp points if they exist. By doing so, we can also fix errors in an artist’s drawn models and improve the final results. The mathematical expression of generalized elliptic curves can be written as
x ( v ) = a x 0 + n = 1 N ( a x n c o s n v + b x n s i n n v ) y ( v ) = a y 0 + n = 1 N ( a y n s i n n v + b y n c o s n v ) z ( v ) = z c
where 0 v 2 π ,   a x n and a y n   ( n = 0 ,   1 ,   2 ,   3 ,   ,   N ) are undetermined constants, which are determined by using Equation (1) to fit cross section curves represented with discrete points. As shown in Equation (1), the parameter N could be set to different numbers in order to get different resolutions and degree of approximation.

3.2. Creation of C 2 Continuous PDE Surfaces

According to [32], “there is no restriction upon the type and order of the PDE to be solved” and “elliptic PDEs have been chosen to develop this technique since this kind of PDE is regarded as an averaging process throughout the entire surface”. In this paper, an elliptic PDE will be introduced to develop a 3D modelling method.
When a C 2 continuous PDE surface patch is created from known boundary conditions on two boundaries, it should satisfy the position functions and the first and second partial derivatives on the two boundaries. Therefore, there are six boundary conditions in total. It is known that the closed form solution of a sixth-order partial differential equation involves six undetermined constants which can be used to exactly satisfy the six boundary conditions. Therefore, in order to achieve C 2 continuity between two adjacent PDE surface patches, the following vector-value sixth-order partial differential equation is proposed to define PDE surface patches:
6 w u 6 + a 6 w v 6 = 0 ( w = x ,   y ,   z ;   a 0 )
According to the above Equation (1), the solution to the partial differential Equation (2) can be taken to be:
x ( u , v ) = A x 0 ( u ) + n = 1 N [ A x n ( u ) c o s n v + B x n ( u ) s i n n v ]
y ( u , v ) = A y 0 ( u ) + n = 1 N [ A y n ( u ) s i n n v + B y n ( u ) cos n v ]
z ( u , v ) = A z 0 ( u )
In the above Equations (3)–(5), the undetermined functions A w 0 ( u )   ( w = x ,   y ,   z ) and A w n ( u ) and B w n ( u )   ( w = x ,   y ,   z ;   n = 1 ,   2 ,   3 ,   ,   N ) are derived in Appendix A, which can be written as Equations (6), (7), and (8) below, respectively.
A w 0 ( u ) = a w 0 , 0 + a w 0 , 1 u + a w 0 , 2 u 2 + a w 0 , 3 u 3 + a w 0 , 4 u 4 + a w 0 , 5 u 5 ( w = x ,   y ,   z )
For a > 0 ,
A w n ( u ) = ( a w n , 0 + a w n , 1 u + a w n , 2 u 2 ) e q 0 n u + ( a w n , 3 + a w n , 4 u + a w n , 5 u 2 ) e q 0 n u B w n ( u ) = ( b w n , 0 + b w n , 1 u + b w n , 2 u 2 ) e q 0 n u + ( b w n , 3 + b w n , 4 u + b w n , 5 u 2 ) e q 0 n u ( w = x ,   y ;   n = 1 ,   2 ,   ,   N )
For a < 0 ,
A w n ( u ) = a w n , 0 c o s 2 q 2 n u + a w n , 1 s i n 2 q 2 n u + a w n , 2 e q 1 n u c o s q 2 n u + a w n , 3 e q 1 n u sin q 2 n u + a w n , 4 e q 1 n u c o s q 2 n u + a w n , 5 e q 1 n u s i n q 2 n u B w n ( u ) = b w n , 0 c o s 2 q 2 n u + b w n , 1 s i n 2 q 2 n u + b w n , 2 e q 1 n u c o s q 2 n u + b w n , 3 e q 1 n u sin q 2 n u + b w n , 4 e q 1 n u c o s q 2 n u + b w n , 5 e q 1 n u s i n q 2 n u ( w = x ,   y ;   n = 1 ,   2 ,   ,   N )
In what follows, we use the solution for the case a < 0 , i.e., Equations (3)–(5) whose undetermined functions are determined by Equations (6) and (8), to reconstruct 3D shapes consisting of C 2 continuous PDE surface patches.
Twelve curves shown in Figure 3 are used to demonstrate how to reconstruct three PDE surface patches with C 2 continuity. The mathematical equations for 12 curves C 1     C 12 are:
x C i ( v ) = a x 0 C i + n = 1 N ( a x n C i c o s n v + b x n C i sin n v )   y C i ( v ) = a y 0 C i + n = 1 N ( a y n C i sin n v + b y n C i c o s n v )   .   z C i ( v ) = z c C i ( i = 1 , 2 , 3 , 4 , ,   12 )
As shown in Figure 4, the six curves C 4     C 9 are used to construct the first PDE surface patch (Patch 1). Then, two different methods are used to construct PDE surface patch 2 and patch 3 with C 2 continuity. For curve C 4 , u = 0 of Patch 1 is the same as u = 1 of Patch 2. Similarly, for curve C 9 , u = 1 of Patch 1 is the same as u = 0 of Patch 3. Curve C 1 is at u = 0 of Patch 2 and C 12 is at u = 1 of Patch 3.
The first method uses the six curves C 4 C 9 to construct the PDE surface patch 1, the curves C 1 C 6 to construct the PDE surface patch 2, and the six curves C 7 C 12 to construct the PDE surface patch 3. With this construction method, the patch 1 and patch 2 at the curve C 4 and the patch 1 and patch 3 at the curve C 9 achieve up to C 2 continuity.
The second method calculates the first and second partial derivatives of the PDE surface patch 1 at the curves C 4 and C 9 , and use the curves C 1 C 4 and the first and second partial derivatives of the PDE surface patch 1 at the curves C 4 to construct the PDE surface patch 2, and the curves C 9     C 12 and the first and second partial derivatives of the PDE surface patch 1 at the curves C 9 to construct the PDE surface patch 3. With this construction method, the patch 1 and patch 2 at the curve C 4 and the patch 1 and patch 3 at the curve C 9 also achieve C 2 continuity. The first partial derivatives can be obtained below from Equations (6) and (8).
A w 0 ( u ) u = a w 0 , 1 + 2 a w 0 , 2 u + 3 a w 0 , 3 u 2 + 4 a w 0 , 4 u 3 + 5 a w 0 , 5 u 4 ( w = x ,   y ,   z )
A w n ( u ) u = 2 a w n , 0 q 2 n s i n 2 q 2 n u + 2 a w n , 1 q 2 n c o s 2 q 2 n u + a w n , 2 ( q 1 n e q 1 n u c o s q 2 n u q 2 n e q 1 n u s i n q 2 n u ) + a w n , 3 ( q 1 n e q 1 n u sin q 2 n u + q 2 n e q 1 n u c o s q 2 n u ) a w n , 4 ( q 1 n e q 1 n u c o s q 2 n u + q 2 n e q 1 n u s i n q 2 n u ) + a w n , 5 ( q 1 n e q 1 n u s i n q 2 n u + q 2 n e q 1 n u c o s q 2 n u ) B w n ( u ) u = 2 b w n , 0 q 2 n s i n 2 q 2 n u + 2 b w n , 1 q 2 n c o s q 2 n u + b w n , 2 ( q 1 n e q 1 n u c o s q 2 n u q 2 n e q 1 n u s i n q 2 n u ) + b w n , 3 ( q 1 n e q 1 n u sin q 2 n u + q 2 n e q 1 n u c o s q 2 n u ) b w n , 4 ( q 1 n e q 1 n u c o s q 2 n u + q 2 n e q 1 n u s i n q 2 n u ) + b w n , 5 ( q 1 n e q 1 n u s i n q 2 n u + q 2 n e q 1 n u c o s q 2 n u ) ( w = x ,   y ;   n = 1 ,   2 ,   ,   N )
And the second partial derivatives can be derived from the above Equations (10) and (11) and have the forms below
2 A w 0 ( u ) u 2 = 2 a w 0 , 2 + 6 a w 0 , 3 u + 12 a w 0 , 4 u 2 + 20 a w 0 , 5 u 3 ( w = x ,   y ,   z )
2 A w n ( u ) u 2 = 4 a w n , 0 q 2 n 2 c o s 2 q 2 n u 4 a w n , 1 q 2 n 2 s i n 2 q 2 n u + a w n , 2 ( q 1 n 2 e q 1 n u c o s q 2 n u 2 q 1 n q 2 n e q 1 n u s i n q 2 n u q 2 n 2 e q 1 n u c o s q 2 n u ) + a w n , 3 ( q 1 n 2 e q 1 n u sin q 2 n u + 2 q 1 n q 2 n e q 1 n u c o s q 2 n u q 2 n 2 e q 1 n u s i n q 2 n u ) + a w n , 4 ( q 1 n 2 e q 1 n u c o s q 2 n u + 2 q 1 n q 2 n e q 1 n u sin q 2 n u q 2 n 2 e q 1 n u c o s q 2 n u ) + a w n , 5 ( q 1 n 2 e q 1 n u s i n q 2 n u 2 q 1 n q 2 n e q 1 n u c o s q 2 n u q 2 n 2 e q 1 n u s i n q 2 n u ) 2 B w n ( u ) u 2 = 4 b w n , 0 q 2 n 2 c o s 2 q 2 n u 4 b w n , 1 q 2 n 2 s i n 2 q 2 n u + b w n , 2 ( q 1 n 2 e q 1 n u c o s q 2 n u 2 q 1 n q 2 n e q 1 n u s i n q 2 n u q 2 n 2 e q 1 n u c o s q 2 n u ) + b w n , 3 ( q 1 n 2 e q 1 n u sin q 2 n u + 2 q 1 n q 2 n e q 1 n u c o s q 2 n u q 2 n 2 e q 1 n u s i n q 2 n u ) + b w n , 4 ( q 1 n 2 e q 1 n u c o s q 2 n u + 2 q 1 n q 2 n e q 1 n u sin q 2 n u q 2 n 2 e q 1 n u c o s q 2 n u ) + b w n , 5 ( q 1 n 2 e q 1 n u s i n q 2 n u 2 q 1 n q 2 n e q 1 n u c o s q 2 n u q 2 n 2 e q 1 n u s i n q 2 n u ) ( w = x ,   y ;   n = 1 ,   2 ,   ,   N )
Substituting u = 0 into Equations (10)–(13), we obtain the first and second partial derivatives of the PDE surface patch 2 at u = 1 . They together with the curves C 1     C 4 are used to construct the PDE surface patch 2.
Substituting u = 1 into Equations (10)–(13), we obtain the first and second partial derivatives of the PDE surface patch 3 at u = 0 . They together with the curves C 9     C 12 are used to construct the PDE surface patch 3.

3.2.1. PDE Surface Patch 1 Creation

The six curves C 4     C 9 for Patch 1 are at u = 0 ,   u = 0.2 ,   u = 0.4 ,   u = 0.6 ,   u = 0.8 , and u = 1 . At these positions, the PDE surface patch 1 passes through the six curves, which gives six equations for x component, y component, and z component.
For the middle PDE surface patch 1, we introduce the superscript P1 into Equations (3)–(5) and change them into:
x P 1 ( u , v ) = A x 0 P 1 ( u ) + n = 1 N [ A x n P 1 ( u ) c o s n v + B x n P 1 ( u ) s i n n v ] y P 1 ( u , v ) = A y 0 P 1 ( u ) + n = 1 N [ A y n P 1 ( u ) s i n n v + B y n P 1 ( u ) c o s n v ] z P 1 ( u , v ) = A z 0 P 1 ( u )
The middle PDE surface patch 1 is created from 6 curves   C 4 C 9 . The PDE surface Patch 1 passes through the Curves C 4     C 9 , which gives the following equations.
A x 0 P 1 ( 0.2 i ) + n = 1 N [ A x n P 1 ( 0.2 i ) c o s n v + B x n P 1 ( 0.2 i ) sin n v ] = a x 0 C i + 4 + n = 1 N ( a x n C i + 4 c o s n v + b x n C i + 4 sin n v ) A y 0 P 1 ( 0.2 i ) + n = 1 N [ A y n P 1 ( 0.2 i ) sin n v + B y n P 1 ( 0.2 i ) c o s n v ] = a y 0 C i + 4 + n = 1 N ( a y n C i + 4 sin n v + b y n C i + 4 c o s n v ) A z 0 P 1 ( 0.2 i ) = z c C i + 4 ( i = 0 ,   1 ,   2 ,   3 ,   4 ,   5 )
where the superscript “P1” indicates the first PDE surface patch.
Although the values of the parametric variable u are taken to be uniform, i.e., u = 0.2 i ( i = 0 ,   1 ,   2 ,   3 ,   4 ,   5 ), the values of z c C i + 4 can be arbitrary, i.e., uniform or nonuniform since the function A z 0 ( u ) for the z component involves six undetermined constants to exactly satisfy arbitrary variations defined by the six values of z c C i + 4 .
The above Equation (15) can be changed into the following three groups of equations
A w 0 P 1 ( 0.2 i ) = a w 0 C i + 4 ( w = x , y , z ;   i = 0 ,   1 ,   2 ,   3 ,   4 ,   5 )
A w n P 1 ( 0.2 i ) = a w n C i + 4 ( w = x , y ;   i = 0 ,   1 ,   2 ,   3 ,   4 ,   5 )
B w n P 1 ( 0.2 i ) = b w n C i + 4 ( w = x , y ;   i = 0 ,   1 ,   2 ,   3 ,   4 ,   5 )
For the PDE surface patch 1, we introduce the superscript P1 into Equations (6) and (8) and obtain:
A w 0 P 1 ( u ) = a w 0 , 0 P 1 + a w 0 , 1 P 1 u + a w 0 , 2 P 1 u 2 + a w 0 , 3 P 1 u 3 + a w 0 , 4 P 1 u 4 + a w 0 , 5 P 1 u 5 ( w = x ,   y ,   z )
A w n P 1 ( u ) = ( a w n , 0 P 1 + a w n , 1 P 1 u + a w n , 2 P 1 u 2 ) e q 0 n u + ( a w n , 3 P 1 + a w n , 4 P 1 u + a w n , 5 P 1 u 2 ) e q 0 n u B w n P 1 ( u ) = ( b w n , 0 P 1 + b w n , 1 P 1 u + b w n , 2 P 1 u 2 ) e q 0 n u + ( b w n , 3 P 1 + b w n , 4 P 1 u + b w n , 5 P 1 u 2 ) e q 0 n u ( w = x ,   y ; n = 1 ,   2 ,   ,   N )
Substituting Equation (19) into the above Equation (16), the first group of equations is changed into below
a w 0 , 0 P 1 + 0.2 i a w 0 , 1 P 1 + 0.04 i 2 a w 0 , 2 P 1 + 0.008 i 3 a w 0 , 3 P 1 + 0.0016 i 4 a w 0 , 4 P 1 + 0.00032 i 5 a w 0 , 5 P 1 = a w 0 C i + 4 ( w = x , y , z ;   i = 0 ,   1 ,   2 ,   3 ,   4 ,   5 )
Substituting the first of Equation (20) into the above Equation (17), the second group of equations is changed into below
a w n , 0 P 1 c o s 0.4 i q 2 n + a w n , 1 P 1 s i n 0.4 i q 2 n + a w n , 2 P 1 e 0.2 i q 1 n c o s 0.2 i q 2 n + a w n , 3 P 1 e 0.2 i q 1 n sin 0.2 i q 2 n + a w n , 4 P 1 e 0.2 i q 1 n c o s 0.2 i q 2 n + a w n , 5 P 1 e 0.2 i q 1 n s i n 0.2 i q 2 n = a w n C i + 4 ( w = x , y ;   i = 0 ,   1 ,   2 ,   3 ,   4 ,   5 )
Substituting the second of Equation (32) into the above Equation (30), the third group of equations is changed into below
b w n , 0 P 1 c o s 0.4 i q 2 n + b w n , 1 P 1 s i n 0.4 i q 2 n + b w n , 2 P 1 e 0.2 i q 1 n c o s 0.2 i q 2 n + b w n , 3 P 1 e 0.2 i q 1 n sin 0.2 i q 2 n + b w n , 4 P 1 e 0.2 i q 1 n c o s 0.2 i q 2 n + b w n , 5 P 1 e 0.2 i q 1 n s i n 0.2 i q 2 n = b w n C i + 4 ( w = x , y ;   ;   n = 1 ,   2 ,   ,   N i = 0 ,   1 ,   2 ,   3 ,   4 ,   5 )
Solving Equation (21), we obtain the undetermined constants a w 0 , i P 1 ( w = x , y , z ;   i = 0 ,   1 ,   2 ,   3 ,   4 ,   5 ) . Solving Equation (22), we obtain the undetermined constants a w n , i P 1 ( w = x , y ;   n = 1 ,   2 ,   ,   N ;   i = 0 ,   1 ,   2 ,   3 ,   4 ,   5 ) . Solving Equation (23), we obtain the undetermined constants b w n , i P 1 ( w = x , y , z ;   n = 1 ,   2 ,   ,   N ;   i = 0 ,   1 ,   2 ,   3 ,   4 ,   5 ) . After that, substituting a w 0 , i P 1 ( w = x , y ;   i = 0 ,   1 ,   2 ,   3 ,   4 ,   5 ) into Equation (19), a w n , i P 1 and b w n , i P 1 ( w = x , y ;   n = 1 ,   2 ,   ,   N ;   i = 0 ,   1 ,   2 ,   3 ,   4 ,   5 ) into Equation (20), and then substituting Equations (19) and (20) into Equation (14), we obtain the PDE surface patch 1.

3.2.2. Creation of PDE Surface Patch 2

Two methods can be used to create the bottom PDE surface patch 2. The first method uses the six curves   C 1     C 6 to create the PDE surface patch 2, and the second method uses the curves   C 1     C 4 and the first and second partial derivatives of the PDE surface patch 1 at the curve C 4 . For creation of the bottom PDE surface patch 2 from 6 curves C 1     C 6 , the three curves   C 4     C 6 are shared by both PDE surface Patches 1 and 2 to ensure C 2 continuity on the curve   C 4 .
With the first method, we use a x 0 C i ,   a y 0 C i ,   and   a z 0 C i   ( i = 1 ,   2 ,   3 ,   4 ,   5 ,   6 ) to replace a x 0 C j , a y 0 C j and a z 0 C j   ( j = 4 ,   5 ,   6 ,   7 ,   8 ,   9 ) , and a w 0 , i P 2 ( w = x ,   y ,   z ; i = 0 ,   1 ,   2 ,   3 ,   4 ,   5 ), and a w n , i P 2 and b w n , i P 2 ( w = x ,   y ;   n = 1 ,   2 ,   3 ,   ,   N ;   i = 0 ,   1 ,   2 ,   3 ,   4 ,   5 ) to replace a w 0 , i P 1 ( w = x ,   y ,   z ; i = 0 ,   1 ,   2 ,   3 ,   4 ,   5 ), and a w n , i P 1 and b w n , i P 1 ( w = x ,   y ;   n = 1 ,   2 ,   3 ,   ,   N ;   i = 0 ,   1 ,   2 ,   3 ,   4 ,   5 ). Same as the above treatment, we obtain a w 0 , i P 2   ( w = x ,   y ,   z ; i = 0 ,   1 ,   2 ,   3 ,   4 ,   5 ) ,   a w n , i P 2   and   b w n , i P 2 . With the obtained a w 0 , i P 2   ( w = x ,   y ,   z ; i = 0 ,   1 ,   2 ,   3 ,   4 ,   5 ) ,   a w n , i P 2 and b w n , i P 2   ( w = x ,   y ; n = 1 ,   2 ,   3 ,   ,   N ;   i = 0 ,   1 ,   2 ,   3 ,   4 ,   5 ) we create the PDE surface patch 2 between 0.0 u 0.6 , which achieves up to C 2 continuity with the PDE surface patch 1 at u = 0.6 of the PDE surface patch 2, which is on the curve C 4 .
With the second method, the PDE surface patch 2 shares the same first and second partial derivatives with the PDE surface patch 1 on the curve C 4 , and the PDE surface patch 2 passes through the curves   C 1 C 4 . According to these requirements, we obtain the following equations:
w P 2 ( 1 , v ) u = w P 1 ( 0 , v ) u 2 w P 2 ( 1 , v ) u 2 = 2 w P 1 ( 0 , v ) u 2 ( w = x ,   y ,   z )
w P 2 ( i / 3 , v ) = C i ( v ) ( w = x ,   y ,   z ;   i = 0 ,   1 ,   2 ,   3 )
where
x P 2 ( u , v ) = A x 0 P 2 ( u ) + n = 1 N [ A x n P 2 ( u ) c o s n v + B x n P 2 ( u ) sin n v ] y P 2 ( u , v ) = A y 0 P 2 ( u ) + n = 1 N [ A y n P 2 ( u ) sin n v + B y n P 2 ( u ) c o s n v ] z P 2 ( u , v ) = A z 0 P 2 ( 0 )
The undetermined functions A w 0 P 2 ( u )   ( w = x ,   y ,   z ) and A w n P 2 ( u ) and B w n P 2 ( u )   ( w = x ,   y ; n = 1 ,   2 ,   3 ,   ,   N ) involved in Equation (26) are determined by solving Equations (24) and (25). The details of solving Equations (24) and (25) are given in Appendix B.
With the obtained a w 0 , i P 2   ( w = x ,   y ,   z ; i = 0 ,   1 ,   2 ,   3 ,   4 ,   5 ) ,   a w n , i P 2 and b w n , i P 2   ( w = x ,   y ; n = 1 ,   2 ,   3 ,   ,   N ;   i = 0 ,   1 ,   2 ,   3 ,   4 ,   5 ) , we create the PDE surface patch 2 between 0.0 u 1.0 with Equation (26), which achieves up to C 2 continuity with the PDE surface patch 1 at u = 1.0 of the PDE surface patch 2.

3.2.3. Creation of PDE Surface Patch 3

With the same method as creating PDE surface patch 2, we can create PDE surface patch 3, which can be written as the following equations.
x P 3 ( u , v ) = A x 0 P 3 ( u ) + n = 1 N [ A x n P 3 ( u ) c o s n v + B x n P 3 ( u ) sin n v ] y P 3 ( u , v ) = A y 0 P 3 ( u ) + n = 1 N [ A y n P 3 ( u ) sin n v + B y n P 3 ( u ) c o s n v ] z P 3 ( u , v ) = A z 0 P 3 ( 0 )

4. Results

The above method and corresponding mathematical equations have been implemented using C++. The implemented computer program consists of two parts. The first part determines the coefficients involved in Equation (1) by fitting it to cross section curves, and the second part determines the undetermined coefficients a w 0 , i P 1 ( w = x , y , z ;   i = 0 ,   1 ,   2 ,   3 ,   4 ,   5 ) and a w n , i P 1 and b w n , i P 1 ( w = x , y ;   n = 1 ,   2 ,   3 ,   ,   N ;   i = 0 ,   1 ,   2 ,   3 ,   4 ,   5 ) for the PDE surface patch 1, a w 0 , i P 2 ( w = x , y , z ;   i = 0 ,   1 ,   2 ,   3 ,   4 ,   5 ) and a w n , i P 2 and b w n , i P 2 ( w = x , y ;   n = 1 ,   2 ,   3 ,   ,   N ;   i = 0 ,   1 ,   2 ,   3 ,   4 ,   5 ) for the PDE surface patch 2, and a w 0 , i P 3 ( w = x , y , z ;   i = 0 ,   1 ,   2 ,   3 ,   4 ,   5 ) and a w n , i P 3 and b w n , i P 3 ( w = x , y ;   n = 1 ,   2 ,   3 ,   ,   N ;   i = 0 ,   1 ,   2 ,   3 ,   4 ,   5 ) for the PDE surface patch 3.
Figure 5 gives an example of creating the parts of shoulder, body, left arm and leg with the above obtained PDE surface patches.
Figure 6 shows the cross section curves of the human body and the reconstructed human body in front and side views. The reconstructed and rendered human body models show that our method can obtain smooth models without any manual operations to stitch adjacent patches together.
Figure 7 shows smooth models of a vase, a horse belly, elephant front legs, and an elephant nose generated from vertical or horizontal cross section curves by using the method proposed in this paper.

5. Conclusions

We have developed a PDE-based modelling method to create 3D models in this paper. Fourier series have been used to define generalized elliptic curves which can approximate ground-truth cross section curves with few coefficients and high accuracy. A vector-valued sixth-order partial differential equation has been proposed to construct 3D models from cross section curves and achieve C 2 continuity between two adjacent PDE surface patches. The accurate closed form solution to the vector-valued sixth-order partial differential equations has been derived, and the undetermined constants involved in the closed form solution have been determined by interpolating cross section curves while keeping C 2 continuity between two adjacent PDE surface patches. A number of examples have been presented to demonstrate the application of the proposed method in creating 3D models from cross section curves.
With the help of the physics-based analytical mathematical solution, a very complicated cross section curve can be represented with few variables. Compared with the polygon modeling, the proposed approach generates complicated and smooth surface models with fewer design variables and requires less hardware storage. In comparison with NURBS modeling, the proposed method has no continuous problem between different patches, which leads to the advantages of saving manual operations and reducing geometric modelling workload and time.
Moreover, the presented examples show that our method is accurate and effective in creating a 3D surface model from cross section curves. Because of fewer variables and analytical mathematical expression, the proposed approach is applicable to many applications involving heavy calculations such as machine learning-based shape reconstruction and computer animation and situations such as level of detail where different resolutions of a geometric model are used for different visual requirements.
The limitation of our method is additional processing of 3D models with more than one branch. For this situation, 3D models are segmented into parts. Each part is created with the method proposed in this paper. When two adjacent part models cannot be directly connected together, a transition surface is created to connect the two adjacent part models together. The transition surface is defined by two boundary curves respectively on the adjacent part models and the continuity requirements on the two boundary curves. The blending method proposed in [33] can be used to create the transition surface, which smoothly connects the two adjacent part models together with C 2 continuity.
Our work opens up several directions for future work. The first direction is input data processing. Although the method of reconstructing cross section curves from point clouds is mentioned in Section 3, how to obtain reconstructed cross section curves has not been discussed in this paper. In our following work, we will develop a new method to reconstruct Fourier series-represented cross section curves from point clouds.
The second direction is to extend the proposed method to more modelling applications of organic models and smooth man-made models. These organic models and smooth man-made models include non-human animals such as horses, bell peppers, vases, mountain contours, and streamlined aircrafts, trains and cars. We will investigate these modelling applications in our following work.
This paper discusses 3D modelling based on cross section curves. Actually, the method proposed in this paper can be extended to deal with spatial curves. In this case, the position component z is also the function of the parametric variables u and v . The undetermined constants involved in the z component function can be determined with the same method as the one used to determine the undetermined constants involved in the x and y component functions.

Author Contributions

Conceptualization, L.Y. and H.F.; validation, S.B., H.F. and O.L.; writing—original draft preparation, H.F. and L.Y.; writing—review and editing, H.F., S.B., A.I., J.M. and L.Y.; visualization, H.F. and E.C.; supervision, A.I., L.Y., J.M. and J.J.Z.; funding acquisition, A.I., L.Y. and J.J.Z. All authors have read and agreed to the published version of the manuscript.

Funding

This research is supported by the PDE-GIR project, which has received funding from the European Union Horizon 2020 Research and Innovation Programme under the Marie Skodowska-Curie grant agreement No 778035. Andres Iglesias also thanks the project TIN2017-89275-R funded by MCIN/AEI/10.13039/501100011033/FEDER “Una manera de hacer Europa”. And Haibin Fu is grateful for a scholarship from the Rabin Ezra Scholarship Trust.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Conflicts of Interest

The authors declare that they have no conflict of interest.

Appendix A. Determination of the Undetermined Functions A

Substituting Equation (3) into Equation (2), we have
A x 0 ( 6 ) ( u ) + n = 1 N [ A x n ( 6 ) ( u ) c o s n v + B x n ( 6 ) sin n v ] a n 6 n = 1 N [ A x n ( u ) c o s n v + B x n ( u ) sin n v ] = 0
Substituting Equation (4) into Equation (2), we have
A y 0 ( 6 ) ( u ) + n = 1 N [ A y n ( 6 ) ( u ) c o s n v + B y n ( 6 ) sin n π ] a n 6 n = 1 N [ A y n ( u ) c o s n v + B y n ( u ) sin n v ] = 0
Substituting Equation (5) into Equation (2), we have
A z 0 ( 6 ) ( u ) = 0
The above Equations (A1)–(A3) can be rewritten as the following equations
A w 0 ( 6 ) ( u ) = 0     ( w = x ,   y ,   z )
A w n ( 6 ) ( u ) a n 6 A w n ( u ) = 0     ( w = x ,   y ;   n = 1 ,   2 ,   3 ,   ,   N )
B w n ( 6 ) ( u ) a n 6 B w n ( u ) = 0     ( w = x ,   y ;   n = 1 ,   2 ,   3 ,   ,   N )
The solution to the ordinary differential Equation (A4) is:
A w 0 ( u ) = a w 0 , 0 + a w 0 , 1 u + a w 0 , 2 u 2 + a w 0 , 3 u 3 + a w 0 , 4 u 4 + a w 0 , 5 u 5 ( w = x ,   y ,   z )
Substituting A w n ( u ) = e r n u into the ordinary differential Equation (A5), we obtain the following characteristic equation:
r n 6 a n 6 = 0
When a > 0 ,
r n 3 = ± n 3 a
For r n 3 = n 3 a , we have
r n 1 , 2 , 3 = n | a | 6 = q 0 n
where
q 0 n = n | a | 6
For r n 3 = n 3 a , we have
r n 4 , 5 , 6 = n | a | 6 = q 0 n
From the obtained six roots r n 1 , 2 , 3 , 4 , 5 , 6 , the solution to the differential Equation (A5) is obtained as:
A w n ( u ) = ( a w n , 0 + a w n , 1 u + a w n , 2 u 2 ) e q 0 n u + ( a w n , 3 + a w n , 4 u + a w n , 5 u 2 ) e q 0 n u ( w = x ,   y ;   n = 1 ,   2 ,   3 ,   ,   N )
The same method is applied to Equation (A6) to obtain
B w n ( u ) = ( b w n , 0 + b w n , 1 u + b w n , 2 u 2 ) e q 0 n u + ( b w n , 3 + b w n , 4 u + b w n , 5 u 2 ) e q 0 n u ( w = x ,   y ;   n = 1 ,   2 ,   3 ,   ,   N )
When a < 0 ,
r n 3 = ± n 3 | a | = ± i n 3 | a |
where i is the imaginary unit.
Cubic roots of the imaginary unit i are: 0.5 ( 3 + i ) ,   0.5 ( 3 + i ) , and i . Substituting them into Equation (A11), we obtain the following six roots.
From r n 3 = i n 3 | a | , we obtain
r n 1 = n | a | 6 × 0.5 ( 3 + i ) = 0.5 n | a | 6 ( 3 + i ) = q 1 n + q 2 n i r n 2 = n | a | 6 × 0.5 ( 3 + i ) = 0.5 n | a | 6 ( 3 + i ) = q 1 n + q 2 n i r n 3 = n | a | 6 × ( i ) = 2 q 2 n i
where
q 1 n = 0.5 3 n | a | 6 q 2 n = 0.5 n | a | 6
From r n 3 = i n 3 | a | , we obtain
r n 4 = n | a | 6 × 0.5 ( 3 + i ) = 0.5 n | a | 6 ( 3 + i ) = q 1 n q 2 n i r n 5 = n | a | 6 × 0.5 ( 3 + i ) = 0.5 n | a | 6 ( 3 + i ) = q 1 n q 2 n i r n 6 = n | a | 6 × ( i ) = 2 q 2 n i
From the obtained six roots r n 1 , 2 , 3 , 4 , 5 , 6 , the solution to the differential Equation (A5) is obtained as:
A w n ( u ) = a w n , 0 c o s 2 q 2 n u + a w n , 1 s i n 2 q 2 n u + a w n , 2 e q 1 n u c o s q 2 n u + a w n , 3 e q 1 n u sin q 2 n u + a w n , 4 e q 1 n u c o s q 2 n u + a w n , 5 e q 1 n u s i n q 2 n u ( w = x ,   y ;   n = 1 ,   2 ,   3 ,   ,   N )
Using the same method to solve Equation (A6), we obtain
B w n ( u ) = b w n , 0 c o s 2 q 2 n u + b w n , 1 s i n 2 q 2 n u + b w n , 2 e q 1 n u c o s q 2 n u + b w n , 3 e q 1 n u sin q 2 n u + b w n , 4 e q 1 n u c o s q 2 n u + b w n , 5 e q 1 n u s i n q 2 n u ( w = x ,   y ;   n = 1 ,   2 ,   3 ,   ,   N )

Appendix B. Determination of the Undetermined Functions B

In order to determine the undetermined functions A w 0 P 2 ( u )   ( w = x ,   y ,   z ) and A w n P 2 ( u ) and B w n P 2 ( u )   ( w = x ,   y ; n = 1 ,   2 ,   3 ,   ,   N ) , we first calculate the first and second partial derivatives of the PDE surface patch 1 at u = 0 , i.e., on the curve C 4 .
Substituting Equations (14) and (26) into Equation (24), we obtain the following equations describing the continuity of the first and second partial derivatives.
A w 0 P 2 ( 1 ) u + n = 1 N [ A w n P 2 ( 1 ) u c o s n v + B w n P 2 ( 1 ) u sin n v ] = A w 0 P 1 ( 1 ) u + n = 1 N [ A w n P 1 ( 1 ) u c o s n v + B w n P 1 ( 1 ) u sin n v ] 2 A w 0 P 2 ( 1 ) u 2 + n = 1 N [ 2 A w n P 2 ( 1 ) u 2 c o s n v + 2 B w n P 2 ( 1 ) u 2 sin n v ] = 2 A w 0 P 1 ( 1 ) u 2 + n = 1 N [ 2 A w n P 1 ( 1 ) u 2 c o s n v + 2 B w n P 1 ( 1 ) u 2 sin n v ] ( w = x ,   y ,   z )
Equalizing the coefficients of the constant terms, the c o s n v terms, and the sin n v terms, respectively, the above equations are changed into:
A w 0 P 2 ( 1 ) u = A w 0 P 1 ( 1 ) u 2 A w 0 P 2 ( 1 ) u 2 = 2 A w 0 P 1 ( 1 ) u 2 ( w = x ,   y ,   z )  
A w n P 2 ( 1 ) u = A w n P 1 ( 1 ) u B w n P 2 ( 1 ) u = B w n P 1 ( 1 ) u 2 A w n P 2 ( 1 ) u 2 = 2 A w n P 1 ( 1 ) u 2 2 B w n P 2 ( 1 ) u 2 = 2 B w n P 1 ( 1 ) u 2 ( w = x ,   y ;   n = 1 ,   2 ,   3 ,   ,   N )  
Introducing the superscript P1 into Equations (10) and (11) and setting u = 0 , we obtain the following equations:
A w 0 P 1 ( 0 ) u = a w 0 , 1 P 1   ( w = x ,   y ,   z )
A w n P 1 ( 0 ) u = 2 a w n , 1 P 1 q 2 n + a w n , 2 P 1 q 1 n + a w n , 3 P 1 q 2 n a w n , 4 P 1 q 1 n + a w n , 5 P 1 q 2 n   B w n P 1 ( 0 ) u = 2 b w n , 1 P 1 q 2 n + b w n , 2 P 1 q 1 n + b w n , 3 P 1 q 2 n b w n , 4 P 1 q 1 n + b w n , 5 P 1 q 2 n   ( w = x ,   y ;   n = 1 ,   2 ,   3 ,   ,   N )  
Introducing the superscript P1 into Equations (12) and (13) and setting u = 0 , we obtain the following equations:
2 A w 0 P 1 ( 0 ) u 2 = 2 a w 0 , 2 P 1 ( w = x ,   y ,   z )
2 A w n P 1 ( 0 ) u 2 = 4 a w n , 0 P 1 q 2 n 2 + a w n , 2 P 1 ( q 1 n 2 e q 1 n u q 2 n 2 e q 1 n u ) + 2 a w n , 3 P 1 q 1 n q 2 n + a w n , 4 P 1 ( q 1 n 2 q 2 n 2 ) 2 a w n , 5 P 1 q 1 n q 2 n 2 B w n P 1 ( 0 ) u 2 = 4 b w n , 0 P 1 q 2 n 2 + b w n , 2 P 1 ( q 1 n 2 q 2 n 2 ) + 2 b w n , 3 P 1 q 1 n q 2 n + b w n , 4 P 1 ( q 1 n 2 q 2 n 2 ) 2 b w n , 5 P 1 q 1 n q 2 n ( w = x ,   y ;   n = 1 ,   2 ,   3 ,   ,   N )
Introducing the superscript P2 into Equations (10) and (11) and setting u = 1 , we obtain the following equations:
A w 0 P 2 ( 1 ) u = a w 0 , 1 P 2 + 2 a w 0 , 2 P 2 + 3 a w 0 , 3 P 2 + 4 a w 0 , 4 P 2 + 5 a w 0 , 5 P 2 ( w = x ,   y ,   z )
A w n P 2 ( 1 ) u = 2 a w n , 0 P 2 q 2 n s i n 2 q 2 n + 2 a w n , 1 P 2 q 2 n c o s 2 q 2 n + a w n , 2 P 2 ( q 1 n e q 1 n c o s q 2 n q 2 n e q 1 n s i n q 2 n ) + a w n , 3 P 2 ( q 1 n e q 1 n sin q 2 n + q 2 n e q 1 n c o s q 2 n ) a w n , 4 P 2 ( q 1 n e q 1 n c o s q 2 n + q 2 n e q 1 n s i n q 2 n ) + a w n , 5 P 2 ( q 1 n e q 1 n s i n q 2 n + q 2 n e q 1 n c o s q 2 n ) B w n P 2 ( 1 ) u = 2 b w n , 0 P 2 q 2 n s i n 2 q 2 n + 2 b w n , 1 P 2 q 2 n c o s q 2 n + b w n , 2 P 2 ( q 1 n e q 1 n c o s q 2 n q 2 n e q 1 n s i n q 2 n ) + b w n , 3 P 2 ( q 1 n e q 1 n sin q 2 n + q 2 n e q 1 n c o s q 2 n ) b w n , 4 P 2 ( q 1 n e q 1 n c o s q 2 n + q 2 n e q 1 n s i n q 2 n ) + b w n , 5 P 2 ( q 1 n e q 1 n s i n q 2 n + q 2 n e q 1 n c o s q 2 n ) ( w = x ,   y ;   n = 1 ,   2 ,   3 ,   ,   N )  
Introducing the superscript P2 into Equations (12) and (13) and setting u = 1 , we obtain the following equations:
2 A w 0 ( 1 ) u 2 = 2 a w 0 , 2 P 2 + 6 a w 0 , 3 P 2 + 12 a w 0 , 4 P 2 + 20 a w 0 , 5 P 2 ( w = x ,   y ,   z )
2 A w n P 2 ( 1 ) u 2 = 4 a w n , 0 P 2 q 2 n 2 c o s 2 q 2 n 4 a w n , 1 P 2 q 2 n 2 s i n 2 q 2 n + a w n , 2 P 2 ( q 1 n 2 e q 1 n c o s q 2 n 2 q 1 n q 2 n e q 1 n s i n q 2 n q 2 n 2 e q 1 n c o s q 2 n ) + a w n , 3 P 2 ( q 1 n 2 e q 1 n sin q 2 n + 2 q 1 n q 2 n e q 1 n c o s q 2 n q 2 n 2 e q 1 n s i n q 2 n ) + a w n , 4 P 2 ( q 1 n 2 e q 1 n c o s q 2 n + 2 q 1 n q 2 n e q 1 n sin q 2 n q 2 n 2 e q 1 n c o s q 2 n ) + a w n , 5 P 2 ( q 1 n 2 e q 1 n s i n q 2 n 2 q 1 n q 2 n e q 1 n c o s q 2 n q 2 n 2 e q 1 n s i n q 2 n ) 2 B w n P 2 ( 1 ) u 2 = 4 b w n , 0 P 2 q 2 n 2 c o s 2 q 2 n 4 b w n , 1 P 2 q 2 n 2 s i n 2 q 2 n + b w n , 2 P 2 ( q 1 n 2 e q 1 n c o s q 2 n 2 q 1 n q 2 n e q 1 n s i n q 2 n q 2 n 2 e q 1 n c o s q 2 n ) + b w n , 3 P 2 ( q 1 n 2 e q 1 n sin q 2 n + 2 q 1 n q 2 n e q 1 n c o s q 2 n q 2 n 2 e q 1 n s i n q 2 n ) + b w n , 4 P 2 ( q 1 n 2 e q 1 n c o s q 2 n + 2 q 1 n q 2 n e q 1 n sin q 2 n q 2 n 2 e q 1 n c o s q 2 n ) + b w n , 5 P 2 ( q 1 n 2 e q 1 n s i n q 2 n 2 q 1 n q 2 n e q 1 n c o s q 2 n q 2 n 2 e q 1 n s i n q 2 n ) ( w = x ,   y ;   n = 1 ,   2 ,   3 ,   ,   N )
Substituting Equations (A19), (A21), (A23) and (A25) into Equation (A17), the following equations are obtained.
a w 0 , 1 P 2 + 2 a w 0 , 2 P 2 + 3 a w 0 , 3 P 2 + 4 a w 0 , 4 P 2 + 5 a w 0 , 5 P 2 = a w 0 , 1 P 1 2 a w 0 , 2 P 2 + 6 a w 0 , 3 P 2 + 12 a w 0 , 4 P 2 + 20 a w 0 , 5 P 2 = 2 a w 0 , 2 P 1 ( w = x ,   y ,   z )
Substituting Equations (A20), (A22), (A24) and (A26) into Equation (A18), the following equations are obtained.
2 a w n , 0 P 2 q 2 n s i n 2 q 2 n + 2 a w n , 1 P 2 q 2 n c o s 2 q 2 n + a w n , 2 P 2 ( q 1 n e q 1 n c o s q 2 n q 2 n e q 1 n s i n q 2 n ) + a w n , 3 P 2 ( q 1 n e q 1 n sin q 2 n + q 2 n e q 1 n cos q 2 n ) a w n , 4 P 2 ( q 1 n e q 1 n c o s q 2 n + q 2 n e q 1 n s i n q 2 n ) + a w n , 5 P 2 ( q 1 n e q 1 n s i n q 2 n + q 2 n e q 1 n c o s q 2 n ) = 2 a w n , 1 P 1 q 2 n + a w n , 2 P 1 q 1 n + a w n , 3 P 1 q 2 n a w n , 4 P 1 q 1 n + a w n , 5 P 1 q 2 n 4 a w n , 0 P 2 q 2 n 2 c o s 2 q 2 n 4 a w n , 1 P 2 q 2 n 2 s i n 2 q 2 n + a w n , 2 P 2 ( q 1 n 2 e q 1 n c o s q 2 n 2 q 1 n q 2 n e q 1 n s i n q 2 n q 2 n 2 e q 1 n c o s q 2 n ) + a w n , 3 P 2 ( q 1 n 2 e q 1 n sin q 2 n + 2 q 1 n q 2 n e q 1 n cos q 2 n q 2 n 2 e q 1 n s i n q 2 n ) + a w n , 4 P 2 ( q 1 n 2 e q 1 n c o s q 2 n + 2 q 1 n q 2 n e q 1 n sin q 2 n q 2 n 2 e q 1 n c o s q 2 n ) + a w n , 5 P 2 ( q 1 n 2 e q 1 n s i n q 2 n 2 q 1 n q 2 n e q 1 n c o s q 2 n q 2 n 2 e q 1 n s i n q 2 n ) = 4 a w n , 0 P 1 q 2 n 2 + a w n , 2 P 1 ( q 1 n 2 e q 1 n u q 2 n 2 e q 1 n u ) + 2 a w n , 3 P 1 q 1 n q 2 n + a w n , 4 P 1 ( q 1 n 2 q 2 n 2 ) 2 a w n , 5 P 1 q 1 n q 2 n ( w = x ,   y ; n = 1 ,   2 ,   3 ,   ,   N )  
2 b w n , 0 P 2 q 2 n s i n 2 q 2 n + 2 b w n , 1 P 2 q 2 n c o s q 2 n + b w n , 2 P 2 ( q 1 n e q 1 n c o s q 2 n q 2 n e q 1 n s i n q 2 n ) + b w n , 3 P 2 ( q 1 n e q 1 n sin q 2 n + q 2 n e q 1 n cos q 2 n ) b w n , 4 P 2 ( q 1 n e q 1 n c o s q 2 n + q 2 n e q 1 n s i n q 2 n ) + b w n , 5 P 2 ( q 1 n e q 1 n s i n q 2 n + q 2 n e q 1 n c o s q 2 n ) = 2 b w n , 1 P 1 q 2 n + b w n , 2 P 1 q 1 n + b w n , 3 P 1 q 2 n b w n , 4 P 1 q 1 n + b w n , 5 P 1 q 2 n 4 b w n , 0 P 2 q 2 n 2 c o s 2 q 2 n 4 b w n , 1 P 2 q 2 n 2 s i n 2 q 2 n + b w n , 2 P 2 ( q 1 n 2 e q 1 n c o s q 2 n 2 q 1 n q 2 n e q 1 n s i n q 2 n q 2 n 2 e q 1 n c o s q 2 n ) + b w n , 3 P 2 ( q 1 n 2 e q 1 n sin q 2 n + 2 q 1 n q 2 n e q 1 n cos q 2 n q 2 n 2 e q 1 n s i n q 2 n ) + b w n , 4 P 2 ( q 1 n 2 e q 1 n c o s q 2 n + 2 q 1 n q 2 n e q 1 n sin q 2 n q 2 n 2 e q 1 n c o s q 2 n ) + b w n , 5 P 2 ( q 1 n 2 e q 1 n s i n q 2 n 2 q 1 n q 2 n e q 1 n c o s q 2 n q 2 n 2 e q 1 n s i n q 2 n ) = 4 b w n , 0 P 1 q 2 n 2 + b w n , 2 P 1 ( q 1 n 2 e q 1 n u q 2 n 2 e q 1 n u ) + 2 b w n , 3 P 1 q 1 n q 2 n + b w n , 4 P 1 ( q 1 n 2 q 2 n 2 ) 2 b w n , 5 P 1 q 1 n q 2 n ( w = x ,   y ; n = 1 ,   2 ,   3 ,   ,   N )
Substituting Equation (26) into Equation (25), the four equations in Equation (25) are changed into the following ones:
A x 0 P 2 ( i / 3 ) + n = 1 N [ A x n P 2 ( i / 3 ) c o s n v + B x n P 2 ( i / 3 ) sin n v ] = a x 0 C i + 1 + n = 1 N ( a x n C i + 1 c o s n v + b x n C i + 1 sin n v ) A y 0 P 2 ( i / 3 ) + n = 1 N [ A y n P 2 ( i / 3 ) sin n v + B y n P 2 ( i / 3 ) c o s n v ] = a y 0 C i + 1 + n = 1 N ( a y n C i + 1 sin n v + b y n C i + 1 c o s n v ) A z 0 P 2 ( i / 3 ) = z c C i + 1   ( i = 0 ,   1 ,   2 ,   3 )
The above Equation (A30) can be changed into the following three groups of equations
A w 0 P 2 ( i / 3 ) = a w 0 C i + 1 ( w = x , y , z ;   i = 0 ,   1 ,   2 ,   3 )
A w n P 2 ( i / 3 ) = a w n C i + 1 ( w = x , y ;   i = 0 ,   1 ,   2 ,   3 ;   n = 1 ,   2 ,   3 ,   ,   N )
B w n P 2 ( i / 3 ) = b w n C i + 1 ( w = x , y ;   i = 0 ,   1 ,   2 ,   3 ;   n = 1 ,   2 ,   3 ,   ,   N )
where a z 0 C i + 1 = z c C i + 1 ( i = 0 ,   1 ,   2 ,   3 ) .
Following the same method used to obtain Equations (21)–(23), we obtain the following equations from Equations (A31)–(A33).
a w 0 , 0 P 2 + i a w 0 , 1 P 2 / 3 + i 2 a w 0 , 2 P 2 / 9 + i 3 a w 0 , 3 P 2 / 27 + i 4 a w 0 , 4 P 2 / 81 + i 5 a w 0 , 5 P 2 / 243 = a w 0 C i + 1 ( w = x , y , z ;   i = 0 ,   1 ,   2 ,   3 )  
a w n , 0 P 2 c o s 2 i q 2 n / 3 + a w n , 1 P 2 s i n 2 i q 2 n / 3 + a w n , 2 P 2 e i q 1 n 3 c o s i q 2 n / 3 + a w n , 3 P 2 e i q 1 n 3 sin i q 2 n 3 + a w n , 4 P 2 e i q 1 n 3 c o s i q 2 n / 3 + a w n , 5 P 2 e i q 1 n 3 s i n i q 2 n / 3 = a w n C i + 1 ( w = x , y ;   i = 0 ,   1 ,   2 ,   3 ; n = 1 ,   2 ,   3 ,   ,   N )
b w n , 0 P 2 c o s 2 i q 2 n / 3 + b w n , 1 P 2 s i n 2 i q 2 n / 3 + b w n , 2 P 2 e i q 1 n 3 c o s i q 2 n / 3 + b w n , 3 P 2 e i q 1 n 3 sin i q 2 n 3 + b w n , 4 P 2 e i q 1 n 3 c o s i q 2 n / 3 + b w n , 5 P 2 e i q 1 n 3 s i n i q 2 n / 3 = b w n C i + 1 ( w = x , y ;   i = 0 ,   1 ,   2 ,   3 ; n = 1 ,   2 ,   3 ,   ,   N )
Solving the six equations in Equations (A27) and (A34), we determine the six undetermined constants a w 0 , i P 2 ( w = x , y , z ;   i = 0 ,   1 ,   2 ,   3 ,   4 ,   5 ) . Solving the six equations in Equations (A28) and (A35), we determine the six undetermined constants a w n , i P 2 ( w = x , y ;   n = 1 ,   2 ,   3 ,   ,   N ;   i = 0 ,   1 ,   2 ,   3 ,   4 ,   5 ) . Solving the six equations in Equations (A29) and (A36), then we determine the six undetermined constants b w n , i P 2 ( w = x , y ;   n = 1 ,   2 ,   3 ,   ,   N ;   i = 0 ,   1 ,   2 ,   3 ,   4 ,   5 ) .

References

  1. Russo, M. Polygonal Modeling: Basic and Advanced Techniques; Wordware Pub.: Plano, TX, USA, 2006; ISBN 9781598220070. [Google Scholar]
  2. Piegl, L.; Tiller, W. The NURBS Book; Springer Science & Business Media: Berlin/Heidelberg, Germany, 2012; ISBN 9783540550693. [Google Scholar]
  3. Farin, G. Curves and Surfaces for Computer-Aided Geometric Design: A Practical Guide; Elsevier: Amsterdam, The Netherlands, 2014; ISBN 9780122490521. [Google Scholar]
  4. Bischoff, S.; Kobbelt, L. Teaching meshes, subdivision and multiresolution techniques. Comput.-Aided Des. 2004, 36, 1483–1500. [Google Scholar] [CrossRef]
  5. Nealen, A.; Müller, M.; Keiser, R.; Boxerman, E.; Carlson, M. Physically Based Deformable Models in Computer Graphics. In Computer Graphics Forum; Blackwell Publishing Ltd.: Oxford, UK, 2006; Volume 25, pp. 809–836. [Google Scholar] [CrossRef]
  6. Li, Z.-C.; Chang, C.-S. Boundary penalty finite element methods for blending surfaces, III. Superconvergence and stability and examples. J. Comput. Appl. Math. 1999, 110, 241–270. [Google Scholar] [CrossRef] [Green Version]
  7. Chaudhry, E.; Bian, S.J.; Ugail, H.; Jin, X.; You, L.H.; Zhang, J.J. Dynamic skin deformation using finite difference solutions for character animation. Comput. Graph. 2015, 46, 294–305. [Google Scholar] [CrossRef] [Green Version]
  8. Cornford, S.L.; Martin, D.F.; Graves, D.T.; Ranken, D.F.; Le Brocq, A.M.; Gladstone, R.M.; Payne, A.J.; Ng, E.G.; Lipscomb, W.H. Adaptive mesh, finite volume modeling of marine ice sheets. J. Comput. Phys. 2013, 232, 529–549. [Google Scholar] [CrossRef]
  9. Liu, T.; Bargteil, A.W.; O’Brien, J.F.; Kavan, L. Fast simulation of mass-spring systems. ACM Trans. Graph. 2013, 32, 1–7. [Google Scholar] [CrossRef]
  10. Donning, B.M.; Liu, W.K. Meshless methods for shear-deformable beams and plates. Comput. Methods Appl. Mech. Eng. 1998, 152, 47–71. [Google Scholar] [CrossRef]
  11. Taniguchi, T.; Sawada, S. Stochastic boundary approaches to many-particle systems coupled to a particle reservoir. Phys. Rev. E 2017, 95, 012128. [Google Scholar] [CrossRef] [Green Version]
  12. Bai, J.; Zhang, J.; Jin, S.; Du, K.; Wang, Y. A multi-modal-analysis-based simplified seismic design method for high-rise frame-steel plate shear wall dual structures. J. Constr. Steel Res. 2021, 177, 106484. [Google Scholar] [CrossRef]
  13. Bloor, M.I.G.; Wilson, M.J. Generating blend surfaces using partial differential equations. Comput.-Aided Des. 1989, 21, 165–171. [Google Scholar] [CrossRef]
  14. Bloor, M.I.G.; Wilson, M.J. Using partial differential equations to generate free-form surfaces. Comput.-Aided Des. 1990, 22, 202–212. [Google Scholar] [CrossRef]
  15. Sheng, Y.; Sourin, A.; Castro, G.G.; Ugail, H. A PDE method for patchwise approximation of large polygon meshes. Vis. Comput. 2010, 26, 975–984. [Google Scholar] [CrossRef]
  16. Ugail, H.; Bloor, M.I.G.; Wilson, M.J. Techniques for interactive design using the PDE method. ACM Trans. Graph. 1999, 18, 195–212. [Google Scholar] [CrossRef]
  17. Ahmat, N.; Ugail, H.; Castro, G.G. Method of modelling the compaction behaviour of cylindrical pharmaceutical tablets. Int. J. Pharm. 2011, 405, 113–121. [Google Scholar] [CrossRef] [PubMed]
  18. Wang, S.B.; Xia, Y.; Wang, R.B.; You, L.H.; Zhang, J.J. Optimal NURBS conversion of PDE surface-represented high-speed train heads. Optim. Eng. 2019, 20, 907–928. [Google Scholar] [CrossRef] [Green Version]
  19. Wang, S.B.; Wang, R.B.; Xia, Y.; Sun, Z.; You, L.H.; Zhang, J.J. Multi-objective aerodynamic optimization of high-speed train heads based on the PDE parametric modelling. Struct. Multidiscip. Optim. 2021, 64, 1285–1304. [Google Scholar] [CrossRef]
  20. Wang, S.B.; Xiang, N.; Xia, Y.; You, L.H.; Zhang, J.J. Real-time surface manipulation with C1 continuity through simple and efficient physics-based deformations. Vis. Comput. 2021, 37, 2741–2753. [Google Scholar] [CrossRef]
  21. Gonzalez, C.G.; Ugail, H.; Willis, P.; Palmer, I.J. A survey of partial differential equations in geometric design. Vis. Comput. 2008, 24, 213–225. [Google Scholar] [CrossRef] [Green Version]
  22. Chen, C.; Sheng, Y.; Li, F.; Zhang, G.; Ugail, H. A PDE-based head visualization method with CT data. Comput. Animat. Virtual Worlds 2015, 28, e1683. [Google Scholar] [CrossRef]
  23. Ma, A.; Yang, R.; Ning, H.; Bai, H.; Li, L.; Wu, X. 3D scalp extraction and reconstruction of MRI brain images. J. Comput. Appl. 2013, 33, 1439–1442. [Google Scholar] [CrossRef]
  24. Hyun, D.-E.; Yoon, S.-H.; Chang, J.-W.; Seong, J.-K.; Kim, M.-S.; Jüttler, B. Sweep-based human deformation. Vis. Comput. 2005, 21, 542–550. [Google Scholar] [CrossRef]
  25. Xu, F.; Mueller, K. Real-time 3D computed tomographic reconstruction using commodity graphics hardware. Phys. Med. Biol. 2007, 52, 3405–3419. [Google Scholar] [CrossRef] [PubMed]
  26. Yoon, S.-H.; Kim, M.-S. Sweep-based Freeform Deformations. In Computer Graphics Forum; Blackwell Publishing Ltd.: Oxford, UK, 2006; Volume 25, pp. 487–496. [Google Scholar] [CrossRef]
  27. Farin, G.; Hoschek, J.; Kim, M.-S. Reverse engineering. In Handbook of Computer Aided Geometric Design; Elsevier: Amsterdam, The Netherlands; Boston, MA, USA, 2002; Volume 26, ISBN 9780444511041. [Google Scholar]
  28. Li, O.; Chaudhry, E.; Yang, X.; Fu, H.; Fang, J. Composite generalized elliptic curve-based surface reconstruction. In International Conference on Computational Science; Springer: Cham, Switzerland, 2021. [Google Scholar]
  29. Liu, L.; Bajaj, C.; Deasy, J.O.; Low, D.A.; Ju, T. Surface Reconstruction From Non-parallel Curve Networks. In Computer Graphics Forum; Blackwell Publishing Ltd.: Oxford, UK, 2008; Volume 27, pp. 155–163. [Google Scholar] [CrossRef] [Green Version]
  30. Barton, M.; Pottmann, H.; Wallner, J. Detection and reconstruction of freeform sweeps. In Computer Graphics Forum; Blackwell Publishing Ltd.: Oxford, UK, 2014; Volume 33, pp. 23–32. [Google Scholar] [CrossRef]
  31. Kovács, I.; Várady, T.; Cripps, R. Reconstructing swept surfaces from measured data. In The Mathematics of Surfaces XIV; Cripps, R., Ed.; IMA: Tarrytown, NJ, USA, 2013; pp. 327–344. [Google Scholar]
  32. Barton, M.; Shi, L.; Kilian, M.; Wallner, J.; Pottmann, H. Circular arc snakes and kinematic surface generation. In Computer Graphics Forum; Blackwell Publishing Ltd.: Oxford, UK, 2013; Volume 32, pp. 1–10. [Google Scholar] [CrossRef] [Green Version]
  33. You, L.H.; Comninos, P.; Zhang, J.J. PDE blending surfaces with C2 continuity. Comput. Graph. 2004, 28, 895–906. [Google Scholar] [CrossRef]
Figure 1. Comparison of different digital 3D modeling methods.
Figure 1. Comparison of different digital 3D modeling methods.
Mathematics 10 00319 g001
Figure 2. Overall proposed algorithm.
Figure 2. Overall proposed algorithm.
Mathematics 10 00319 g002
Figure 3. Curve fitting example. The ground truth curves are shown in blue and fitted generalized elliptic curves are in red.
Figure 3. Curve fitting example. The ground truth curves are shown in blue and fitted generalized elliptic curves are in red.
Mathematics 10 00319 g003
Figure 4. Surface creation example. The six curves C 4 C 9 (red) are used to construct the PDE surface patch 1.
Figure 4. Surface creation example. The six curves C 4 C 9 (red) are used to construct the PDE surface patch 1.
Mathematics 10 00319 g004
Figure 5. The cross section curves and created human body parts.
Figure 5. The cross section curves and created human body parts.
Mathematics 10 00319 g005
Figure 6. The cross section curves of the human body and the created human body model in front and side views using C 2 continues PDE method.
Figure 6. The cross section curves of the human body and the created human body model in front and side views using C 2 continues PDE method.
Mathematics 10 00319 g006
Figure 7. Surface shape generation from cross section curves by using the method proposed in this paper. (a) a smooth vase model, (b) a horse belly model, (c) front leg and nose models of an elephant.
Figure 7. Surface shape generation from cross section curves by using the method proposed in this paper. (a) a smooth vase model, (b) a horse belly model, (c) front leg and nose models of an elephant.
Mathematics 10 00319 g007
Table 1. Errors of curve fitting.
Table 1. Errors of curve fitting.
n135710
ErM0.0653710.0406360.0106010.0053120.002534
ErA0.0441690.0123670.0070680.0017670.000883
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Fu, H.; Bian, S.; Li, O.; Macey, J.; Iglesias, A.; Chaudhry, E.; You, L.; Zhang, J.J. 3D Modelling with C2 Continuous PDE Surface Patches. Mathematics 2022, 10, 319. https://doi.org/10.3390/math10030319

AMA Style

Fu H, Bian S, Li O, Macey J, Iglesias A, Chaudhry E, You L, Zhang JJ. 3D Modelling with C2 Continuous PDE Surface Patches. Mathematics. 2022; 10(3):319. https://doi.org/10.3390/math10030319

Chicago/Turabian Style

Fu, Haibin, Shaojun Bian, Ouwen Li, Jon Macey, Andres Iglesias, Ehtzaz Chaudhry, Lihua You, and Jian Jun Zhang. 2022. "3D Modelling with C2 Continuous PDE Surface Patches" Mathematics 10, no. 3: 319. https://doi.org/10.3390/math10030319

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop