Escolar Documentos
Profissional Documentos
Cultura Documentos
www.elsevier.com/locate/cad
Abstract
When defining a ship hull surface, the main objective is to obtain a faired surface or surfaces that contain some specific points of the hull, that
have been selected in the design process and give the ship its hydrodynamic, stability and other properties. So, the hull surface should be a
compromise between fairness and precision, and this is not and easy task. In this paper, authors present a thorough procedure for automatic
modelling with a fair NURBS surface, having lists of points on the stations of the vessel as initial data. The construction of spline curves, and their
application in the definition of ship lines is reviewed. Approximation of spline curves fitting the data on the stations is made, with special emphasis
on the choice of parametrization, which is relevant to increase the accuracy of the splines. NURBS surfaces modelling the hull of the vessel are
constructed and the fairing process adapted to maintain certain ship characteristics is described.
q 2006 Elsevier Ltd. All rights reserved.
Keywords: Shape generation; Ship surface design; Design validation; Surface fairing
The surfaces that best model the hull of a ship are non-
uniform rational B-spline (NURBS) surfaces. In order to
introduce the notation for the paper, we review briefly how they
Fig. 2. The loftsmans spline. are produced (cf. for instance [36]).
586 F. Perez-Arribas et al. / Computer-Aided Design 38 (2006) 584594
The spline must pass through the first and last point of the
Fig. 5. Control points and knots for a B-spline. data set. Therefore, the first and last control points must be the
endpoints of the original curve and multiplicity three (four,
the list of knots, starting at uK1. These basis functions can be counting the additional knots) will be assigned to the parameter
calculated with the De Boor algorithm of Eq. (3) values corresponding to these points. We may choose the
( remaining knots arbitrarily. They are usually taken equally
0
1 u 2ujK1 ; uj spaced between 0 and 1 or spaced with constant difference
Nj u Z
0 u ;ujK1 ; uj equal to unity,
uK1 Z u0 Z u1 Z u2 Z 3; u3 Z 4; .; um Z um C 1
uKujK1 ujCn Ku
Njn u Z ,NjnK1 u C ,N nK1 u (3)
ujCnK1 KujK1 ujCn Kuj jC1 Z um C 2 Z um C 3 Z m C 1
2. Mean square approximation of stations with a cubic Once the approximating spline has been defined, we have to
spline choose a function that measures the distance between the spline
and the original data. The euclidean distance between actual
As previously mentioned, each station will be given by a list and approximating points may be used to define
of data points of the ship hull or offsets, formed by pC1 points
PiZ(xi, yi), iZ0,.,p (3!m!p), necessarily enclosing the X
p
RZ jsUi KPi j
first and last points of the curve, through which the spline will
iZ0
pass. We wish to find a list of mC1 control points ViZ(Xi, Yi),
iZ0,.,m (3!m!p), which defines the n-degree spline of X
p
parametric equation s(u) which is closer to the data points, Z XUi Kxi 2 C YUi Kyi 2 (4)
iZ0
according to Eq. (1), considering the least square fitting
criteria.
We choose cubic splines (nZ3) and not another degree for
simplicity of their formulation and for their nice properties (i.e.
possibility of an inflection point in each piece, class C2.). We
have also mentioned their similarity with the curves drawn with
the traditional design techniques.
0 1 0 1
where Ui, iZ0,.,p, is the value of the parameter u associated X0 Y0 x0 y0
with the point Pi of the data set. This point is related to a point B C B C
X Z@ A; x Z@ A
in the spline, s(Ui), and therefore R measures the distance
between the spline and the original station. Xm Ym xp yp
Since the first and last control points are known, because
2.2. Choosing a parametrization they are, respectively, equal to the first and last data points, the
first and last columns of this system of equations are moved to
The value of function R will decrease as the spline points the right-hand side. If we write the columns of the matrix B as
approximates to the original data set. For this premise, the
choice of parameters Ui, iZ0,.,p, is determinant. This is Bi Z Ni3 U0 ; .; Ni3 Up
called the choice of parametrization. There are many ways of the matrix of the system of equations is provided by their scalar
choosing the parametrization. The most usual methods are the product, CZ(cij), cijZBi$Bj, i, jZ1,.,mK1,
uniform parametrization, the parametrization by chord length 0 1
and the centripetal parametrization [4,7]. B1 ,B1 / B1 ,BmK1
In a first approximation we will use the centripetal B C
C Z@ 1 A
parametrization to obtain the values Ui, iZ0,.,p, since it
usually provides a nicer fitting for a list of points, BmK1 ,B1 / BmK1 ,BmK1
p This matrix is obviously squared and symmetric and
Ui KUiK1 Z k, jPi KPiK1 j; i Z 1; .; p (5)
therefore the system
where the initial value U0 and k depend on the origin and width 0 1
X1
of the interval of definition of the parameter u, in this case, B C
respectively, 3 and mC1, C,@ A
mK2 XmK1
U0 Z 3; k Z p q 0 1
jP1 KP0 j C/C jPp KPpK1 j X
p
We shall call B the matrix formed by bij Z Nj3 Ui ; iZ has a unique solution. In this case, Gauss method is used to
0; .; p; jZ 0; .; m solve the system of equations of Eq. (7). For most ship hull
0 3 1 forms, stations are modelled with no more than 10 control
N0 U0 / Nm3 U0 points, which can be managed pretty good with Gauss method.
B C
BZB @ 1 C
A
3 3 2.4. Searching for the optimal parametrization
N0 Up / Nm Up
The system of Eq. (6) may be written in matrix form as Although the centripetal parametrization usually provides
t
B BX Z B x t
(7) nice results, it is desirable to obtain the best spline fitting for the
data points of the ship hull with a minimum number of control
t
where B denotes the transposed matrix of B, and X btij Z bij , points. We shall try to optimize the parametrization by an
and x are, respectively, the matrices of coordinates of both the iterative scheme, using as initial seeds the values Ui, iZ0,.,p,
control points and the data points, obtained with the centripetal parametrization.
F. Perez-Arribas et al. / Computer-Aided Design 38 (2006) 584594 589
This is one of the key points of the process, since the quality
of the approximation of the station points obviously determines
the quality of the hull approximating surface.
Once the approximating spline s(u) is obtained with the
values of Ui provided by Eq. (5), we calculate the line
perpendicular to the spline curve from each data point Pi. Such
line cuts the spline at a point Ii, so that distance PiIi is the
minimum distance between the data point and the spline. Then,
we take the value Ui1 of the parameter u corresponding to Ii,
IiZs(Ui1 ), obtaining a new family of parameters, U01 ; .; Up1 .
We calculate now the parametrization for the approximating
spline s1(u) with the new parameters, which provides a better
precision fitting for the list of points Pi. Iterating this process j
times, we get a family Uij of parameters for which the precision
of the associated approximating spline sj(u) is increased several
times compared to the original centripetal parametrization.
Fig. 8. Effect of the parametrization.
In order to calculate the error made in the approximation, we
divide the spline in a large number of points (i.e. 5000) and the computationally intensive and globally weak because problems
distance PiIi is calculated numerically. In Fig. 8, it is shown of convergence due to rough parameter corrections that can be
the effect of the choice of parametrization in the fitting of the encountered. An improvement of Hoscheks method was
points of a station in the bow region, 6.35 m draught proposed by Saux and Wallner [20] in order to get a more
(maximum height of the station) and 1.7 m half breadth robust parametrization optimization step. For ship hull forms,
(maximum width of the station), with a spline of six control that authors have tested, the parametrization method used in
points. In Fig. 8, the parametrization is centripetal, the first step this work does not show convergence problems. Most complex
of approximation. With just one iteration (Fig. 8), the parts of ship can be bulbous bow forms as the one of Fig. 8 and
improvement is hardly perceptible, but in Fig. 8, 20 iterations this forms are correctly solved with the parametrization process
have been carried out, 50 in Fig. 8, and it is shown that the error described in this work.
diminishes on increasing the number of iterations. Now we have all the information needed to write a DXF file
Fig. 8 shows the case of a bulbous bow. In the case of the with the whole wire model of the ship.
examples of Section 4 that correspond to sailing ships, the error
is reached with just two or three iterations and the presented
example of Fig. 8 is more interesting to see the effect of the 2.5. Stations with straight pieces
parametrization.
If a certain tolerance is imposed on the approximation, The use of straight pieces in stations to form the flat bottom
iterations are carried out until the maximal distance PiIi and the flat sides is common in high displacement ships.
becomes less than the tolerance value. If the tolerance cannot Straight pieces are always a problem for modelling with
be attained no matter the number of iterations, the number of NURBS surfaces or splines, since one has to be careful to attain
control points is to be increased. that they are actually straight. If these straight pieces are not
Once this process is carried out on the list of points for every controlled, the ship may have points under the base plane or the
station (among them it is also possible to include the bow form maximum breadth may be surpassed.
profile), we have every station approximated with a cubic The method that has been described for fitting the optimal
spline and also a measure of the approximation error made in parametrization may mimic nicely straight pieces on stations
each of them. Increasing the number of control points may (Fig. 9 left). The approximation is better if more points are
diminish this error. The tolerance can be taken to be zero by introduced on the straight pieces of the station (Fig. 9 right), so
prescribing a number of control points equal to the number of these points will have more influence in the numerical fitting.
data points, though in this case we are not approximating but If one wishes to ensure that straight pieces are actually
interpolating a spline through the data. straight by drawing a station with just one cubic spline, it is
Interpolation is just a special case of approximation, but the necessary to modify the described method by placing four
presented method and the examples of Section 4 uses aligned control points on the chosen straight piece (bottom or
approximation instead interpolation, because this way more side) and if the tangency points with the bottom and the side are
simple curves and surfaces can be obtained, which will known, they must be used as knots for the spline.
facilitate the fairing process. This approximation gives good In Fig. 10, it can be seen the four points aligned with the
enough results for the tolerances normally used in ship design. directions of the bottom and the side of a station. The points T
The iterative process used in the construction of the optimal are the tangency points of the bilge with the mentioned straight
B-spline curve for each station is a technique introduced by pieces.
Hoschek [19]. Using direct least-square minimization over In this way, just one spline is needed to model stations with
control points for each iteration, Hoscheks method remains straight pieces avoiding the modelling of the bottom and the
590 F. Perez-Arribas et al. / Computer-Aided Design 38 (2006) 584594
side with straight lines and defining separately the bilge that is
to be joined to these lines preserving the tangency. This
simplifies the modelization of the ship with surfaces that
support on the splines, which fit the points of the ship offsets.
This is shown in Section 3.
Fig. 9. Fitting stations with straight parts. Fig. 11. Control point net.
F. Perez-Arribas et al. / Computer-Aided Design 38 (2006) 584594 591
Methods for splines curves are usually grounded on knot Therefore, a local fairness measure Lkl at the knot (uk, ul)
removal procedures [811]. However, the translations from could be defined as
curves to surfaces is far from straight forward.
We have chosen [12] for its simplicity and its local Lkl Z jDuuu uk ; vl j2 C jDvvv uk ; vl j2 (10)
character, since it involves just nine control points in each In the calculation of Lkl, 21 different control points take part.
iteration, compared with other alternative fairing algorithms As a whole, we may assign the whole surface s(u, v) a
[13,14,11]. We have modified [12] to maintain certain ship quantity Gs that may be called global fairness measure,
characteristics, as we will explain in the final comments of the X
fairing process. Gs Z Lkl (11)
Faired surfaces can be generated by means of minimization k;l2I
of certain fairness measures, which can be regarded as
Global fairness criterion: A bicubic spline surface s(u, v) is
approximate strain energy [15]. A discussion about the
fairer than another s0(u, v) if Gs!G 0 s.
selection of proper fairness measures can be found in [16]
The strategy that we follow in order to improve the fairness
and [17]. In order to develop a fairing method we need a sort of
of the surface involves two steps:
quantitative measure of the fairness of the surface.
A local fairing iteration at the knot (uk, vl), (k, l)2I, where
4.1.1. Local fairness criterion LklZmax(Lij), that is, at the least fair knot, according to the
A C2 spline surface s(u, v) is fairer in a neighbourhood of the local fairness criterion.
inner knot (uk, vl) if s(u, v) is locally C3 at (uk, vl). Recalculation of Gs and back to the previous step.
Following this criterion, each local fairing iteration consists
on reducing the differences between third-order partial
derivatives at (uk, vl). This means that fairing the whole
surface amounts to reducing the value of the sum of third-order 4.2. Local fairing iteration
discontinuities at all inner knots on the surface.
A spline surface is C3 at (u, v) if and only if every third-order The smoothness of the surface at the knot (uk, ul) changes
partial derivative of s(u, v) is continuous at (u, v). Since spline from C2 to C3, LklZ0, that is, the third-order derivative
surfaces already have the nice property of having continuous discontinuity disappears and the surface is then as smooth as
third order cross partial derivatives, the sum of the differences possible at this knot. The local smoothness measure is zero and
along both u and v directions provides a reasonable measure of therefore
local fairness, according to the fairness criterion. Duuu uk ; vl Z 0; Dvvv uk ; vl Z 0 (12)
We may define discontinuity vectors at each knot,
This system of equations is compatible but undetermined,
v3 s v3 s C Xk X
lK1
since there are more unknowns than equations. We obviously
Duuu uk ; vl Z 3 uK
k ; vl K u k ; v l Z aij ,Vij
vu vu3 intend to modify the surface minimally, that is, the distance
iZkK4 jZlK3
maxjs(u, v)Ks 0 (u, v)j should be minimal. But this condition is
(9) highly non-linear.
In order to linearize the problem, while influencing
v3 s v3 s kK1 X
X l
Dvvv uk ; vl Z u ; vK
K u ; vC
Z bij ,Vij minimally the surface, we modify the position of just nine
k l k l
vv3 vv3 iZkK3 jZlK4 points, instead of 21, keeping fixed the others. That is, we
improve the local fairness measure of each knot (uk, vl)
where generically the coefficients aij, bij (Table 1 and Table 2) modifying the position of the control points Vij, iZkK3, kK2,
depend on the knot (uk, vl). But in the case of equally spaced kK1, jZlK3, lK2, lK1, that affect the most the neighbour-
inner knots, they take the same value for every knot, hood of the knot.
Table 1 In this way, the new position of these nine points will
aij coefficients, iZkK4,.,k, jZlK3,.,lK1 be given by the solution of the system of Eq. (12) that at
aij kK4 kK3 kK2 kK1 k
the same time causes the smallest deformation of the
original surface, that is, the minimum of the vector function
lK3 2/3 2/3
FV 0 ij
K1/6 K1 K1/6
lK2 K2/3 8/3 K4 8/3 K2/3
lK1 K1/6 2/3 K1 2/3 K1/6 kK1 X
X lK1 kK1 X
X lK1
FVij0 Z jVijx KVij0x j2 ; jVijy KVij0y j2 ;
Table 2 iZkK3 jZlK3 iZkK3 jZlK3
bij coefficients, iZkK3,.,kK1, jZlK4,.,l (13)
X
kK1 X
lK1
bij lK4 lK3 lK2 lK1 l jVijz KVij0z j2
iZkK3 jZlK3
kK3 K1/6 2/3 K1 2/3 K1/6
kK2 8/3 8/3
K2/3 K4 K2/3
where Vij is an original control point and V 0 ij is a modified
kK1 K1/6 2/3 K1 2/3 K1/6
one.
592 F. Perez-Arribas et al. / Computer-Aided Design 38 (2006) 584594
This condition replaces the minimal deformation condition c1 Z VkK4;lK3 C 4,VkK4;lK2 C VkK4;lK1 C Vk;lK3 C 4,Vk;lK2
and it has the advantage of producing linear Lagrange equations.
In order to solve this problem, we make use of Lagrange C Vk;lK1
multipliers,
c2 Z VkK3;lK4 C 4,VkK2;lK4 C VkK1;lK4 C VkK3;l C 4,VkK2;l
Q Vij0 ; l; m Z F Vij0 C l,jDuuu uk ; vl j C m,jDvvv uk ; vl j
C VkK1;l
(14)
Once the inverse of the coefficient matrix A is known, the
by imposing that the new function QV 0 ij should meet a
iterations of the fairing process are easy to compute, since they
minimum.
are just a multiplication of the matrix by the independent term
This furnishes the following system of 11 vector equations,
vector. V 0 ij stand for the new position of the control points Vij
vQ after a fairing iteration.
Z0 9 equations
vV 0 ij
4.3. Final comments to the fairing process
vQ
Z0 1 equation (15)
vl This fairing process will not be generally necessary when
vQ the surface has been modelled with a low number of control
Z0 1 equation
vm points, but also with low precision to fit the hull data, since the
approximation procedure has already erased small irregula-
In the case of equally spaced knots, the coefficient matrix of rities that may have arisen in the ship offsets. In Fig. 12, the
the previous system of equations does not depend on the knot. number of control points may be seen, 7!6, and also the
If the differences ukKukK1 and vlKvlK1 are unity. longitudinal distribution of curvature along isoparametric
curves, a usual technique for checking the hull fairness.
0 1
2 0 0 0 0 0 0 0 0 4 4 The problem arises when very high precision is required and
B C a large number of control points are therefore used, even as
B0 2 0 0 0 0 0 0 0 K6 16 C
B C much as data points. In this case, approximation becomes
B C
B0 0 2 0 0 0 0 0 0 4 4 C interpolation. In such cases the surface reproduces precisely the
B C
B0 0 0 2 0 0 0 0 0 16 K6 C ship offsets, but the feared bumps may appear. We may easily
B C
B C detect them plotting the gaussian curvature of the surface or the
B0 0 0 0 2 0 0 0 0 K24 K24 C
B C curvature of isoparametric curves in any CAD application by
B C
B
A ZB0 0 0 0 0 2 0 0 0 16 K6 C importing to an IGES file the data that have been obtained in
C
B C the previous step.
B0 0 0 0 0 0 2 0 0 4 4 C
B C In Fig. 13, a control net of 7!10 points has been used for
B C
B0 0 0 0 0 0 0 2 0 K6 16 C fitting ship offsets following the method described in this work.
B C
B0 0 0 0 0 0 0 0 2 4 4 C A greater number of control points has been used to obtain a
B C
B C better fitting in the stem region. The control net as well as the
B 4 K6 4 16 K24 16 4 K6 4 0 0 C
@ A longitudinal curvature of the isoparametric curves of the
4 16 4 K6 K24 K6 4 16 4 0 0 surface may be seen.
In these cases we use the fairing algorithm that we have
previously described, which is local, that is, it just modifies the
0 0 1 surface where it is needed to be smoothed, altering the
VkK3;lK1 0 1
B 0 C 2,VkK3;lK1 information of a few control points and leaving the rest unaltered.
B VkK2;lK1 C B C
B C B 2,VkK2;lK1 C However, if we do not want to alter the shape of the ship hull
B 0 C B C
B VkK1;lK1 C B C surface at the deck or at the centreline, or the tangent directions
B C B 2,VkK1;lK1 C
B 0 C B C on such edges, we must not allow the fairing algorithm to
B VkK3;lK2 C B 2,V C
B C B kK3;lK2 C modify the position of every control point. These parameters
B 0 C B C
B VkK2;lK2 C B 2,VkK2;lK2 C affects ship seakeeping.
B C B C
B C B C In order to avoid it, we fix the position of the last and of the
A,B V 0 C Z B 2,VkK1;lK2 C
B kK1;lK2 C B C first two longitudinal rows of control points. We thereby
B 0 C B C
B VkK3;lK3 C B 2,VkK3;lK3 C prevent the algorithm from changing them and therefore the
B C B C
B 0 C B C centreline and the bow and stern profiles, as well as the
B VkK2;lK3 C B 2,VkK2;lK3 C
B C B C deadrise angle or starting angle of the stations at the centreline,
B 0 C B 2,V C
BV C B kK1;lK3 C remain unaltered.
B kK1;lK3 C B C
B C @ c1 A In this way, we avoid deforming too much the original hull
@ l A
c2 surface. In order to achieve this, we just restrict the application
m of the fairing algorithm to a set I0 of inner knots, subset of the
F. Perez-Arribas et al. / Computer-Aided Design 38 (2006) 584594 593
original set I, where the last and the first rows of inner knots the surface is not enough faired. A quick view of the curvature
have been excluded. That is, the knots that are included in the of the isoparametric lines is a good indicator.
algorithm and therefore may be faired are (uk, vl) such that k, l
are in I 0 Z{(4, 4); (4, 5);.; (mK2, nK2)}. 5. Discussion
In Fig. 14, the fairing effects may be seen on the hull of
Fig. 13. The curvature of isoparametric curves has improved if In this paper, we have described a full process for
we compare them with the ones that have not been faired. automatically designing faired hull forms directly from the
A last thing to be considered is the required number of data points in ship offsets. The method relies on a nice fitting of
iterations of the fairing algorithm. There is no a priori criterion data points of the stations with an original selection of the
to choose it, since it depends on the considered hull. It is not parametrization, increasing as much as possible the precision
convenient to use a too large number so that the original of the approximating cubic spline curves. The origin of the
surface does not change too much, but it cannot be so low that method is the traditional design with physical splines.
To this aim, an iterative algorithm has been devised for [17] Welch W, Witkin A. Variational surface modelling. Proceedings of
obtaining the values of the optimised parametrization for the SIGGRAPH, Chicago; 1992. p. 2631.
[18] Feng Jin. Directional surface fairing of an elongated shapes. Proceedings
spline curves that approximate the hull data points. Other parts of the FAIRSHAPE conference, 1417 September, Kleinmachnow,
of the process, the approximation scheme or the fairing Germany; 1997. p. 16378.
algorithm are standard, although the fairing has been adapted in [19] Hoschek J. Intrinsic parametrization for approximation. Comput Aided
order to maintain certain ship characteristics. The method Geom Des 1998;5:2731.
provides accurate results for most hull forms. [20] Saux E, Daniel M. An improved Hoschek intrinsic parametrization.
Comput Aided Geom Des 2003;20:51321.
The method, however may be improved in several ways. For
instance, other fairing algorithms may be tried such us
directional methods [18], because for an elongated shape as
the ship hull, it differs much between the transversal and
longitudinal directions. This could be another line of research
for further improving the method. Dr Francisco L. Perez Arribas is an Associate
Professor in the Naval Architecture and Marine
Engineering School of Madrid (ETSIN), UPM. He
Acknowledgements received BS and MS degrees in Naval Architecture
from the ETSIN Towing Tank in CAD and CASHD. His
Mr Juan Antonio Clemente from Navantia. current research interests include ship hull modelling,
parametric ship design and geometric modelling.
References
[1] Rogers D, Adams JA. Mathematical elements for computer graphics. New
York, NY: McGraw Hill; 1990. p. 2502.
[2] Saunders H. Hydrodynamics in ship design. SNAME; 1957 [Chapter 24].
[3] de Boor C. A practical guide to splines. Berlin: Springer; 1972.
[4] Farin G. Curves and surfaces for CAGD. 5th ed. San Francisco, CA:
Jose Antonio Suarez is a PhD student at the ETSIN. He
Morgan Kaufmann; 2001.
received BS and MS degrees in Naval Architecture from
[5] Hoschek J, Lasser D. Fundamentals of CAGD, AK Peters; 1993.
the Universidad Politecnica de Madrid. His research
[6] Piegl L, Tiller W. The NURBS book. Berlin: Springer; 1997.
activities include parametric ship design and hydrodyn-
[7] Lee E. Choosing nodes in parametric curve interpolation. Comput Aided
amics.
Des 1989;21:36370.
[8] Eck M, Hadenfeld J. Knot removal for B-spline curves. Comput Aided
Geom Des 1995;12:25982.
[9] Farin G, Rein G, Sapidis N, Worsey AJ. Fairing cubic B-spline curves.
Comput Aided Geom Des 1987;4:91104.
[10] Sapidis N, Farin G. Automatic fairing algorithm for B-spline curves.
Comput Aided Des 1990;22:1219.
[11] Kjellander JA. Smoothing of bicubic parametric surfaces. Comput Aided
Des 1983;15:28993.
[12] Hahmann S. Shape improvement of surfaces. Comput Suppl 1998;13: Dr Leonardo Fernandez-Jambrina is Professor of
13552. Applied Maths at the Universidad Politecnica de
[13] Brunet P. Increasing the smoothness of bicubic spline surfaces. Comput Madrid, Spain, since 2000. He has worked previously
Aided Geom Des 1985;2:15764. as researcher and assistant professor at the Universidad
[14] Hahmann S, Konz S. Knot-removal surface fairing using search Complutense de Madrid, where he received his Bachelor
strategies. Comput Aided Geom Des 1998. of Science degrees both on Mathematics and Physics and
[15] Nowacki H, Reese R. Design and fairing of ship surfaces. In: Barnhill RE, his Ph.D. on Physics. His current research interests
editor. Surfaces in CAGD; 1983. p. 12134. include computer-aided design and geometric modeling
[16] Moreton H, Sequin C. Surface design with minimum energy networks. with applications to naval architecture.
Proceedings of the symposium on solid modelling foundations and
CAD/CAM applications, Austin, Texas, 57 June; 1991. p. 291301.