Bézier developable surfaces

# Bézier developable surfaces

L. Fernández-Jambrina Departamento de Matemática e Informática Aplicadas a las Ingenierías Civil y Naval
Arco de la Victoria 4
###### Abstract

In this paper we address the issue of designing developable surfaces with Bézier patches. We show that developable surfaces with a polynomial edge of regression are the set of developable surfaces which can be constructed with Aumann’s algorithm. We also obtain the set of polynomial developable surfaces which can be constructed using general polynomial curves. The conclusions can be extended to spline surfaces as well.

###### keywords:
developable surface, Bézier, blossom, edge of regression

## 1 Introduction

Developable surfaces are intrinsically plane surfaces, that is, they are isometric to regions of the plane struik (). Hence, lenghts, angles and areas of the plane are preserved on transforming them into developable surfaces. For this reason, they are much appreciated in the industry. Naval industry, for instance, uses plane sheets of steel and it is less expensive to fold them than to modify their curvature by other procedures involving application of heat. Textile industry uses plane sheets of cloth. And in architecture there are constructions based on developable surfaces architecture (). In fact, small deviations from developability can be accepted depending on the material arribas (), allowing the normal to a ruled surface to vary slightly along each ruling.

However, it is not easy to deal with developable surfaces within the framework of CAGD, since the developability condition for a NURBS surface is non-linear in the vertices of its control net.

There have been several attempts to cope with this problem from different points of view.

One approach consists in restricting to classes of surfaces and their boundary curves. For instance, in lang () the developability condition is solved for low degrees of rational curves. In aumann0 () the boundary curves are taken to be parallel and of degree three and four. Interpolating developable surfaces are constructed for them which are free of singularities. This procedure is extended to other degrees in frey (). In maekawa () Bézier such developable surfaces are linked with class of differentiability .

Projective geometry provides an elegant approach to this problem ravani (). The dual space is the set of planes in space and one can view a developable surface as the one-parameter family of the tangent planes to its rulings. The developability condition is simple in this framework pottmann-farin (). This has motivated algorithms for constructing developable surfaces based on their tangent planes wallner ().

Another approach is the contruction of approximately developable surfaces which may be useful for the industry chalfant (). One way to accomplish this is the use of spline cones leopoldseder (). In arribas () nearly developable spline surfaces are used for naval architecture.

Another approach is based on the de Casteljau algorithm. In sequin () conditions are provided for control points of a Bézier surface to be developable, restricting its application to degrees two and three and to cylindrical and conical surfaces of arbitrary degree. Also grounded on the de Casteljau algorithm, aumann () constructs generic Bézier developable surfaces through a given curve. In order to solve interpolation problems, degree-elevation is applied to the previous family of developable surfaces in aumann1 (). The extension to spline developable surfaces, based on the De Boor algorithm, is provided in leonardo-developable (); leonardo-elevation ().

In this paper we would like to show to what extent Aumann’s family of Bézier developable surfaces is general. We show that developable surfaces with a polynomial edge of regression are the ones which can be constructed with Aumann’s algorithm. Furthermore, we would like to know if there are other constructions of Bézier developable surfaces, based on general Bézier curves, which allow free parameters for design. We find a family of surfaces in addition to the ones available with Aumann’s algorithm.

The paper is organised in the following way: In Section 2 we review the main properties of developable surfaces in differential geometry. In Section 3 we interpret the developability condition for Bézier surfaces, producing an straightforward method for exporting results from differential geometry to CAGD. An algebraic parametric equation for the edge of regression of a Bézier developable surface is obtained. In Section 4 we review transformations which can be performed on patches of developable surfaces. Several families of Bézier developable surfaces are studied in Section 5. In particular, we characterise Aumann’s family in terms of their edge of regression. Finally, we study polynomial developable surfaces using differential equations in order to produce families of surfaces with free parameters based on general polynomial curves.

The results in this paper are obtained for polynomial developable surfaces. Since spline developable surfaces are characterised in a similar fashion leonardo-developable (), the results are valid for the spline case too.

## 2 Developable surfaces

A ruled surface bounded by two curves parametrised by , is the surface formed by the segments, named rulings, linking points with the same parameter on both curves. They can be parametrised as

 b(u,v)=(1−v)c(u)+vd(u),u,v∈[0,1]. (1)

Reparametrisation of the curves allows for different ruled surfaces. Hence our starting point are the parametrised curves, fixing the parametrisation from the beginning. A non-polynomial reparametrisation would cast the parametrised surface out of the Bézier formalism.

The tangent plane to the ruled surface usually varies from one point to another along a ruling. Developable surfaces struik () are ruled surfaces for which the tangent plane is constant along each ruling. This is accomplished if the vectors , and are coplanary for all values of .

This is easily seen, since at the tangent plane is spanned by and and at it is spanned by and . If these tangent planes are the same, it is the same for all points on a ruling.

Hence, for developable surfaces, the vectors , and are linearly dependent. For non-cylindrical surfaces we get

 c′(u)=λ(u)v(u)+μ(u)v′(u). (2)

Accordingly, there are several types of developable surfaces:

1. Planar surfaces: Plane regions.

2. Cylinders: Developable surfaces with parallel rulings.

3. Cones: Developable surfaces for which all rulings intersect at a point named vertex.

4. Tangent surfaces: Developable surfaces spanned by the tangent lines to a curve, named edge of regression.

Equation (2) can be simplified by choosing a different curve on the developable surface, ,

 r′(u)=(λ(u)−μ′(u))v(u). (3)

Except for the case or , i.e., except for the case that describes the vertex of a cone, Equation (3) describes the tangent surface to , which is the edge of regression of the developable surface. We see that tangent surfaces are the general case of developable surfaces. In most of this paper it will be the only case that we consider.

## 3 Bézier developable patches

The parametrisation of a Bézier curve of degree and control polygon can be contructed using the de Casteljau algorithm farin () in iterations,

 c1)i(u) = (1−u)ci+uci+1, i=0,…,n−1, cr)i(u) = (1−u)cr−1)i(u)+ucr−1)i+1(u) i=0,…,n−r, c(u) := cn)0(u)=(1−u)cn−1)0(u)+ucn−1)1(u). (4)

The algorithm also provides the derivative of the curve as the difference of the two points in the last-but-one iteration,

 c′(u)=n(cn−1)1(u)−cn−1)0(u)). (5)

If we consider now two Bézier curves and of degree as boundary curves of a ruled surface patch, the developability condition of coplanarity of vectors , , is equivalent to the condition of coplanarity of points , , , . See Fig 1.

This coplanarity condition can be written in terms of two functions , , such that

 (1−Λ(u))cn−1)0(u)+Λ(u)cn−1)1(u)=(1−M(u))dn−1)0(u)+M(u)dn−1)1(u),

except for some cases of cones.

The use of blossoms

 c1)i[u1] := c1)i(u1)=(1−u1)ci+u1ci+1,i=0,…,n−1, cr)i[u1,…,ur] := (1−ur)cr−1)i[u1,…,ur−1]+urcr−1)i+1[u1,…,ur−1], c[u1,…,un] := cn)0[u1,…,un] ,i=0,…,n−r,r=1,…,n, (6)

to write the last-but-one vertices of the de Casteljau algorithm,

 cn−1)0(u)=c[u,0] ,cn−1)1(u)=c[u,1] ,

allow a simpler expression for the coplanarity condition leonardo-triangle ():

###### Theorem 1

Two Bézier curves , of degree and vertices , are the boundary curves of a generic developable surface patch if and only if their respective blossoms are related by

 c[u,Λ(u)]=d[u,M(u)].

This construction of developable surfaces has nice features, which are based on the use of blossoms. Algorithms grounded on blossoms are compatible with this construction.

These functions , are closely related to the ones in (2). If we write that equation in terms of blossoms for curves of degree ,

 0 = c′(u)−λ(u)v(u)−μ(u)v′(u) = n(c[u,1]−c[u,0]) − λ(u)(d[u]−c[u]) − nμ(u)(d[u,1]−d[u,0] − c[u,1]+c[u,0]),

and using the de Casteljau algorithm (3) for expanding the expressions for and , we may collect the terms,

 c[u,1](n+uλ(u)+nμ(u)) + c[u,0]((1−u)λ(u)−n−nμ(u)) = d[u,1](nμ(u)+uλ(u)) + d[u,0]((1−u)λ(u)−nμ(u)),

so that we may simplify the blossoms using affine combinations,

 c[u,n+nμ(u)+uλ(u)λ(u)]=d[u,nμ(u)+uλ(u)λ(u)].

If we compare this expression with Theorem 1, we get:

###### Proposition 1

A developable surface parametrised as , with , where , are curves of degree , satisfying Theorem 1 for some rational functions , has functions , in (2) related by

 Λ(u)=n(μ(u)+1)+uλ(u)λ(u), M(u)=nμ(u)+uλ(u)λ(u), (7)
 λ(u)=nΛ(u)−M(u),μ(u)=M(u)−uΛ(u)−M(u). (8)

In this sense we may view Theorem 1 as a way of writing the differential equation (2) for polynomial curves in an algebraic fashion. This provides an interpretation for , and it is useful to exchange results between the general and the polynomial case.

We may also characterise the edge of regression of a Bézier developable surface in terms of the functions , .

The edge of regression of a developable surface is formed by the set of points where the surface is singular, two-sheeted more precisely, as we see in Fig. 2. It is therefore of great importance for design to keep it under control in order to produce smooth surfaces.

We may locate it by searching the points where the parametrisation of the developable surface is degenerate because its partial derivatives are parallel,

 bu(u,v)=(1−v)c′(u)+vd′(u) ,bv(u,v)=d(u)−c(u) .

Since

 bu(u,v) = n(1−v)(cn−1)1(u)−cn−1)0(u)) + nv(dn−1)1(u)−dn−1)0(u)), bv(u,v) = (1−u){dn−1)0(u)−cn−1)0(u)} + u{dn−1)1(u)−cn−1)1(u)},

parallelism between these two vectors implies the existence of a factor such that ,

 (1−u+v−1α)cn−1)0(u)+(1−vα+u)cn−1)1(u) = (1−u+vα)dn−1)0(u)+(u−vα)dn−1)1(u)

On the other hand the developability condition imposes another barycentric combination,

 (1−Λ(u))cn−1)0(u)+Λ(u)cn−1)1(u)=(1−M(u))dn−1)0(u)+M(u)dn−1)1(u),

which allows us to read the unknown

 Λ(u)=1−vα(u,v)+u,M(u)=u−vα(u,v),

and write down the parametric equations for the edge of regression:

###### Proposition 2

A developable surface parametrised by where , are polynomial curves of degree with blossoms related by for some functions , has as edge of regression the line given by the parametric equation

 v=u−M(u)Λ(u)−M(u). (9)

This is interesting, since it allows control of the position of the edge of regression in order to keep our patch away from it, preventing the rulings from intersecting it and ruining the surface patch.

In the constant case aumann () it implies that the edge of regression is a line of degree on the developable surface, unless equals .

The equation for the edge of regression is algebraic and simple enough to simplify the task of avoiding this singular line when designing with developable surfaces.

## 4 Operations with Bézier developable surfaces

The functions and depend on the patch for the developable surface. A developable surface has different functions and when considering patches with different boundary curves.

There are a number of simple operations that we may perform on developable surfaces in order to modify the coordinate patch:

• Restriction of parameter to : If we restrict the parametrisation of the developable surface through (Fig. 3), the new boundary curves are

and their blossoms are related by Theorem 1 with new functions , ,

 ~c[u,~Λ(u)]=~d[u,~M(u)],

which in terms of the blossoms of and ,

 c[u,(1−a)~Λ(u)+(b−1)~M(u)b−a]=d[u,b~M(u)−a~Λ(u)b−a],

allows reading the functions , after comparing with the developability condition in Theorem 1,

 Λ(u)=(1−a)~Λ(u)+(b−1)~M(u)b−a,M(u)=b~M(u)−a~Λ(u)b−a,

which provide the new functions , ,

 ~Λ(u)=bΛ(u)+(1−b)M(u),~M(u)=aΛ(u)+(1−a)M(u). (10)
• Restriction of parameter to : This is equivalent to an affine change of parameter , (Fig. 4). Since blossoms are multi-affine, this applies directly to the relation between the functions , and the new ones,

 Λ(u)=(1−~Λ(u))a+~Λ(u)b ,M(u)=(1−~M(u))a+~M(u)b,
 ~Λ(u)=Λ(u)−ab−a ,~M(u)=M(u)−ab−a . (11)
• Degree elevation: We know farin () that if we elevate the degree of a curve from to , the degree-elevated blossom of degree can be written in terms of the original blossom,

 c1[u1,…,un+1]=c[u1,…,un]+⋯+c[u2,…,un+1]n+1.

If we consider a developable surface spanned by two curves of degree , with functions , and elevate the degree of both curves to (See Fig. 5), their blossoms have to satisfy the developability condition with new functions , ,

 c1[u,Λ1(u)]=d1[u,M1(u)],

which may be written again in terms of the original blossoms using barycentric combinations,

 c1[u,Λ1(u)] = nc[u,Λ1(u)]+c[u]n+1 = c[u,nΛ1(u)+un+1].

The degree-elevated developability condition just states then

 c[u,nΛ1(u)+un+1]=d[u,nM1(u)+un+1] ,

and, compared with the former condition in Theorem 1, allows us to express the new functions , in terms of the previous , ,

 Λ1(u)=(n+1)Λ(u)−un,M1(u) = (n+1)M(u)−un. (12)

This result could be derived in a different fashion. Since in equation (2) coefficients , are not altered by formal degree elevation,

 λ(u) = n+1Λ1(u)−M1(u)=nΛ(u)−M(u), μ(u) = M1(u)−uΛ1(u)−M1(u)=M(u)−uΛ(u)−M(u),

we can obtain from them the expressions for and .

Repeated degree elevation can be also performed:

###### Proposition 3

A developable surface spanned by two curves , of degree with functions and has functions

 Λm(u) = (n+m)Λ(u)−mun, Mm(u) = (n+m)M(u)−mun, (13)

after formally elevating the degree of the curves to .

• Modification of the length of the rulings: If we rewrite the parametrisation of a ruled surface interpolating two curves , in terms of the direction of the rulings, , we may modify the surface patch (See Fig. 6) by changing the length of the vector through a factor depending on the ruling, ,

 ~b(u,v)=c(u)+vh(u)v(u),

and the edge of the surface patch moves to the curve

 ~d(u)=h(u)d(u)+(1−h(u))c(u) .
 ~Λ(u)=bΛ(u)+(1−b)M(u),~M(u)=aΛ(u)+(1−a)M(u). (14)

This procedure is useful, not only for developable surfaces, but for ruled surfaces in general.

We compare the linear differential equation for the new patch with the original one,

 λv+μv′=c′=~λ~v+~μ~v′=(~λh+~μh′)v+~μhv′,

in order to relate the old coefficients with the new ones,

 λ=~λh+~μh′=nΛ−M,μ=~μh=M−uΛ−M,
 ~λ=hλ−h′μh2=n+m~Λ−~M,~μ=μh=~M−u~Λ−~M,

where we have assumed that is a polynomial factor of degree .

This leads to relations between the functions , of both patches,

 ~Λ(u)=u+(n+m)h2(u)(Λ(u)−M(u))+(n+m)h(u)(M(u)−u)nh(u)−h′(u)(M(u)−u),
 ~M(u)=u+(n+m)h(u)(M(u)−u)nh(u)−h′(u)(M(u)−u),

Obviously, in the case of no enlargement, , the degree elevation formula (12) is recovered. This operation has been used in aumann1 () for modifying developable patches.

• Change of parameter: If we carry out the change of parameter , where is a polynomial function of degree , the degree of a polynomial developable surface through a curve of degree changes from to . The new differential equation for , ,

 d^c(U)dU = h′(U)dc(u)du∣∣∣h(U)=h′(U)(λv+μdvdu)∣∣∣u=h(U) = h′(U)λ(h(U))^v(U)+μ(h(U))d^v(U)dU = ^λ(U)^v(U)+^μ(U)d^v(U)dU,

allows us a relation between the coefficients,

 ^λ(U)=h′(U)λ(h(U)),^μ(U)=μ(h(U)),

which is translated to the functions , ,

 ^Λ(U)=m(Λ(h(U))−h(U))h′(U)+U,
 ^M(U)=m(M(h(U))−h(U))h′(U)+U.

For instance, in the simple case ,

 ^Λ(U)=Λ(Um)Um−1,^M(U)=M(Um)Um−1.

## 5 Some Bézier developable surfaces

### 5.1 Bézier cylinders

The simplest example of developable surfaces are cylinders, for which all the rulings are parallel to a constant vector .

In the Bézier case, if , are the control polygons of the boundary curves, this implies that all vectors , are parallel to (See Fig. 7).

This implies that the differences , must be parallel for all ,

 dn−1)1(u)−cn−1)1(u)=α(u)(dn−1)0(u)−cn−1)0(u)).

In terms of blossoms,

 c[u,1]−α(u)c[u,0]=d[u,1]−α(u)d[u,0],

the property of multi-affinity allows writing it in a compact fashion,

 c[u,Λ(u)]=d[u,Λ(u)],Λ(u)=α(u)α(u)−1,

except for the simplest case , that is, constant , .

Hence, Bézier cylinders are developable surfaces with .

Constructing a cylinder with direction is easy, , where can be any function. If we require the parametrisation to be polynomial of degree in , is a polynomial of degree equal or lower than . We may relate with the function defining the developable surface. Comparing

 d(u)−c(u)=f(u)v,d[u,Λ(u)]=c[u,Λ(u)],

we learn that the polar form of is to fullfil

 f[u,Λ(u)]≡0.

For , the previous condition on the polarisation of reads

 0=f[u,Λ(u)]=a0+n∑i=1ain((n−i)ui+iΛ(u)ui−1),

from which we can read the expression for ,

 Λ(u)=−n−1∑i=0(n−i)aiuin∑i=1iaiui−1.

In particular, for , we get the constant case .

### 5.2 Bézier cones

As we have seen, cones are the subcase of developable surfaces with coefficients , related by . That is, .

The simplest cone patch is the one bounded by a curve with vertex at a point . The rulings have as tangent vector, but we can construct more general patches using , for which

 λ(u)=−f′(u)f(u),μ(u)=1f(u).

If is a curve of degree , is also of degree and except for constant , modification of the patch implies raising its degree,

 Λ(u)=f′(u)u−(n+m)(f(u)+f2(u))f′(u),M(u)=f′(u)u−(n+m)f(u)f′(u),

if is of degree .

The simple case of constant , for which is a scaled copy of is out of this framework.

In the linear case, ,

 Λ(u)=−(n+1)2(au+b)2+nau+(n+1)ba,M(u)=−nau+(n+1)ba.

### 5.3 Tangent surfaces

We start with the simple case of the tangent surface to a curve of degree ,

 b(u,v)=c(u)+vf(u)c′(u),

which is a surface of degree provided that the factor in is linear: .

In this case, and we can read directly the functions , , and hence

 Λ(u)=u+nf(u),M(u)=u.

For the simplest case of we have , . (See Fig. 8).

### 5.4 Case of constant Λ and M

This is the simple case that has been explored in aumann () and extended to spline surfaces in leonardo-developable (). This family has the remarkable property of having linear constraints between the vertices of the cells of the control net for the surface. If , are the control polygons for curves and , Theorem 1

 c[u,Λ]=d[u,M]

implies we have a set of conditions,

 (1−Λ)ci+Λci+1=(1−M)di+Mdi+1, i=0,…,n−1,

which require that the cells of the surface are planar and that the coefficients for the combinations of the vertices are the same for all cells (See Fig. 9 for an example).

The general solution to the linear differential equation (2) for these developable surfaces,

 c′(u)=nΛ−Mv(u)+M−uΛ−Mv′(u),

can be split into the general solution to the homogeneous equation

 nvh(u)+(M−u)v′h(u)=0⇒vh(u)=(M−u)nw,

where is an arbitrary constant vector,

 v(u)=(M−u)nw+vp(u),

and a particular solution of the whole inhomogeneous equation, , which we may choose of degree lower than . Hence, the general case is that of of degree , except for the specific case with .

The edge of regression for such developable surfaces,

 r(u)=c(u)+u−MΛ−M(d(u)−c(u)),

is a polynomial curve with velocity

 r′(u)=n+1Λ−M(d(u)−c(u)),

according to (3).

If is of degree , the edge of regression is of degree . This poses a paradoxical question, since the developable surface of degree in is of degree in as tangent surface to its edge of regression.

In order to explain this issue, we show next that the tangent surface to a polynomial curve of degree can always be parametrised as a surface patch of degree :

We start then with the tangent surface to a curve of degree and define a surface patch on it, limited by two curves,

 c(u)=r(u)+(au+b1)r′(u),d(u)=r(u)+(au+b2)r′(u),

so that we do not change the degree of the generator of the rulings,

 v(u)=d(u)−c(u)=(b2−b1)r′(u).

It is clear that we must have in order to lower the degree of and .

From the differential equation governing this patch,

 c′(u)=λ(u)v(u)+μ(u)v′(u)=(1+a)r′(u)+(au+b1)r′′(u),

we may read the coefficients , ,

 λ(u)=1+ab2−b1,μ(u)=au+b1b2−b1,

and hence the functions for the discrete version of it,

 Λ1(u)=(a(n+2)+1)u+(n+1)b2a+1, M1(u)=(a(n+2)+1)u+(n+1)b1a+1, (15)

considering that and are formally of degree .

Since we want a surface patch of degree , that is, with boundary curves of degree , functions , should correspond to a degree elevation (12). This is accomplished if ,

 Λ1(u)=(n+1)2b2−un,M1(u)=(n+1)2b1−un,

which corresponds to a surface patch bounded by two curves , of degree and constant functions

 Λ=(n+1)b2,M=(n+1)b1.

Hence we have proven that any tangent surface to a polynomial curve of degree can be put in the form of a surface patch of degree with constant values of , .

Since, on the other hand, developable patches with constant , have polynomial edges of regression, we have:

###### Theorem 2

The set of developable surfaces with patches generated by two curves , of degree , with ruling generators also of degree and blossoms related by

 c[u,Λ]=d[u,M],

with constant , is the set of tangent surfaces to polynomial curves of degree .

That is, Aumann’s algorithm allows construction of every developable surface with polynomial edge of regression (See Fig. 10).

Besides the previous case, there are other patches with constant functions , , but these are of degree .

For instance, for in (15), we get

 Λ=(n+2)b2,M=(n+2)b1,

without invoking degree elevation of curves , .

This is a degenerated case for which , are of degree whereas is of degree .

Furthermore, for , we get

 Λ2−m(u)=(n+1)(n+m)b2+(m−2)un+m−1,
 M2−m(u)=(n+1)(n+m)b1+(m−2)un+m−1,

which correspond, after degree elevation from to , to

 Λ=(n+m)b2,M=(n+m)b1.

That is, this surface patch is bounded by two curves of degree , with blossoms related by constant values of and , after formally raising their degree times. Since the generator of the rulings is of degree , this is again a degenerated case.

## 6 General polynomial developable surfaces

According to Equation (9), Bézier developable surfaces have in principle a rational edge of regression.

We have seen that we can use for design Bézier developable surfaces with a polynomial edge of regression. First, we define the surface resorting to Aumann’s construction. Second, we modify the resulting surface patch with the operations described in Section 4. Since Theorem 1 imposes conditions on the control points of the boundary curves, this means that we can prescribe aumann (), for instance, just the control polygon of one of the curves, , and one control point of the other curve, . Prescribing the values of and is equivalent to prescribe in the plane defined by .

However, Bézier developable surfaces with a rational edge of regression fall out of this construction.

It would be interesting to check if there are other constructions of polynomial developable surfaces which can be applied to Bézier curves without imposing restrictions on them and that they leave enough degrees of freedom for design.

With this aim in mind, we write the general solution of the linear differential equation (2) in a convenient form. Since it is linear, we may split it as

 v(u)=vh(u)+vp(u), (16)

where is the general solution of the homogeneous equation and is one particular solution of the inhomogeneous equation.

The general solution of the homogeneous equation is written in the form

 vh(u)=f(u)w,

in terms of an arbitrary constant vector and a function such that

 −