One of my recurring complaints about surface modeling is the intrinsic complexity of existing modeling systems. Even if the level of user friendliness of these systems has improved, sooner or later every user needs to invest some time to understand how the underlying geometry works and to accept the limitations that come with each modeling strategy. T-Splines are certainly one of the most important innovations in this field, but mostly important, the technological benefits of the T-Splines geometry make life easier for the user and the modeling activities faster and more enjoyable. The recent release of T-Splines 2.0 for Rhino shows the huge potential of this new technology. On top of this, T-Splines are fully compatible with existing NURBS modeling systems such as Rhino and Maya. Let's have Matthew Sederberg (blog), the son of the T-Splines inventor and CEO of the T-Splines company (website), help us to understand better what I like to call NURBS 2.0.
Matt can you tell us a bit about yourself and your professional activities?
[T-Splines] has received funding from the US Navy for its work in innovative surface modeling technologies
Hi Franco, and thanks for the interview. I started T-Splines, Inc. while still in college at Brigham Young University (Provo, UT) in 2004. The company hatched slowly for the first couple of years as our founding team graduated, but we've been growing strong ever since our first commercial industrial design product release in 2007. T-Splines has been the recipient of an NSF SBIR grant, a Utah Center of Excellence grant and has received funding from the US Navy for its work in innovative surface modeling technologies. The company is based in Provo, Utah where I also live with my wife. When I'm not working, I enjoy playing tennis with my wife.
T-Splines is not only a company, it's also a new way to handle a surface's geometry. Can you tell us when it was invented, by whom, and how it became a product?
The T-Splines technology was introduced in 2003 by Dr. Tom Sederberg, my dad
The T-Splines technology was introduced as a SIGGRAPH paper in 2003 by Dr. Tom Sederberg (my dad). Previous to inventing T-Splines, he had spent his career doing research in computer graphics, including inventing free-form deformation and doing extensive research with NURBS. We were very excited about the potential of T-Splines to significantly improve design processes, and since the CAD industry is usually slow to adopt academic research into commercial products, my dad and I decided to commercialize the T-Splines technology ourselves. For an even more focused commercialization, instead of writing an entire program, we wrote plugins: our first product, a plugin for Maya, was released in 2005, and T-Splines for Rhino was released in 2007. T-Splines 2.0 for Rhino was released in May 2009 and is a very significant enhancement.
What are the benefits of using the T-Splines system compared to using a standard NURBS modeling system? Are there any disadvantages?
a large percentage of NURBS control points are superfluous
NURBS are the basis for almost every commercial CAD software on the market today. However, NURBS do have several limitations as compared to T-Splines:
- A non-uniform rational b-spline Surface or NURBS surface is defined by a set of control points which lie, topologically, in a rectangular grid. This means that, in practice, a large percentage of NURBS control points are superfluous in that they contain no significant geometric information, but merely are needed to satisfy the topological constraint. In a typical complex surface model, 40-50% of the NURBS control points are superfluous. In contrast, a T-Spline’s control grid is allowed to have partial rows of control points. A partial row of control points terminates in a T-Point, hence the name T-Splines. Minimizing control points makes it easier to create models, control surface smoothness, and speed up editing time.
- As a direct result of the ability to create partial rows of control points within a single surface, the user can now create a surface with varying level of detail only where required. Refinement, the process of adding new control points to a control mesh without changing the surface, is an important basic operation used by designers. A limitation of NURBS is that refinement requires the insertion of an entire row of control points, increasing the density of the mesh across the entire surface. T-Points enable T-Splines to be locally refineable. Support for local detail in a single surface makes it easier to model complex shapes and create smooth watertight models.
- With T-Splines, non-rectangular surfaces can be constructed using star points, also called poles or extraordinary points. This overcomes another fundamental NURBS limitation: In NURBS surface modeling, constructing a complex shape with varying detail, curvature or smoothness requires many individual rectangular patches. Maintaining continuity and smoothness across these patch surfaces is a significant challenge. Star points also enable modeling techniques such as extrusion, face deletion, and merging of surfaces that greatly increase design freedom for the user. Star points are used today in subdivision surface modeling, which is popular in animation, but T-Splines introduces them to industrial design in a NURBS-compatible format for the first time.
star points enable modeling techniques [...] that greatly increase design freedom for the user
As far as disadvantages for T-Splines, there are definitely some operations (such as exact fillets) where I would recommend NURBS over T-Splines. Also, where your design is primarily a prismatic part with mostly planar or cylindrical surfaces, a standard NURBS modeler is a better option. Today, T-Splines is an excellent choice for organic free-form designs and they are a great complement to existing NURBS modeling techniques. In the future, we expect to overcome the remaining limitations and T-Splines will have the potential to completely replace NURBS in modeling applications.
Based on your experience who are the users who can benefit the most from T-Splines?
our customers are industrial designers, architects, and jewelry designers
Most of our customers today are industrial designers, architects, and jewelry designers. T-Splines is also used in marine design and toy design. The sweet spot for T-Splines is for modeling organic designs, where the designer would like explore shape variations by pushing and pulling on the surface, and where staying compatible with NURBS for downstream applications or manufacturing is required.
In my opinion surface modelers have always suffered from an intrinsic complexity -- that of exposing too much of the underlying data structure and algorithms. How close are we to a truly user-friendly surface modeling system?
we've created a simpler interface by allowing users to select faces and edges and move them around
Great question. The benefit of surface modelers is that they give a high level of control over the surface being created, and this control often conflicts with simplicity. With the just-released T-Splines 2.0 for Rhino, we've created a simpler interface by allowing users to select faces and edges and move them around, Sketch-up style. We also let the user toggle on and off precision tools such as tangency handles, and have introduced a manipulator that can be used to intuitively rotate, scale, and move objects.
You choose to offer T-Splines as a plug-in for existing modeling systems rather than creating your own standalone application. What convinced you to go for this option?
converting any T-Spline to NURBS is a push-button operation, as is converting any untrimmed NURBS to T-Splines
The T-Splines technology is not the first alternative surface technology to be invented; however, T-Splines stands apart in its compatibility with NURBS. Converting any T-Spline to NURBS surfaces is a push-button operation, as is converting any untrimmed NURBS to T-Splines. Consequently, we decided to lower the barrier for designers to use T-Splines in conjunction with NURBS by placing T-Splines right into NURBS modelers. This also allows us to focus our resources on developing unique T-splines functions instead of rewriting NURBS routines.
I would like to thank Matt for taking the time to answer my questions. If you have any questions for Matt or for Novedge, please leave a comment below and we will be glad to answer.