This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Developable B-spline surface generation from control rulings

Zixuan Hu Pengbo Bo [email protected] School of Computer Science and Technology, Harbin Institute of Technology, Weihai 264209, China
Abstract

An intuitive design method is proposed for generating developable ruled B-spline surfaces from a sequence of straight line segments indicating the surface shape. The first and last line segments are enforced to be the head and tail ruling lines of the resulting surface while the interior lines are required to approximate rulings on the resulting surface as much as possible. This manner of developable surface design is conceptually similar to the popular way of the freeform curve and surface design in the CAD community, observing that a developable ruled surface is a single parameter family of straight lines. This new design mode of the developable surface also provides more flexibility than the widely employed way of developable surface design from two boundary curves of the surface. The problem is treated by numerical optimization methods with which a particular level of distance error is allowed. We thus provide an effective tool for creating surfaces with a high degree of developability when the input control rulings do not lie in exact developable surfaces. We consider this ability as the superiority over analytical methods in that it can deal with arbitrary design inputs and find practically useful results.

keywords:
Developable surface , Interactive design , B-spline surface , Numerical optimization
\contourlength

0.7pt

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 C0(t)C_{0}(t) and C1(T)C_{1}(T), tt, T[0,1]T\in[0,1], serving as surface boundaries and a (quasi-) developable surface bounded by C0(t)C_{0}(t) and C1(T)C_{1}(T) (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. C0(0)C1(0)¯\overline{C_{0}(0)C_{1}(0)} and C0(1)C1(1)¯\overline{C_{0}(1)C_{1}(1)}) 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.

\begin{overpic}[width=346.89731pt]{img/perturb/1_a} \end{overpic} (a) Refer to caption (b) Refer to caption (c)

Figure 1: Developable surface modeling based on given design curves. (a)(b) Two different perspectives of two initial design curves (thick curves) and the extension line of one design curve (thin curve). (c) Developable surface bounded by two given curves. The red line is the trimming line, and the blue dotted line is one of the rulings to be trimmed.

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.

\begin{overpic}[width=390.25534pt]{img/perturb/blade1} \end{overpic} (a) \begin{overpic}[width=390.25534pt]{img/perturb/blade2} \end{overpic} (b)

Figure 2: The ruling lines on a blade surface. (a) The edge of the blade aligns with the ruling lines of the ruled surface. (b) The edge of the blade becomes the trimming line (the red line) of the ruled surface.

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.

  • 1.

    Our method works directly in the design space by specifying a sequence of control rulings and is thus geometrically intuitive for developable surface design.

  • 2.

    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.

  • 3.

    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 G1G^{1} continuity ChenQuasi while quadrilateral Bézier patches are used for constructing smooth surfaces with G2G^{2} 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 Li=(Qi,Pi),i=0,,KL_{i}=(Q_{i},P_{i}),i=0,...,K, where Qi,PiQ_{i},P_{i} are the two endpoints of LiL_{i}, the objective is to construct a developable B-spline surface SS, defined by

S(t,s)=C0(t)(1s)+C1(t)s,t,s[0,1]S(t,s)=C_{0}(t)(1-s)+C_{1}(t)s,\quad t,s\in[0,1] (1)

where C0(t)C_{0}(t) and C1(t)C_{1}(t) are B-spline curves with the clamped knot vectors. SS is required to take the line segments LiL_{i}, i=0,,Ki=0,...,K as its ruling lines as much as possible with the first and the last line segments being its terminal rulings, i.e., to satisfy S(0,s)=L0S(0,s)=L_{0} and S(1,s)=LKS(1,s)=L_{K}. 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 SS to the rulings Li,i=0,,KL_{i},i=0,...,K can be expressed by fitting the curves C0(t)C_{0}(t) and C1(t)C_{1}(t) to the corresponding endpoints of the rulings, i.e., to satisfy C0(ti)=QiC_{0}(t_{i})=Q_{i} and C1(ti)=Pi,i=0,,KC_{1}(t_{i})=P_{i},i=0,...,K, where tit_{i} are the parametrization of the input ruling lines. It is clear that if we have C0(ti)=QiC_{0}(t_{i})=Q_{i} and C1(ti)=PiC_{1}(t_{i})=P_{i}, the ruling line S(ti,s)S(t_{i},s) on the surface is identical to the input control ruling connecting QiQ_{i} and PiP_{i}, denoted by QiPi¯\overline{Q_{i}P_{i}}. Therefore, the problem of developable surface generation is transformed into the problem of curve fitting, namely, finding two B-spline curves C0(t)C_{0}(t), C1(t)C_{1}(t) fitting the data points QiQ_{i} and Pi,i=0,,KP_{i},i=0,...,K, respectively. Different to a general curve fitting problem, the curves C0(t)C_{0}(t) and C1(t)C_{1}(t) are interrelated in developable surface modeling by the following constraints.

  • 1.

    Constraint 1: The data points QiQ_{i} and PiP_{i} correspond to the same parameter value tit_{i}.

  • 2.

    Constraint 2: The surface SS bounded by C0(t)C_{0}(t) and C1(t)C_{1}(t), 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 SS. This problem is specifically defined as follows. Suppose we are given a boundary curve, denoted by C0(t),t[0,1]C_{0}(t),t\in[0,1], and a sequence of line segments Li(i=0,,K)L_{i}(i=0,...,K) emanating from points on C0(t)C_{0}(t). The problem of developable surface computation from the control rulings can be described by the constraints: the line segments LiL_{i} are identical to C0(ti)Pi¯\overline{C_{0}(t_{i})P_{i}}, i=0,,Ki=0,...,K, with t0=0,tK=1t_{0}=0,t_{K}=1 indicating the terminal interpolation constraint and PiP_{i} 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 C1(t)C_{1}(t) whose endpoints are fixed to be P0P_{0} and PKP_{K}. The objective is to make C1(t)C_{1}(t) approximate Pi,i=1,,K1P_{i},i=1,...,K-1 with which the surface SS 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 C1(t)C_{1}(t) and the developable surface SS by minimizing an objective function evaluating surface developability.

A prime-dual formulation of developability. The surface SS (Eq.(1)) bounded by C0(t)C_{0}(t) and C1(t)C_{1}(t) being a developable surface requires SS to meet the following constraints Tang2016Interactive .

{C0(t)N(t)=0C1(t)N(t)=0(C0(t)C1(t))N(t)=0\left\{\begin{array}[]{lr}C_{0}^{{}^{\prime}}(t)\cdot N(t)=0&\\ C_{1}^{{}^{\prime}}(t)\cdot N(t)=0&\\ (C_{0}(t)-C_{1}(t))\cdot N(t)=0&\end{array}\right.

where N(t)N(t) 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 N(t)N(t) 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 NiN_{i} 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.

FDevk=0M(C0(tk)Nk)2+(C1(tk)Nk)2+((C0(tk)C1(tk))Nk)2=0\displaystyle F_{Dev}\equiv\sum_{k=0...M}(C_{0}^{{}^{\prime}}(t_{k})\cdot N_{k})^{2}+(C_{1}^{{}^{\prime}}(t_{k})\cdot N_{k})^{2}+((C_{0}(t_{k})-C_{1}(t_{k}))\cdot N_{k})^{2}=0 (2)

where tkt_{k} are sampling parameters. NkN_{k} are the normal vectors corresponding to tkt_{k} which are also the variables in optimization, in addition to the interior control points of C1(t)C_{1}(t).

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.

FEnergyC1=01C1′′(t)2𝑑t\displaystyle F_{EnergyC_{1}}=\int_{0}^{1}\|C_{1}^{{}^{\prime\prime}}(t)\|^{2}dt (3)
FWidth=j=0M1(C0(tj)C1(tj)2C0(tj+1)C1(tj+1)2)2\displaystyle F_{Width}=\sum_{j=0...M-1}(\|C_{0}(t_{j})-C_{1}(t_{j})\|^{2}-\|C_{0}(t_{j+1})-C_{1}(t_{j+1})\|^{2})^{2} (4)

where FEnergyC1F_{EnergyC_{1}} controls the smoothness of the curve C1(t)C_{1}(t) and FWidthF_{Width} 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).

\begin{overpic}[width=303.53267pt]{img/perturb/2_a} \put(55.0,60.0){$C_{0}(t)$} \put(20.0,1.0){$P_{0}$} \put(80.0,25.0){$P_{1}$} \end{overpic} (a) Refer to caption (b)

Figure 3: The effect of the energy term FEnergyF_{Energy}, λWidth=0\lambda_{Width}=0. (a) λEnergy=0.001\lambda_{Energy}=0.001, (βMax,βAve)(\beta_{Max},\beta_{Ave})=(1.82,0.51); (b) λEnergy=0\lambda_{Energy}=0, (βMax,βAve)(\beta_{Max},\beta_{Ave})=(5.24,0.48).

\begin{overpic}[width=433.62pt]{img/perturb/3_a} \put(55.0,60.0){$C_{0}(t)$} \put(7.0,5.0){$P_{0}$} \put(90.0,5.0){$P_{1}$} \end{overpic} (a) Refer to caption (b) \begin{overpic}[width=433.62pt]{img/perturb/3_c} \end{overpic} (c) Refer to caption (d)

Figure 4: The effect of the width variation control term FWidthF_{Width}, λEnergy=0.001\lambda_{Energy}=0.001. (a) λWidth=0.00001\lambda_{Width}=0.00001, (βMax,βAve)(\beta_{Max},\beta_{Ave})=(2.88,0.65); (c) λWidth=0\lambda_{Width}=0, (βMax,βAve)(\beta_{Max},\beta_{Ave})=(4.63,0.73). (b),(d) are the top view of (a),(c) respectively.

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.

FInterior=i=1K1C1(ti)Pi2\displaystyle F_{Interior}=\sum_{i=1...K-1}\|C_{1}(t_{i})-P_{i}\|^{2}

where the parameter tit_{i} is equal to the parameter of the other endpoint of the control ruling line Li=C0(ti)Pi¯L_{i}=\overline{C_{0}(t_{i})P_{i}}. This comes from Constraint 1 which requires two endpoints of one ruling have the same parameter. Finally, we arrive at the following objective function.

F1=FDev+λEnergyFEnergy+λWidthFWidth+λInteriorFInteriorF_{1}=F_{Dev}+\lambda_{Energy}F_{Energy}+\lambda_{Width}F_{Width}+\lambda_{Interior}F_{Interior} (5)

By solving the minimization problem F1minF_{1}\rightarrow min, we can obtain a quasi-developable surface. The variables in the optimization are the independent normal vectors Nk,k=0,,MN_{k},k=0,...,M and the interior control points of curve C1(t)C_{1}(t) (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.

Algorithm 1 Developable surface computation from a sequence of control rulings and a fixed boundary curve.
1:The sequence of control rulings Li=(Qi,Pi),i=0,,KL_{i}=(Q_{i},P_{i}),i=0,...,K; The curve C0(t)C_{0}(t) which interpolate the data points Qi,i=0,,KQ_{i},i=0,...,K. The weights λEnergy\lambda_{Energy},λWidth\lambda_{Width} and λInterior\lambda_{Interior}. The sampling number for the normal vectors MM.
2:The interior control points of C1(t)C_{1}(t): CP11,,CPK11CP^{1}_{1},...,CP^{1}_{K-1}.
3:For each data point Pi,i=0,,KP_{i},i=0,...,K, the parameter of the data point QiQ_{i} on C0(t)C_{0}(t) is used for its parametrization.
4:A B-spline curve C1(t)C_{1}(t) satisfying C1(ti)=Pi,i=0,,KC_{1}(t_{i})=P_{i},i=0,...,K is computed by solving the linear system of equations.
5:A set of normal vectors NkN_{k},k=0,,Mk=0,...,M are computed on the B-spline surface SS bounded by C0(t)C_{0}(t) and C1(t)C_{1}(t), defined by Eq.(1).
6:Solve the minimization of Eq.(5) for the control points of C1(t)C_{1}(t) and the normal vectors Nj,j=0,,MN_{j},j=0,...,M.
7:return CP11,,CPK11CP^{1}_{1},...,CP^{1}_{K-1}.

With the output of the algorithm CP11,,CPK11CP^{1}_{1},...,CP^{1}_{K-1}, together with the fixed end points CP01CP^{1}_{0} and CPK1CP^{1}_{K}, a B-spline surface defined by Eq.(1) is obtained. Note that the normal vectors NjN_{j},j=0,,Mj=0,...,M 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 C0(t)C_{0}(t). When there are no more control rulings other than the first and the last one, this case is characterized by K=1K=1 in our definition. The first and last ruling line can be defined by two additional data points P0P_{0} and P1P_{1} in space and are denoted by C0(0)P0¯\overline{C_{0}(0)P_{0}} and C0(1)P1¯\overline{C_{0}(1)P_{1}}. 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 FEnergyC1F_{EnergyC_{1}} and the width variation control term FWidthF_{Width} 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. βMax,βAve\beta_{Max},\beta_{Ave} 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 FEnergyF_{Energy} 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 FEnergyF_{Energy} 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 FWidthF_{Width} 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 FEnergyF_{Energy}.

Experiments (K>1). When K>1K\textgreater 1, 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 C0(t)C_{0}(t) 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. DMax,DAveD_{Max},D_{Ave} 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 C0(t)C_{0}(t) 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.

\begin{overpic}[width=433.62pt]{img/perturb/4_a} \put(32.0,68.0){$C_{0}(t)$} \put(10.0,4.0){$P_{0}$} \put(88.0,24.0){$P_{K}$} \end{overpic} (a) Refer to caption (b) Refer to caption (c)

Figure 5: The effect of FInteriorF_{Interior}, λEnergy=0.001,λWidth=0.00001\lambda_{Energy}=0.001,\lambda_{Width}=0.00001.(a) Input curve and given rulings. (b)(d) Result without the constraint of interior rulings. λInterior=0\lambda_{Interior}=0, (βMax,βAve)(\beta_{Max},\beta_{Ave})=(4.14,1.12), (DMax,DAve)(D_{Max},D_{Ave})=(0.198,0.099); (c)(e) Result with the constraint of interior rulings. λInterior=1\lambda_{Interior}=1, (βMax,βAve)(\beta_{Max},\beta_{Ave})=(7.94,1.37), (DMax,DAve)(D_{Max},D_{Ave})=(0.085,0.032).

3.2 Developable surface design from control rulings with two relaxed boundary curves

\begin{overpic}[width=433.62pt]{img/perturb/5_a} \end{overpic} (a) Refer to caption (b) Refer to caption (c)

\begin{overpic}[width=433.62pt]{img/perturb/5_d} \end{overpic} (d) \begin{overpic}[width=433.62pt]{img/perturb/5_e} \put(92.0,7.0){$0$} \put(92.0,29.0){$10$} \put(92.0,54.0){$20$} \put(92.0,73.0){$30$} \end{overpic} (e) \begin{overpic}[width=433.62pt]{img/perturb/5_f} \put(95.0,3.0){$0$} \put(95.0,20.0){$1$} \put(95.0,38.0){$2$} \put(95.0,55.0){$3$} \put(95.0,70.0){$4$} \end{overpic} (f)

Figure 6: Developable surface from control rulings with both curves relaxed. λEnergy=0.00001,λWidth=0.00001,λIntepolate=1.\lambda_{Energy}=0.00001,\lambda_{Width}=0.00001,\lambda_{Intepolate}=1. (a) Input control rulings forming a quad strip. (b)(e) Initial interpolation surface, (βMax,βAve)(\beta_{Max},\beta_{Ave})=(28.68,15.88); (c)(f) Resulting surface. (βMax,βAve)(\beta_{Max},\beta_{Ave})=(3.91,1.27), (DMax,DAve)(D_{Max},D_{Ave})=(0.025,0.0089). (d) The initial boundary curves (dotted curves) and the result boundary curves (solid curves) are shown together for comparison. The convergence behaviour of the algorithm is shown in (g) and (h). (g) Maximum warp angle vs. iteration. (h) Average warp angle vs. iteration.

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 Li=(Qi,Pi)(i=0,,K)L_{i}=(Q_{i},P_{i})(i=0,...,K), Qi,PiQ_{i},P_{i} are the given data points. The objective is to construct the curves C0(t),C1(t)C_{0}(t),C_{1}(t) fitting the data points Qi,Pi,(i=0,,K)Q_{i},P_{i},(i=0,...,K), respectively, satisfying C0(0)=Q0,C1(0)=P0,C0(1)=QK,C1(1)=PKC_{0}(0)=Q_{0},C_{1}(0)=P_{0},C_{0}(1)=Q_{K},C_{1}(1)=P_{K} so that the surface SS (Eq.(1)) bounded by C0(t)C_{0}(t) and C1(t)C_{1}(t) achieves a high degree of developability.

Viewing the two curves C0(t)C_{0}(t) and C1(t)C_{1}(t) 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 QiQ_{i} and PiP_{i}, i=0,,Ki=0,...,K 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 QiQ_{i} and PiP_{i} 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 tit_{i} for QiQ_{i} and PiP_{i}. We propose an algorithm which solves for C0(t)C_{0}(t) and C1(t)C_{1}(t) and the parameters tit_{i} through an iterative process. The main steps of this algorithm are described as follows.

  1. 1.

    Step1. Parametrize the rulings to make the data points Qi,i=0,,KQ_{i},i=0,...,K and Pi,i=0,,KP_{i},i=0,...,K have the same parameter values t0,,tKt_{0},...,t_{K}, respectively. We employ the centripedal parametrization to the data points Qi,i=0,,KQ_{i},i=0,...,K and Pi,i=0,,KP_{i},i=0,...,K, and obtain the parameter values u0,,uKu_{0},...,u_{K} and v0,,vKv_{0},...,v_{K}, respectively. Then the average parameter value of the two endpoints of a ruling is used for both endpoints. Precisely, ti=12(ui+vi)t_{i}=\frac{1}{2}(u_{i}+v_{i}) is used as the parameter value for both QiQ_{i} and PiP_{i}.

  2. 2.

    Step2. Construct the interpolation B-spline curves C0~(t)\widetilde{C_{0}}(t) and C1~(t)\widetilde{C_{1}}(t) satisfying C0~(tj)=Qj\widetilde{C_{0}}(t_{j})=Q_{j} and C1~(tj)=Pj,j=0,,K\widetilde{C_{1}}(t_{j})=P_{j},j=0,...,K. Generally, the surface SS bounded by C0~(t)\widetilde{C_{0}}(t) and C1~(t)\widetilde{C_{1}}(t) 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.

    FCloseness=i=1K1(C1(ti)Pi2+C0(ti)Qi))2F_{Closeness}=\sum_{i=1...K-1}(\|C_{1}(t_{i})-P_{i}\|^{2}+\|C_{0}(t_{i})-Q_{i})\|)^{2} (6)

    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.

    F2=FDev+λClosenessFCloseness+λEnergy(FEnergyC0+FEnergyC1)+λWidthFWidth\displaystyle F_{2}=F_{Dev}+\lambda_{Closeness}F_{Closeness}+\lambda_{Energy}(F_{EnergyC_{0}}+F_{EnergyC_{1}})+\lambda_{Width}F_{Width} (7)

    where FEnergyC0F_{EnergyC_{0}} is an energy term for C0(t)C_{0}(t) whose definition is samilar to the definition of FEnergyC1F_{EnergyC_{1}} (Eq.(3)). For the definition of FWidthF_{Width}, refer to Eq.(4).

  3. 3.

    Step3. Solve the minimization problem F2minF_{2}\rightarrow min, we can obtain two updated curves C0~(t)\widetilde{C_{0}}(t) and C1~(t)\widetilde{C_{1}}(t) (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 SS bounded by the updated curves C0~(t)\widetilde{C_{0}}(t) and C1~(t)\widetilde{C_{1}}(t). If the developability requirements are met, or the improvement of developability by this iteration is ignorable, the algorithm can be stopped; Otherwise goto Step3.

  4. 4.

    Step4. Update the parameter values of the data points. For the data point QjQ_{j}, a parameter value uju_{j} is obtained which is the parameter of the nearest point (foot point) on C0~(t)\widetilde{C_{0}}(t). Similarly, for the data point PjP_{j}, the parameter value vjv_{j} of the nearest point (foot point) on C1~(t)\widetilde{C_{1}}(t) is computed. For foot point computation, a Newton-like iteration method is used Hoschek1993 . Then the value tj=12(uj+vj)t_{j}=\frac{1}{2}(u_{j}+v_{j}) is used as the updated parameter for both QjQ_{j} and PjP_{j}. Goto Step3.

Algorithm 2 Developable surface computation from a sequence of control rulings.
1:The sequence of control rulings Li=(Qi,Pi),i=0,,KL_{i}=(Q_{i},P_{i}),i=0,...,K; The weights λCloseness\lambda_{Closeness},λEnergy\lambda_{Energy} and λWidth\lambda_{Width}. The sampling number for the normal vectors MM.
2:The interior control points of C0(t)C_{0}(t): CP10,,CPK10CP^{0}_{1},...,CP^{0}_{K-1}. The interior control points of C1(t)C_{1}(t): CP11,,CPK11CP^{1}_{1},...,CP^{1}_{K-1}.
3:Compute the parametrization for the data points Qi,i=0,,KQ_{i},i=0,...,K, and Pi,i=0,,MP_{i},i=0,...,M, which are tit_{i},i=0,,Ki=0,...,K.
4:Two B-spline curves are computed as the initialization by solving the linear systems of equations C0(ti)=Qi,i=0,,KC_{0}(t_{i})=Q_{i},i=0,...,K and C1(ti)=Pi,i=0,,KC_{1}(t_{i})=P_{i},i=0,...,K, respectively.
5:repeat
6:     Solve the minimization of Eq.(7) for the control points of C0(t)C_{0}(t) and C1(t)C_{1}(t), and the normal vectors Nj,j=0,,MN_{j},j=0,...,M.
7:     Compute the parameters tit_{i}, i=0,,Ki=0,...,K of the data points QiQ_{i} and PiP_{i}, i=0,,Ki=0,...,K by projecting the data points to the corresponding curves C0(t)C_{0}(t) and C1(t)C_{1}(t), respectively.
8:until The improvement of the surface is smaller than a predefined tolerance.
9:return CP10,,CPK10CP^{0}_{1},...,CP^{0}_{K-1} and CP11,,CPK11CP^{1}_{1},...,CP^{1}_{K-1}.

The algorithm is summarized in Algorithm 2. The output of the algorithm combined with the fixed end points give us the control points of C0(t)C_{0}(t) and C1(t)C_{1}(t), i.e., CP00CP^{0}_{0},…,CPK0CP^{0}_{K} and CP01CP^{1}_{0},…,CPK1CP^{1}_{K}. The surface SS is thus obtained by the definition of Eq.(1), bounded by C0(t)C_{0}(t) and C1(t)C_{1}(t).

An experiment is shown in Fig. 6. Given a set of rulings (Fig. 6(a)), we first construct two initial interpolation B-spline curves C0~(t)\widetilde{C_{0}}(t), C1~(t)\widetilde{C_{1}}(t) and the initial interpolation surface SS (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 C0(t)C_{0}(t) and C1(t)C_{1}(t) 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 Li=(Pi,Qi),i=0,,KL_{i}=(P_{i},Q_{i}),i=0,...,K, we require the quadrilaterals PiQiQi+1Pi+1P_{i}Q_{i}Q_{i+1}P_{i+1} bounded by two adjacent rulings LiL_{i},Li+1L_{i+1} to be coplanar.

\begin{overpic}[width=433.62pt]{img/perturb/9_a} \end{overpic} (a) Refer to caption (b) Refer to caption (c)

\begin{overpic}[width=433.62pt]{img/perturb/10_a} \end{overpic} (d) Refer to caption (e) Refer to caption (f)

Figure 7: The first row shows the experiments from control rulings without adjacent coplanarity. λEnergy\lambda_{Energy}=0.00001, λWidth\lambda_{Width}=0.00001, λCloseness\lambda_{Closeness}=0.1. (a) The designed control rulings. (b) Initial interpolation surface (βMax,βAve)(\beta_{Max},\beta_{Ave})=(41.10,25.26); (c) Resulting surface (βMax,βAve)(\beta_{Max},\beta_{Ave})=(8.98,1.67), (DMax,DAve)(D_{Max},D_{Ave})=(0.045,0.022). The second row shows the experiment from control rulings with adjacent coplanarity. λEnergy\lambda_{Energy}=0.00001, λWidth\lambda_{Width}=0.00001, λCloseness\lambda_{Closeness}=0.1. (d) The designed control rulings. (e) Initial interpolation surface (βMax,βAve)(\beta_{Max},\beta_{Ave})=(9.07,2.51); (d) Resulting surface (βMax,βAve)(\beta_{Max},\beta_{Ave})=(0.75,0.19), (DMax,DAve)(D_{Max},D_{Ave})=(0.014,0.006).

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 iith control ruling LiL_{i} is ready, the (i+1)(i+1)th ruling should be defined on the plane containing LiL_{i}. 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.

Algorithm 3 The design process of the sequence of control rulings.
1:A target shape in the mind of the designer.
2:The sequence of straight line segments in space Li=(Qi,Pi)L_{i}=(Q_{i},P_{i}), i=0,,Ki=0,...,K.
3:The first line segment L0L_{0} is defined by interactively specifying two data points Q0Q_{0} and P0P_{0} in space.
4:i=0;
5:repeat
6:     A plane Ωi\Omega_{i} containing LiL_{i} is defined by specifying a line segment Wi=(Ai,Bi)W_{i}=(A_{i},B_{i}) in space where AiA_{i} is a data point on LiL_{i}.
7:     The (i+1)(i+1)th line segment is defined by specifying two data points on the plane Ωi\Omega_{i}.
8:     i++;
9:until The current line segment is specified as the last line segment.
10:return Li=(Qi,Pi)L_{i}=(Q_{i},P_{i}), i=0,,Ki=0,...,K.

4 Method evaluation and discussions

\begin{overpic}[width=433.62pt]{img/perturb/7_a} \put(32.0,45.0){$C_{0}(t)$} \put(15.0,12.0){$P_{0}$} \put(50.0,10.0){$P_{1}$} \put(98.0,0.0){$0$} \put(98.0,10.0){$10$} \put(98.0,20.0){$20$} \end{overpic} (a) \begin{overpic}[width=433.62pt]{img/perturb/7_b} \put(99.0,0.0){$0$} \put(99.0,7.0){$1$} \put(99.0,14.0){$2$} \put(99.0,21.0){$3$} \end{overpic} (b)

\begin{overpic}[width=433.62pt]{img/perturb/8_a} \put(34.0,45.0){$C_{0}(t)$} \put(13.0,25.0){$P_{0}$} \put(50.0,10.0){$P_{1}$} \put(98.0,0.0){$0$} \put(98.0,11.0){$50$} \put(98.0,19.0){$90$} \end{overpic} (c) \begin{overpic}[width=433.62pt]{img/perturb/8_b} \put(98.0,0.0){$0$} \put(98.0,5.0){$1$} \put(98.0,10.0){$2$} \put(98.0,15.0){$3$} \put(98.0,20.0){$4$} \end{overpic} (d)

Figure 8: The first row shows the experiment with one fixed boundary curve. λEnergy\lambda_{Energy}=0.001, λWidth\lambda_{Width}=0.00001. (a) Initial surface (βMax,βAve)(\beta_{Max},\beta_{Ave})=(20.63,4.86); (b) Resulting surface (βMax,βAve)(\beta_{Max},\beta_{Ave})=(2.88,0.70). The second row shows the experiment with one fixed boundary curve. λEnergy\lambda_{Energy}=0.001, λWidth\lambda_{Width}=0.00001. (a) Initial surface (βMax,βAve)(\beta_{Max},\beta_{Ave})=(90.00,16.37); (b) Resulting surface (βMax,βAve)(\beta_{Max},\beta_{Ave})=(3.95,0.89). The color coding of each surface is based on the range of its own maximum and minimum warp angle.

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 P0,P1{P_{0},P_{1}} and one fixed boundary curve C0(t)C_{0}(t) which is the same as the fixed curve in Fig. 4. The goal is to construct a B-spline boundary curve C1(t)C_{1}(t) whose endpoints are P0,P1{P_{0},P_{1}} and the surface SS bounded by C0(t)C_{0}(t) and C1(t)C_{1}(t) as defined by Eq.(1) achieves a high degree of developability. The boundary curve C1(t)C_{1}(t) are initialized by transforming the control points of C0(t)C_{0}(t) by rotation, translation and scaling operations such that the end points of the transformed curve coincide with P0P_{0} and P1P_{1}. Fig. 5(b), Fig. 8 show surfaces of large developability with the same fixed boundary curve C0(t)C_{0}(t) and various positions of P0P_{0} and P1P_{1}. 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 K>1K>1 and λCloseness>0\lambda_{Closeness}>0. 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 λInterior\lambda_{Interior}, 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.

\begin{overpic}[width=433.62pt]{img/perturb/11_a} \end{overpic} (a) Refer to caption (b) \begin{overpic}[width=433.62pt]{img/perturb/11_d} \end{overpic} (c)

Refer to caption (d) \begin{overpic}[width=433.62pt]{img/perturb/11_g} \end{overpic} (e) Refer to caption (f)

Refer to caption (g)

Figure 9: Comparison between the algorithms in Sec. 3.1 and Sec. 3.2. λEnergy=0.00001,λWidth=0.00001,λInterior/λCloseness=1\lambda_{Energy}=0.00001,\lambda_{Width}=0.00001,\lambda_{Interior}/\lambda_{Closeness}=1. (a) Input control rulings. (b) Initial surface (βMax,βAve)(\beta_{Max},\beta_{Ave})=(67.52,16.81). (c) Resulting surface using the algorithm in Sec. 3.1 with the surface in (b) as an initialization. (βMax,βAve)(\beta_{Max},\beta_{Ave})=(53.74,9.54), (DMax,DAve)(D_{Max},D_{Ave})=(0.014,0.006). (d) Comparison between the initial boundary curves in (b) (dotted curve below) and the resulting boundary curves in (c) (solid curve below). (e) Resulting surface using the algorithm in Sec. 3.2 with the surface in (b) as an initialization. (βMax,βAve)(\beta_{Max},\beta_{Ave})=(1.28,0.28), (DMax,DAve)(D_{Max},D_{Ave})=(0.012,0.005). (f) Comparison between initial boundary curves in (b) (dotted curve) and result boundary curves in (e) (solid curve). (g) Comparison between resulting boundary curves in (c) (dotted curves) and (e) (solid curves).

4.3 Implementations

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 tit_{i} is defined by the angle between the vectors N(ti,0)N(t_{i},0) and N(ti,1)N(t_{i},1) where N(t,s)N(t,s) is the normal vector at S(t,s)S(t,s). 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.

5 Conclusions

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.

Acknowledgements

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).

References

  • [1] G. Aumann. A simple algorithm for designing developable bezier surfaces. Computer Aided Geometric Design, 20(8-9):601–619, 2003.
  • [2] G. Aumann. Degree elevation and developable bezier surfaces. Computer Aided Geometric Design, 21(7):661–670, 2004.
  • [3] Pengbo Bo, Yujian Zheng, Dianhui Chu, and Caiming Zhang. As-developable-as-possible b-spline surface interpolation to b-spline curves. Computer Aided Geometric Design, Accepted, 2020.
  • [4] Pengbo Bo, Yujian Zheng, Xiaohong Jia, and Caiming Zhang. Multi-strip smooth developable surfaces from sparse design curves. Computer-Aided Design, 114:1–12, 2019.
  • [5] RMC Bodduluri and Bahram Ravani. Design of developable surfaces using duality between plane and point geometries. Computer-aided design, 25(10):621–632, 1993.
  • [6] Amaia Calleja, Pengbo Bo, Haizea González, Michael Barton, and Luis Norberto López de Lacalle. Highly accurate 5-axis flank cnc machining with conical tools. The International Journal of Advanced Manufacturing Technology, 97:1605–1615, 2018.
  • [7] Alicia Caton and Leonardo Fernandez-Jambrina. Interpolation of a spline developable surface between a curve and two rulings. Frontiers of Information Technology & Electronic Engineering, 16(3):173–190, 2015.
  • [8] Julie S Chalfant and Takashi Maekawa. Design for manufacturing using b-spline developable surfaces. Journal of ship research, 42(3):207–215, 5 1998.
  • [9] H-Y Chen, I-K Lee, Stefan Leopoldseder, Helmut Pottmann, Thomas Randrup, and Johannes Wallner. On surface approximation using developable surfaces. Graphical Models and Image Processing, 61(2):110–124, 1999.
  • [10] Ming Chen and Kai Tang. G2 quasi-developable bezier surface interpolation of two space curves. Computer-Aided Design, 45(11):1365–1377, 2013.
  • [11] Ming Chen and Kai Tang. Quasi-developable surface modeling of contours with curved triangular patches. Computers & Graphics, 37(7):851–861, 2013.
  • [12] Chih-Hsing Chu. Geometric design of uniform developable b-spline surfaces: constraints and degrees of freedom. Journal of Industrial and Production Engineering, 30:291–295, 2013.
  • [13] Chih-Hsing Chu and Jang-Ting Chen. Tool path planning for five-axis flank milling with developable surface approximation. The International Journal of Advanced Manufacturing Technology, 29:707–713, 2005.
  • [14] Elliot English and Robert Bridson. Animating developable surfaces using nonconforming elements. ACM Trans. Graph., 27(3):66:1–66:5, August 2008.
  • [15] L. Fernandez-Jambrina. B-spline control nets for developable surfaces. Computer Aided Geometric Design, 24(4):189–199, 2017.
  • [16] Josef Hoschek and Dieter Lasser. Fundamentals of computer-aided geometric design. Peters, Wellesley, Mass, 1993.
  • [17] Gang Hu and Junli Wu. Generalized quartic h-bezier curves: Construction and application to developable surfaces. Advances in Engineering Software, 138:1–15, 2019.
  • [18] Caiyun Li and Chungang Zhu. Designing developable c-bezier surface with shape parameters. Mathematics, 8(3):402, 2020.
  • [19] Yang Liu, Helmut Pottmann, Johannes Wallner, Yong-Liang Yang, and Wenping Wang. Geometric modeling with conical meshes and developable surfaces. ACM Trans. Graph., 25(3):681–689, July 2006.
  • [20] Yong-Jin Liu, Kai Tang, Wen-Yong Gong, and Tie-Ru Wu. Industrial design using interpolatory discrete developable surfaces. Comput. Aided Des., 43(9):1089–1098, September 2011.
  • [21] Chen Ming, Tang Kai, and Ajay Joneja. Design of developable interpolating strips. Computer-Aided Design and Applications, 8(4):557–570, 2011.
  • [22] Rolf Oetter, Christopher D Barry, Bryan Duffty, and Joel Welter. Block construction of small ships and boats through use of developable panels. Journal of ship production, 18(2):65–72, 2002.
  • [23] F. C. Park, Junghyun Yu, Changmook Chun, and Bahram Ravani. Design of developable surfaces using optimal control. Journal of Zhejiang University, 124(4):1199–1204, 2002.
  • [24] F. Pérez and J.A. Suárez. Quasi-developable b-spline surfaces in ship hull design. Computer-Aided Design, 39(10):853–862, 2007.
  • [25] Helmut Pottmann and Gerald Farin. Developable rational bezier and b-spline surfaces. Computer Aided Geometric Design, 12(5):513–531, 1995.
  • [26] Helmut Pottmann, Alexander Schiftner, Pengbo Bo, Heinz Schmiedhofer, Wenping Wang, Niccolo Baldassini, and Johannes Wallner. Freeform surfaces from single curved panels. ACM Trans. Graph., 27(3):76:1–76:10, August 2008.
  • [27] Justin Solomon, Etienne Vouga, Max Wardetzky, and Eitan Grinspun. Flexible developable surfaces. Comput. Graph. Forum, 31(5):1567–1576, August 2012.
  • [28] Jacob Subag and Gershon Elber. Piecewise developable surface approximation of general nurbs surfaces, with global error bounds. In International Conference on Geometric Modeling and Processing, pages 143–156, Berlin, Heidelberg, 2006. Springer.
  • [29] Chengcheng Tang, Pengbo Bo, Johannes Wallner, and Helmut Pottmann. Interactive design of developable surfaces. ACM Transactions on Graphics (TOG), 35(2):12, 2016.
  • [30] Kai Tang and Ming Chen. Quasi-developable mesh surface interpolation via mesh deformation. IEEE Transactions on Visualization & Computer Graphics, 15(3):518–528, 2009.
  • [31] Kai Tang and Charlie CL Wang. Modeling developable folds on a strip. Journal of Computing and Information Science in Engineering, 5(1):35–47, 2005.
  • [32] Charlie C Wang and Kai Tang. Optimal boundary triangulations of an interpolating ruled surface. Journal of Computing and Information Science in Engineering, 5(4):291–301, 2005.
  • [33] Wenni Zheng, Pengbo Bo, Yang Liu, and Wenping Wang. Fast b-spline curve fitting by l-bfgs. Computer Aided Geometric Design, 29(7):448–462, 2012.