1 Introduction and motivation
In industrial manufacturing including the ship-hull building and free-form architecture building, the employed materials, such as sheet metal and wooden panels, often possess the physical property of high bendability and low stretchability. The developable surface is a suitable mathematical model for these materials and thus has important industrial applications [Baldassini2008Freeform] [Julie1998Design] [PEREZ2007853]. Developable surfaces have also been investigated in CNC flank milling [Chu2005ToolPP] [Calleja2018HighlyA5]. However, the current commercial CAD software do not have flexible and effective capabilities for modeling developable surfaces. The study of design methods for developable surfaces has been an active research topic in recent years and a variety of approaches have been proposed [Tang2016Interactive] [Ming2011Design] [Caiyun2020Designing] [Alicia2015Interpolation].
To be compatible with the surface representation in commercial CAD software, the designed surface is required to be represented by a B-spline surface. With the common design method of developable B-spline surfaces, the surface shape is expressed by two curves, denoted by and , , , serving as surface boundaries and a (quasi-) developable surface bounded by and (or their perturbation curves) is constructed. The resulting surface generally does not take the connection lines of the endpoints of the input curves (i.e. and ) as its ruling lines. Therefore, the input curves need to be adjusted through curve extension, and the generated surface needs to be trimmed against the terminal connection lines [bo2019multi]. Fig. 1 shows a simple example of developable surface design based on boundary curves, which illustrates the necessity of curve extension and surface trimming.
This extension-trimming method has some drawbacks: 1) The developability of the resulting surface largely depends on the shape of the extension curves and it is not clear how to extend the original curves in favour of surface developability. Therefore, the shape of extended curves cannot be intuitively estimated, which may draw a big difference between the result and the original design intention. 2) In some applications, it is desired that the developable surface is bounded by two ruling lines instead of trimming lines. For example, a blisk blade surface is often represented by a ruled surface and it will facilitate the process of CNC flank milling with conical or cylindrical cutters if the blade surface is bounded by ruling lines without trimming. In Fig.2, the design of the ruled surface with and without edge trimming of a blade model are shown. In the case of being bounded by ruling lines (Fig. 2(a)), the two side surfaces of the blade can be connected by a transition rounded surface which is also ruled, and consequentially can be flank-milled in one pass. However, for the design in Fig. 2(b), the transition part has to be point-milled in a separate operation, adding production time. Therefore, the tool for designing a ruled surface with specified terminal rulings are highly demanded in applications.
To provide an intuitive design method, we treat developable surface modeling following the traditional design process of curves and surfaces. In terms of curve design, the designer first describes the shape of the curve by defining some shape-control points and then constructs a curve fitting the shape-control points. In many cases, the resulting curve is required to take the first and last shape-control points as its endpoints, namely, the resulting curve needs to strictly interpolate the first and last shape-control points, while trying to fit the interior shape-control points. Currently, this intuitive and friendly design method is the main design method of free-form curves and surfaces, but similar techniques are not available in developable surface design.
The developable surface is the envelope of a single-parameter family of planes and designing developable surfaces through a set of planes has been considered in some works. These methods working with the dual representation of a developable surface and are lack of design intuition and stability [bodduluri1993design]. Instead, we work directly in the design space and treat a developable ruled surface as a single parameter family of lines. We propose to describe the shape of a developable surface by a sequence of straight line segments and aim to generate a developable surface taking the input lines as its ruling lines. More precisely, we construct a developable B-spline surface which takes the first and last input lines as the head and tail rulings, respectively, and exhibits the shape suggested by the interior lines as much as possible. The main contributions of our work are summarized as follows.
Our method works directly in the design space by specifying a sequence of control rulings and is thus geometrically intuitive for developable surface design.
Different to existing methods which model a developable surface from its boundary curves, our method allows the user to specify the first and the last rulings explicitly.
By treating the terminal control rulings as hard constraints and interior control rulings as soft constraints, our method is capable of computing a B-spline surface with a high degree of developability.
2 Related works
Developable surface modeling has been extensively studied and various representations of the developable surface have been considered. In computer animation and simulation, the triangular and quadrilateral meshes are most frequently used. For the works on developable surface modleing based on quadrangular and triangular meshes, refer to [English2008Animating] [Solomon2012Flexible] [Liu2006Geometric] [LIU20111089]. In CAD community, B-spline/NURBS surfaces are the most frequently used representations [PEREZ2007853] [Oetter2002Block]. Subag and Elber approximate a general NURBS surface using piecewise developable surfaces with a global error bound [Subag2006Piecewise]. Pottmann et al. use the composite developable strip model to obtain free-form surfaces in architecture and manufacturing [Baldassini2008Freeform].
A widely studied problem in developable surface modeling is to construct a developable surface bounded by two given design curves. In ship-hull design, the hull shape is described by some feature curves, and then the developable surface is constructed between two adjacent feature curves [PEREZ2007853]. Tang and Wang simulate the folding process of elastic sheets to approximate a developable surface via the operation of boundary triangulation [Kai2006Modeling]. Wang et al. formulate the developable triangulation problem as a graph problem and use the Dijkstra algorithm to solve it [Wang2005Optimal] [Tang2009Quasi]. A local-global method is proposed to improve surface developability by optimizing mesh vertices [Ming2011Design]. The surfaces obtained by these methods are discrete mesh surfaces.
The smooth developable ruled surfaces are often represented as the Bézier or the B-spline surfaces. It is required that the surface satisfies the nonlinear developability constraint and particular boundary conditions (such as fixing one boundary curve). Some works study the analytical computation of developable surfaces from the nonlinear developability equations [PottmannDevelopable] [CHEN1999110] [AUMANN2003601] [Aumann:2004:0167-8396:661] [Caiyun2020Designing] [hu2019Generalized]
. Chu study the degrees of freedom in a developable B-spline surface bounded by two curves[Chu2013Geometric]. The main issue with analytical methods is that the given inputs are required to define precise developable surfaces and this cannot be guaranteed in real applications such as ship-hull design and free-form architectural design. Chen and Tang generate a developable surface by assembling a set of smooth surface patches. Triangular Bézier patches are used for creating smooth surfaces with continuity [ChenQuasi] while quadrilateral Bézier patches are used for constructing smooth surfaces with continuity [ChenG2]. However, these methods are not capable of constructing a developable surface strictly bounded by given curves. Moreover, the resulting surfaces do not possess explicit ruling lines which provide important guiding information in the real manufacturing process. Bodduluri et al. make use of the duality between plane and point geometries for developable surface modeling. However, this method is weak in terms of geometric intuition [bodduluri1993design]. Although analytical derivation of precise developable surfaces is mathematically interesting, they can not handle arbitrary inputs with which only approximate results can be obtained.
Numerical methods for developable surface design have been widely studied in recent years. The goal is to construct a quasi-developable surface that meets application error tolerance. Tang et al. propose an interactive design method and decrease the degree of the constraint equations by introducing auxiliary variables [Tang2016Interactive]. Pérez et al. study the application of quasi-developable B-spline surfaces in ship-hull design and use the multi-conic method to modify the given curves to improve surface developability [PEREZ2007853]. A method has been proposed for computing a developable surface bounded by curves perturbed from original design curves, but the resulting surface is not a B-spline surface [bo2019multi]. Bo et al. propose a method for constructing a quasi-developable B-spline surface between given B-spline curves, and the resulting surface is strictly interpolated to given boundary curves [bo2020asdevelopable]. As we have explained, the design method based on boundary curves is not a reasonable way to control the terminal rulings of the surface.
Ruling lines are considered as design guidance in some works. Chalfant et al. propose a quasi-developable design method based on given boundary curves and boundary rulings, and discuss its applications in ship-hull surface modeling [Julie1998Design]. Park at el. give the direction of a set of ruling lines and two endpoints of the boundary curve, and obtain developable surfaces by optimal control [Junghyun2002Design]. Fernandez-Jambrina designs a developable surface by giving one boundary curve and two boundary rulings, but the endpoints of the boundary rulings cannot be specified by the designers [FernB]. Caton et al. improve the method in [FernB] by the degree elevation operation and provide the ability of choosing both endpoints of the rulings [Alicia2015Interpolation]. These methods generate accurate developable surface and have strict requirements on boundary conditions. Therefore, these methods are not suitable for solving practical problems where the input curves or ruling lines may not contribute to a precise developable surface. In this paper, we propose an intuitive design method based on numerical computation for constructing a quasi-developable surface by specifying some ruling lines freely in space as control tools.
3 Developable surface design through control rulings
According to the above discussions, the problem we study in this paper is defined as follows. Given in space a set of ordered line segments , where are the two endpoints of , the objective is to construct a developable B-spline surface , defined by
are B-spline curves with the clamped knot vectors.is required to take the line segments , as its ruling lines as much as possible with the first and the last line segments being its terminal rulings, i.e., to satisfy and . In this way, the input line segments serve as tools for controlling the shape of the developable surface and are thus called the control rulings.
Fitting to the rulings can be expressed by fitting the curves and to the corresponding endpoints of the rulings, i.e., to satisfy and , where are the parametrization of the input ruling lines. It is clear that if we have and , the ruling line on the surface is identical to the input control ruling connecting and , denoted by . Therefore, the problem of developable surface generation is transformed into the problem of curve fitting, namely, finding two B-spline curves , fitting the data points and , respectively. Different to a general curve fitting problem, the curves and are interrelated in developable surface modeling by the following constraints.
Constraint 1: The data points and correspond to the same parameter value .
Constraint 2: The surface bounded by and , defined by Eq.(1), achieves a high degree of developability.
Because there are generally no accurate developable surfaces interpolating arbitrary line sequences, we have to make some relaxations and compute developable surfaces numerically. Moreover, the input ruling lines do not have equal significance in design. In our method, we treat the first and the last control rulings as strict interpolation constraints and the interior control rulings as soft constraints. In the following, we propose some specific design manners using the control rulings and discuss the capabilities of various design ways.
3.1 Developable surface from control rulings and one fixed boundary curve
In some applications, one of the boundary curves of the developable surface is given and fixed. Given additionally a set of straight line segments serving as ruling lines, we need to construct the other boundary curve to obtain the developable surface . This problem is specifically defined as follows. Suppose we are given a boundary curve, denoted by , and a sequence of line segments emanating from points on . The problem of developable surface computation from the control rulings can be described by the constraints: the line segments are identical to , , with indicating the terminal interpolation constraint and being the data points in space.
As we have explained, this ruling fitting problem can be solved by curve fitting with particular constraints. The unknown variables are the control parameters of whose endpoints are fixed to be and . The objective is to make approximate with which the surface defined in Eq.(1) achieves a high degree of developability.
For arbitrary input rulings, there is generally no developable surface exactly interpolating the rulings. However, a B-spline surface with a large number of control points can provide enough degrees of freedom to construct a quasi-developable surface. We formulate this problem as a numerical optimization problem and obtain the resulting curve and the developable surface by minimizing an objective function evaluating surface developability.
A prime-dual formulation of developability. The surface (Eq.(1)) bounded by and being a developable surface requires to meet the following constraints [Tang2016Interactive].
where is a B-spline function representing the normal vector field of the surface. Using the normal vector function comprehensively combines the prime and dual form of the developable surface, which leads to a stable convergence with our optimization. Moreover, the normal function helps to regularize the surface owing to the inherent smoothness of a B-spline curve. However, using a B-spline function for the normal vector field also means that all normal vectors are linear combinations of the same set of control points and this reduces the degrees of freedom for improving surface developability. Therefore, we adopt independent normal vectors at a set of samplings instead of a smooth B-spline function for the normal vector field. We thus introduce the following term to evaluate surface developability.
where are sampling parameters. are the normal vectors corresponding to which are also the variables in optimization, in addition to the interior control points of .
Solution space regularization. The number of variables in optimization depends on the number of samplings on the surface. In fact, the number of samplings should be large enough to regularize the surface and it depends on the number of control points and the degree of the surface. In practice, to provide enough flexibility for maximizing surface developability, we use a large number of samplings (100). Existing works have shown that when there are many variables in an optimization problem, the shape of the solution space is often not good, which makes the optimization process unstable and even leads to an unsatisfactory solution in some cases. This problem can be solved by introducing a regularization term to control the shape of the solution space. Therefore, we introduce two shape-control terms as follows.
where controls the smoothness of the curve and controls the width variation of the surface. Our experiments have shown that with these regularization terms the optimization is more stable and the shape of the resulting surface is superior to those without regularization (refer to the experiments shown in Fig. 3 and Fig. 4).
Interior shape control of the surface. In order to control the interior shape of the surface, we introduce the following term, taking the effects of internal control rulings into account.
where the parameter is equal to the parameter of the other endpoint of the control ruling line . This comes from Constraint 1 which requires two endpoints of one ruling have the same parameter. Finally, we arrive at the following objective function.
By solving the minimization problem , we can obtain a quasi-developable surface. The variables in the optimization are the independent normal vectors and the interior control points of curve (the first and last control points remain fixed). This provides enough degrees of freedom, which enhances the ability to find a locally optimal quasi-developable surface. The algorithm is presented in Algorithm 1.
With the output of the algorithm , together with the fixed end points and , a B-spline surface defined by Eq.(1) is obtained. Note that the normal vectors , are auxiliary variables used for simplifying the developability constraint equations and are not used for generating the resulting developable surface. In the following, we show some experimental results.
Experiments (K=1). In some applications, the first and the last ruling lines of the surface are specified as hard constraints, in addition to a fixed boundary curve . When there are no more control rulings other than the first and the last one, this case is characterized by in our definition. The first and last ruling line can be defined by two additional data points and in space and are denoted by and . This design model is conceptually similar to the design of a Hermite curve by specifying the end data points and associated tangent vectors. In this case, the energy term and the width variation control term have an important effect on controlling the interior shape of the resulting surface which is illustrated by the experimental results in Fig. 3 and Fig. 4. The developability of the surface is evaluated by the warp angle between the normal vectors at the both ends of the ruling line. represent the maximum and average warp angle among a set of sampling rulings, respectively.
Observing the results in Fig. 3, we find that the energy term can efficiently control the shape of the boundary curve and avoid self-overlapping of the surface, without sacrificing the developability of the surface. In fact, the resulting surface achieves a higher degree of developability than the result without the energy term. This is because the energy term leads to a finer shape of the solution space and consequentially a stable optimization process which avoids unsatisfactory local minimums. Observing the results shown in Fig. 4, the width variation control term makes the resulting surface have a smooth variation of the width of ruling lines with improved surface developability, owing to the same reason as the energy term .
Experiments (K>1). When , the interior rulings other than the end ones can be used to control the interior shape of the resulting surface. The experiments in Fig. 5 show the difference between the results with and without the constraint of interior rulings. The upper boundary curve in Fig. 5(a) is the given curve which is fixed. Fig. 5(b) and Fig. 5(c) show the developable surfaces without and with the constraint of interior rulings, respectively. The color coding in Fig. 5 indicates the magnitude of the warp angle. We also measure the distances from the endpoints of rulings to the final boundary curve. represent the maximum and average distance, respectively. We conclude from the experimental results that the resulting surface can be controlled by interior rulings without giving up much developability. However, the constraint of interior rulings indeed has negative effect on surface developability. This means the hard interpolations to the boundary curve and two terminal rulings greatly restrict the solution space of developable surfaces. In Sec. 3.2 we will discuss the method relaxing the constraints of boundary conditions.
3.2 Developable surface design from control rulings with two relaxed boundary curves
In many applications (such as ship-hull design), the input curves are not required to be the exact boundary curves of the resulting surface. A distance tolerance is often allowed whose value depends on specific applications. Therefore, a method which can find a surface with a high degree of developability with its boundary curves perturbed from the original design curves are more practically useful. We devise such a method in which both boundary curves are variables in optimization and solve for perturbed boundary curves to define a developable surface. The problem is described as follows.
Given a set of ordered rulings , are the given data points. The objective is to construct the curves fitting the data points , respectively, satisfying so that the surface (Eq.(1)) bounded by and achieves a high degree of developability.
Viewing the two curves and as variables in optimization provides more degrees of freedom and increases the possibility of finding a surface with a higher degree of developability. As we have explained, this problem of fitting developable surfaces to a set of ruling lines is equivalent to fitting two curves to the data points and , with certain constraints. It is well-known that the parametrization of the data points is a key issue in curve fitting. In our specific problem, data parametrization is even more tricky than in ordinary curve fitting because the data points and are required to have the same parameter, which is a requirement from Constraint 1. Therefore, the key issue is how to find the optimal parameter value for and . We propose an algorithm which solves for and and the parameters through an iterative process. The main steps of this algorithm are described as follows.
Step1. Parametrize the rulings to make the data points and have the same parameter values , respectively. We employ the centripedal parametrization to the data points and , and obtain the parameter values and , respectively. Then the average parameter value of the two endpoints of a ruling is used for both endpoints. Precisely, is used as the parameter value for both and .
Step2. Construct the interpolation B-spline curves and satisfying and . Generally, the surface bounded by and as defined by Eq.(1) is not a developable surface. Therefore, we need to to improve the developability of the surface by relaxing the constraint of curve interpolation. We define the following closeness term.
Note that the end control points of both curves are fixed and are not treated as variables in optimization, to confirm hard interpolation to the specified terminal rulings. Then we define the following objective function.
Step3. Solve the minimization problem , we can obtain two updated curves and (the same symbols are used for the curves before and after update).
In order to provide a termination criterion of the iterative process, we evaluate the developability of the surface bounded by the updated curves and . If the developability requirements are met, or the improvement of developability by this iteration is ignorable, the algorithm can be stopped; Otherwise goto Step3.
Step4. Update the parameter values of the data points. For the data point , a parameter value is obtained which is the parameter of the nearest point (foot point) on . Similarly, for the data point , the parameter value of the nearest point (foot point) on is computed. For foot point computation, a Newton-like iteration method is used [Hoschek1993]. Then the value is used as the updated parameter for both and . Goto Step3.
The algorithm is summarized in Algorithm 2. The output of the algorithm combined with the fixed end points give us the control points of and , i.e., ,…, and ,…,. The surface is thus obtained by the definition of Eq.(1), bounded by and .
An experiment is shown in Fig. 6. Given a set of rulings (Fig. 6(a)), we first construct two initial interpolation B-spline curves , and the initial interpolation surface (Fig. 6(b)). Fig. 6(c) shows the result boundary curves and the resulting surface. Fig. 6(e) and Fig. 6(f) shows the color coding of warp angles of the surfaces in Fig. 6(b) and Fig. 6(c), respectively. Within the range of unit 1, the maximum distance from given data points to the resulting curves and is 0.025, and the average distance is 0.0089, indicating that the surface achieves high degrees of both developability and approximation to input ruling lines. Fig. 6(d) shows the difference between initial interpolation curves (dotted curves) and result boundary curves (solid curves). The convergence behaviour of our algorithm is shown in Fig. 6(g)(h). It can be seen that the algorithm in Sec.3.2 has high convergence rate and high stability.
3.3 Designing the control rulings
The algorithms proposed in this work depend on a sequence of line segments serving as the control rulings of the surface. Basically, the lines can be specified in space freely by the designer. However, with arbitrary line segments in space, the distance between the control lines and the resulting developable surface may be large which is not desired in an interactive design process.
To reduce the difference between the original design rulings and the resulting surface, while still achieving a high degree of developability, additional constraints in the design of input rulings should be considered. It has been shown that planar quadrilateral strips can be viewed as the discretization of smooth developable surfaces [Liu2006Geometric]. Therefore, in the design process of the control rulings, we require that every pair of adjacent rulings be coplanar. Precisely, if the given rulings are denoted by , we require the quadrilaterals bounded by two adjacent rulings , to be coplanar.
In Fig. 7(a)-(c), the control rulings are designed arbitrarily and we observe that it is not always guaranteed that a resulting surface with a high degree of developability can meet the original design intention tightly. That is, a compromise between the original design intention of shape and a high degree of developability should be made.
Fig. 7(d)-(f) give the experimental results with the original control rulings similar to the one in Fig. 7(a), which however satisfy the coplanarity constraint. From the experimental results in Fig. 7(d)-(f), we observe that we can obtain a developable surface better meeting the original design intention with input lines forming a planar quadrilateral strip. The developability of the resulting surface based on coplanar lines is about an order of magnitude better than the results of non-planar lines with even better approximation quality to the control rulings.
From these experiments, we can suggest the following procedural way of control ruling design. Once the th control ruling is ready, the th ruling should be defined on the plane containing . Note that although this process depends on a sequence of planes, this method is essentially different to the existing methods working with planes tangent to the developable surface in that our method works directly in the design space which has more geometric intuition than working in the dual space. This algorithm of control ruling design is presented in Algorithm 3.
4 Method evaluation and discussions
4.1 The flexibility of our method in choosing the terminal ruling lines
Fig. 8 shows the experiments with one fixed boundary curve, using the algorithm in Sec. 3.1 to construct a developable surface. The inputs include two data points and one fixed boundary curve which is the same as the fixed curve in Fig. 4. The goal is to construct a B-spline boundary curve whose endpoints are and the surface bounded by and as defined by Eq.(1) achieves a high degree of developability. The boundary curve are initialized by transforming the control points of by rotation, translation and scaling operations such that the end points of the transformed curve coincide with and . Fig. 5(b), Fig. 8 show surfaces of large developability with the same fixed boundary curve and various positions of and . The results demonstrate that by fixing one boundary curve and two terminal rulings, there are still enough degrees of freedom for generating a high degree of developability.
When more flexible control over the interior shape of the surface is desired, the interior rulings should be taken into consideration. This is characterized in our definition by and . The experiment in Fig. 5 has shown that when interior control rulings are considered, fixing one boundary curve does not provide enough flexibility. In this case, the boundary curve interpolation constraints should be relaxed to provide a high possibility to find a surface with a high degree of developability, which is realized using the algorithm in Sec. 3.2.
4.2 The superiority of relaxing both boundary curves
In Fig. 9, we give a comparison between the performance of fixing one boundary curve (the algorithm in Sec. 3.1) and relaxing both curves (the algorithm in Sec. 3.2), with the same input control rulings, the same weight settings and termination conditions of the optimization. The results are shown in Fig. 9. For this experiment, adjacent lines in the input are coplanar as shown in Fig. 9(a). Using the given weight setting, the algorithm fixing one boundary curve makes only a small improvement on surface developability. The surface developability can be further improved by decreasing , but it will also decrease the fitting quality. For the same input and same initial curves, the method relaxing both boundary curves enables the resulting surface to achieve a much higher degree of developability. Moreover, the distance errors between the resulting surface and the given rulings are also smaller.
This experiment demonstrates that a tiny perturbation of control rulings provides a larger solution space of developable surfaces than fixing boundary curves. The optimization algorithm is thus able to find a much larger developability of the resulting surface without sacrificing the fidelity to original design intention. Since in real applications, a particular level of distance errors of the surface is always reasonable, the proposed method of curve perturbation is a practically useful method for generating developable surfaces with a high degree of developability from control rulings.
The algorithm in Sec. 3.1 is also useful when fixing one boundary of the surface is a hard rule, especially when there is no strict constraint introduced by interior rulings. We have shown that with the first and last rulings being strict interpolation rule, we can still achieve a high degree of developability and the surface shape can be nicely controlled. This has been demonstrated by the results in in Fig. 3,Fig. 4, Fig. 5, Fig. 8.
The minimization of the nonlinear functions Eq.(5) and Eq.(7) are solved with the L-BFGS algorithm [ZHENG2012448]. The weight of each term in the objective function is determined empirically. To unify the weight settings in the objective function, all models are scaled into a unit box.
The developability is evaluated by the warp angle between the normal vectors at both ends of the rulings. The warp angle associated with the sampling parameter is defined by the angle between the vectors and where is the normal vector at . Existing works have shown that the practical requirements of ship-hull design can be met when the maximum warp angle is less than 6 degree.
The proposed algorithms have been implemented with C++ on the Microsoft Visual Studio platform. All experiments are performed on a laptop with 2.6 GHz Intel Core i7 CPU and 16 GB 2400 MHz DDR4 memory. The running time ranges from 16s to 60s for the experiments shown in this paper.
An intuitive design method is proposed to construct a quasi-developable B-spline surface through a sequence of specified rulings. Similar to the concept of curve design by fitting to control points, the surface is controlled by a given set of rulings. Our algorithms have a distinct advantage over existing algorithms in that the terminal ruling lines of the resulting developable surface are specifically defined. The disadvantage of our method is that the weight settings of each term in the objective function cannot be obtained automatically. An issue worthy of further investigation is the design of the initial rulings which has an obvious impact on the degree of the developability of the resulting surface. We are also interested in the application of our methods to CNC flank milling since the developable surfaces can be flank-milled using conical or cylindrical cutting tools without manufacturing error.
This work has been supported by the National Natural Science Foundation of China (61672187) and the Key Research and Development Project of Shandong Province (2018GGX103038).