Vous êtes sur la page 1sur 6

T-Splines: A Technology for Marine Design with Minimal Control Points

Matthew T. Sederberg
T-splines, Inc.

Thomas W. Sederberg
Brigham Young University

Abstract
A typical NURBS hull model involves far more control points than
are needed for the design process, which needlessly complicates
fairing and form finding. A relatively new surface representation
called T-splines eliminates the superfluous rows and columns of
control points that are unavoidable in NURBS. This paper presents
methods for designing hulls using T-splines.
CR Categories: I.3.5 [Computer Graphics]: Computational Geometry and Object Modelingcurve, surface, solid and object representations;
Keywords: NURBS surfaces, T-splines, subdivision surfaces, local refinement, knot removal, marine design, naval architecture

Introduction

Boatbuilding is a complex process involving the design and construction of many parts. The most critical component in boat design
is the hull. Computer aided hull design offers advantages over traditional design practices using physical ducks and splines because
it can optimize for fairness and other engineering constraints.
The two most common CAD representations of a hull are curve
only and curve-surface. Because the curve-surface representation
provides more geometric information than curves only, it is generally viewed as more valuable. The de-facto technology standard for
representing curved surfaces since the 1970s is non-uniform rational B-splines (NURBS). For instance, NURBS is the only free-form
surface type supported in the IGES file format, the most popular
format for data exchange between CAD software.
Unfortunately, the NURBS formulation has three weaknesses
that can impact hull design. First, when designing a ship hull using a CAD system, representing the entire hull with a single surface makes it easier to analyze and optimize, and can minimize the
likelihood of mistakes in downstream processes. However, because
NURBS surfaces have a rectangular topology, a complicated hull
cannot always be represented by a single NURBS surface. Second,
since the control points in a NURBS surface must lie topologically
in a rectangular grid, a large number of NURBS control points are
superfluous in that they carry no significant geometric information
but exist merely to satisfy topological constraints. Superfluous control points are a serious nuisance for marine designers because they
require the designer to deal with more data and because they make
the model more difficult to fair. In Figure 1, the pink NURBS control points are superfluous. Third, trimmed NURBS models are not
mathematically watertight.
T-splines [Sederberg et al. ] is a new mathematical formulation
for surfaces that addresses the limitations of NURBS. T-Splines
models are mathematically watertight, are not limited to rectangular
domains, and significantly reduce the number of superfluous control points. With fewer control points, such models are easier to
fair. A major difference between a T-spline control mesh (or, Tmesh) and a NURBS control mesh is that T-splines allow a row
of control points to terminate. The final control point in a partial
row is called a T-junction. Figure 1.b shows the hull in Figure 1.a,
modeled as a T-spline, with the superfluous NURBS control points
removed. The T-junctions are shown in blue.

Figure 1: Container ship modeled with NURBS and T-splines. The


pink NURBS control points in 1a are superfluous. The blue control
points in 1b are T-junctions.

Figure 2: Personal watercraft modeled as a NURBS (13 surfaces)


and as a T-spline (1 surface). The yellow control points in 2b are
star points.

Originally presented at the Chesapeake Powerboat Symposium, Annapolis, March 2010. Reprinted with the
permission of the Society of Naval Architects and Marine Engineers (SNAME). Material originally appearing in SNAME
publications cannot be reprinted without written permission from the Society, 601 Pavonia Ave., Jersey City, NJ 07306

Figure 2 shows a more dramatic example in which the T-spline


model is a single continuous surface defined using 1/10 as many
control points as the NURBS model, which requires 13 separate
NURBS patches. All interior control points in a NURBS control grid are valence four, meaning that each interior control point
touches four edges in the control grid. By contrast, a T-mesh permits control points of valence other than four, as illustrated in Figure 2. Control points with valence other than four are called star
points in some communities and extraordinary points in others. Star
points give T-splines the power to model any surface using a single
T-mesh.
For these reasons, T-splines perform better than NURBS in modeling: 1) hulls with local detail; 2) hulls with non-rectangular topology; or 3) hulls with creases (i.e. chines/knuckles/style lines). In
each of these situations, the T-spline surface will yield a watertight
surface with fewer control points than an equivalent NURBS.
T-spline surfaces are compatible with commercial marine design
software tools. For example, a commercial implementation of Tsplines is fully integrated with the Orca3D marine design software
(both T-splines and Orca3D run inside the Rhino 3D environment.)
With the T-splines/Orca3D solution, a designer can get real-time
feedback on section shapes and hydrostatics as the hull is being
faired, compute stability, predict performance, and assign Orca3D
weight and cost properties directly on the T-splines surface. The
models in this paper were prepared using T-Splines inside Rhino
3D.
The remaining sections contain the following:
Section 2 Introduction to the mathematics underlying T-splines.
Section 3 T-spline hulls with local detail.
Section 4 T-spline hulls with non-rectangular topology.
Section 5 T-splines hulls with creases.
Section 6 Using T-splines to create watertight superstructures.
Section 7 Using T-splines commercially with Rhino and Orca3D.
Section 8 Current research.
Section 9 Examples of T-splines used in other industries.

T-splines

This section presents a brief review of T-splines as presented


in [Sederberg et al. ]. A control grid for a T-spline surface is called
a T-mesh. If a T-mesh forms a rectangular grid, the T-spline degenerates to a B-spline surface.
Knot information for T-splines is expressed using knot intervals, non-negative numbers that indicate the difference between two
knots. A knot interval is assigned to each edge in the T-mesh. Figure 3 shows the pre-image of a portion of a T-mesh in (s,t) parameter space; the di and ei denote the knot intervals. Knot intervals
are constrained by the relationship that the sum of all knot intervals
along one side of any face must equal the sum of the knot intervals on the opposing side. For example, in Figure 3 on face F1 ,
e3 + e4 = e6 + e7 , and on face F2 , d6 + d7 = d9 .
It is possible to infer a local knot coordinate system from the
knot intervals on a T-mesh. To impose a knot coordinate system,
we first choose a control point whose pre-image will serve as the
origin for the parameter domain (s,t) = (0, 0). For the example in
Figure 3, we designate (s0 ,t0 ) to be the knot origin.
Once a knot origin is chosen, we can assign an s knot value to
each vertical edge in the T-mesh topology, and a t knot value to each
horizontal edge in the T-mesh topology. In Figure 3, those knot
values are labeled si and ti . Based on our choice of knot origin, we
have s0 = t0 = 0, s1 = d1 , s2 = d1 + d2 , s3 = d1 + d2 + d3 , t1 = e1 ,
t2 = e1 + e2 , and so forth. Likewise, each control point has knot
coordinates. For example, the knot coordinates for P0 are (0, 0), for
P1 are (s2 ,t2 + e6 ), for P2 are (s5 ,t2 ), and for P3 are (s5 ,t2 + e6 ).
One additional rule for T-meshes explained in [Sederberg et al. ]
is that if a T-junction on one edge of a face can legally be connected

Figure 3: Pre-image of a T-mesh.

to a T-junction on an opposing edge of the face (thereby splitting


the face into two faces), that edge must be included in the T-mesh.
Legal means that the sum of knot vectors on opposing sides of
each face must always be equal. Thus, a horizontal line would
need to split face F1 if and only if e3 = e6 and therefore also e4 = e7 .
The knot coordinate system is used in writing an explicit formula
for a T-spline surface:
n

P(s,t) = (x(s,t), y(s,t), z(s,t), w(s,t)) =

Pi Bi (s,t)

(1)

i=1

where Pi = (xi , yi , zi , wi ) are control points in P4 whose weights are


wi , and whose Cartesian coordinates are w1i (xi , yi , zi ). Likewise, the
Cartesian coordinates of points on the surface are given by
ni=1 (xi , yi , zi )Bi (s,t)
.
ni=1 wi Bi (s,t)

(2)

The blending functions in (1) are Bi (s,t) and are given by


Bi (s,t) = N[si0 , si1 , si2 , si3 , si4 ](s)N[ti0 ,ti1 ,ti2 ,ti3 ,ti4 ](t)

(3)

where N[si0 , si1 , si2 , si3 , si4 ](s) is the cubic B-spline basis function
associated with the knot vector
si = [si0 , si1 , si2 , si3 , si4 ]

(4)

and N[ti0 ,ti1 ,ti2 ,ti3 ,ti4 ](t) is associated with the knot vector
ti = [ti0 ,ti1 ,ti2 ,ti3 ,ti4 ].

(5)

as illustrated in Figure 4. The designer is free to adjust the weights


wi to obtain additional shape control, as in rational B-splines.
The T-spline equation is similar to the equation for a tensorproduct rational B-spline surface. The difference between the Tspline equation and a B-spline equation is in how the knot vectors
si and ti are determined for each blending function Bi (s,t). Knot
vectors si (4) and ti (5) are inferred from the T-mesh neighborhood
of Pi . Since we will refer to the rule whereby the knot vectors are
inferred, we formally state it as
Rule 1. Knot vectors si (4) and ti (5) for the blending function of
Pi are determined as follows. (si2 ,ti2 ) are the knot coordinates of
Pi . Consider a ray in parameter space R() = (si2 + ,ti2 ). Then
si3 and si4 are the s coordinates of the first two s-edges intersected

Figure 6: T-spline surface from lofted curves.

Figure 4: Knot lines for blending function Bi (s,t).

by the ray (not including the initial (si2 ,ti2 )). By s-edge, we mean a
vertical line segment of constant s. The other knots in si and ti are
found in like manner.
We illustrate Rule 1 by a few examples. The knot vectors for P1
in Figure 3 are s1 = [s0 , s1 , s2 , s3 , s4 ] and t1 = [t1 ,t2 ,t2 + e6 ,t4 ,t5 ].
For P2 , s2 = [s3 , s4 , s5 , s6 , s7 ] and t2 = [t0 ,t1 ,t2 ,t2 + e6 ,t4 ]. For P3 ,
s3 = [s3 , s4 , s5 , s7 , s8 ] and t3 = [t1 ,t2 ,t2 + e6 ,t4 ,t5 ]. Once these knot
vectors are determined for each blending function, the T-spline is
defined using (1) and (3).

Hulls with local detail

Sections 35 explain how T-splines are better suited than NURBS at


modeling hulls with local detail, hulls with non-rectangular topology, and hulls with creases.
In practice, the two most common methods for creating a ship
hull using NURBS are lofting (defining a set of curves that lie on
the hull, then fitting a surface through those curves) and directly
manipulating the NURBS control points to create the desired shape.
The benefit of lofting is that the generated surface will pass exactly
through the curves. However, the procedure can generate a large
number of control points if the input curves have different knot vectors. In such cases, T-splines can provide a far more efficient solution than NURBS. Figure 5 shows a NURBS surface lofted from
curve. A T-splines loft can achieve the exact same surface with
half the control points, as shown in Figure 6. If a slight perturbation of the surface is permitted, T-splines can loft the curves with
fewer than 1/6th of the control points of the NURBS, as shown in
Figure 7. The reason T-splines can represent the surfaces more efficiently is because each input curve had a different number of control points, and T-splines can include these control points in the final
surface without needing to add additional control points to make a
row extending across the rest of the lofted surface.

Figure 5: NURBS surface from lofted curves.

Figure 7: Simplified T-spline surface from lofted curves.

The second method of modeling a hull involves using a surface


with minimum control points to represent the hull, which makes
fairing easier. Fairing and design exploration is done by moving
control points, similar to the way automotive designers move control points to style a car hood.
With NURBS, the minimum possible number of control points is
limited by the rectangular topology of NURBS. If a single NURBS
surface is used to represent an entire hull, any complexity in one
area of the hullsuch as a bulbous bow or a disappearing chine
will generate superfluous control points elsewhere, making the fairing unnecessarily difficult.
T-splines provides the capability of inserting control points only
where they are needed, without requiring the insertion of a full row
or column of control points. The surface remains curvature continuous (C2 ) where these points are inserted. This helps the entire hull
be faired more easily, as each area contains the minimum number
of control points to define the surface in that section.
One example of a surface created using minimal control points is
the hull shown in Figure 8 with a bulbous bow. Figure 9 shows this
same design modeled in T-splines. Since detail can be constrained
in the bow region, the naval architect has more control about how
to shape this region without control points propagating through the
entire hull.

Figure 8: Hull with bulbous bow as a single NURBS surface72


control points

a single surface. These creases can continue across the length of


the surface or disappear partway, smoothly transitioning from a C0
crease to a curvature continuous, C2 surface. This is an improvement over NURBS, where creased isocurves must continue all the
way across a model, making it very difficult to have them fade out
to being smooth partway along the hull.
Figure 11 illustrates. To insert a crease, select the edges that will
be creased. Zero knot intervals will be inserted on either side of
the edge, then tangency handles can be manipulated to change the
curvature of the surface going into the crease. A disappearing chine
is shown in Figure 12.

Figure 9: Hull with bulbous bow as a single T-spline surface42


control points.
Just like control points can be added in local areas of the T-spline
surface, control points can also be deleted in specific areas of the
model. This has the effect of relaxing the surface and making it
fairer up to two isocurves away. Beyond this two-isocurve region,
the shape of the surface is maintained.

Hulls with non-rectangular topology

Not all hull shapes are best represented by a single rectangular


topology. Catamarans, for example, have been traditionally constructed using multiple NURBS patches. The catamaran hull in Figure 10 is an example of a simple non-rectangular hull constructed
with T-splines; the non-rectangular topology is achieved though using star points. The hull was created and the design optimized by
moving control points in the T-Splines for Rhino commercial plugin.

Figure 11: a. Edges to be creased are shown in yellow on a smooth


T-spline hull. b. Creased edges give a local C0 continuity. c. Tangency at the crease can be changed by tangency handles (blue and
yellow dots).

6
Figure 10: Catamaran hull with nonrectangular topology, as a single T-spline surface.

Hulls with creases

One unique application of T-splines ability to accommodate local detail is to add creases (i.e. chines/knuckles/style lines) inside

Watertight superstructures

In addition to hull design, T-splines adds flexibility to superstructure design by letting the designer represent large sections of the
model with a single, watertight, smooth surface. Single T-spline
surfaces can represent non-rectangular topology through the use
of star points. Traditionally, creating detailed superstructures has
taken hundreds of steps. Using flexible T-spline surfaces, the step
count can be greatly reduced.
One method of generating non-rectangular T-spline surfaces is
by merging together a series of rectangular NURBS or T-spline

ideal hull shape is a moving target that settles down after hours and
hours of rework to accommodate all project inputs.
T-spline surfaces are analyzed just like any NURBS hull with
the Orca3D marine software. Orca3D can work directly on both
T-spline surfaces and native Rhino NURBS surfaces to compute
sections, create a lines plan using the sections, compute hydrostatics and intact stability, compute a speed/power analysis, and track
weight and cost properties.

Figure 12: Disappearing chines in a T-spline hull.

surfaces, as shown in Figure 13. T-splines merging is explained


in [Sederberg et al. ]

Because T-spline surfaces can be decomposed exactly into a series of NURBS patches, rendering and calculation times on a Tspline surface are similar to what would be expected if the model
was made with multiple NURBS patches. T-spline surface evaluation is done in two steps create a cache of Bezier patches,
and then evaluate those Bezier patches. The cache is modified
only when the topology of the surface is changed, not when control
points are moved. Cache creation near star points takes more time
than elsewhere. However, in models that only contain T-junctions
(not star points) the Bezier cache creation is quite fast, and can rival
or beat an equivalent NURBS surface, depending on the topology
of the T-junctions. Evaluation of points and normals on the surface
is likewise fast, because it can use the Bezier cache.
T-spline surfaces support an arbitrary topology, similar to polygonal mesh models. From a design standpoint, this means that a
commercial implementation of T-splines can support many topological operations not available with traditional NURBS modeling,
such as merging, shown in Figure 13. Another common operation
is the ability to extrude faces, as shown in Figure 14. When a face
is extruded, a new ring of faces is created to join the extruded face
to the rest of the surface. The process creates some valence-3 or
valence-5 star points; the surface is G1 smooth at the star point and
C2 smooth everywhere else. Because the surface remains smooth
as control points are moved, multiple extrusions and control point
manipulations can be performed to sculpt the surface, as shown in
Figure 15.

Figure 13: a. Series of rectangular, degree-3 NURBS surfaces. b.


merged into a single T-spline surface.

Using T-splines commercially with Rhino


and Orca3D

A T-Splines plugin is available commercially for Rhino, a leading


surface modeling software program. Because T-spline surfaces are
compatible with NURBS, nearly all Rhino commands that work on
NURBS surfaces work on T-spline surfaces. T-spline surfaces can
also be converted through a push-button conversion to NURBS to
be included in larger assemblies. This conversion from T-spline
surfaces to NURBS is an exact conversion, not an approximation,
so the geometry can be cleanly passed downstream.
T-Splines is tightly integrated with the Orca3D marine software,
which also runs in the Rhino environment. This integration is significant because the ideal shape of a hull cannot be determined
merely by aesthetics or fairness. The final hull shape must take
into account stability calculations, weight estimation, resistance
and propulsion, seakeeping and maneuverability, and whether the
surface can be produced economically with available technology.
The arrangements of the machinery, accommodations, and possibly cargo inside the vessel must also be tracked. Therefore, the

Figure 14: T-spline faces can be extruded; new geometry is added


to create a non-rectangular, single surface.

Figure 16: Examples of watertight, single surface T-spline models


from other industries. Deer model courtesy Knead.

Figure 15: Application of extruding faces: personal watercraft handles

Current research and development

Research has been published on how to convert a set of trimmed


NURBS surfaces into a single watertight T-spline surface [Sederberg et al. 2008]. Another promising area of research is to use TSplines as a basis for iso-geometric analysis [Bazilevs et al. 2009].
Preliminary results show that analysis can be performed directly on
a T-Splines model, without the need for mesh generation, thereby
eliminating the geometric approximation that accompanies mesh
generation.

Examples of T-splines used in other industries

T-splines, like NURBS, is a general technology, and is used in a


number of industries in addition to marine design, such as industrial design, architectural sculpture, and jewelry. Figure 16 shows
examples of other types of watertight shapes that can be made with
T-splines. Commonly, T-spline surfaces are used to get the general shape of a model, then they are converted to NURBS for final
detailing, as shown in Figure 17.

10

Conclusion

Creating CAD models for boats can be a complex task. T-splines


is a new technology that can simplify the process of creating hulls
and superstructures, especially those that have local detail, are nonrectangular, or have creases.

11

Acknowledgments

T-Splines research is currently being supported by the US Office of


Naval Research. We gratefully recognize excellent feedback from
several reviewers, including Bruce Hays and Luis Batista. Images
were created by Martin Monteverde and Juan Santocono.

Figure 17: Example of T-spline surface (right) converted to NURBS


for final detailing (left).

References
BAZILEVS , Y., C ALO , V., C OTTRELL , J., E VANS , J., H UGHES ,
T., L IPTON , S., S COTT, M., AND S EDERBERG , T. 2009. Isogeometric analysis using T-Splines. Computer Methods in Applied
Mechanics and Engineering.
S EDERBERG , T. W., Z HENG , J., BAKENOV, A., NASRI , A., AND
H., A. T-Splines and T-NURCCS. ACM Trans. Graph. (ACM
SIGGRAPH 2003) 22, 3, 477484..
S EDERBERG , T. W., F INNIGAN , G. T., L I , X., L IN , H., AND
I PSON , H. 2008. Watertight trimmed nurbs. ACM Transactions
on Graphics 27, 3 (Aug.), 79:179:8.

Vous aimerez peut-être aussi