Artificial Intelligence for
Engineering Design, Analysis
and Manufacturing
cambridge.org/aie
Research Article
Cite this article: Ensari E, Özkar M (2018).
Shape computations with NURB curves.
Artificial Intelligence for Engineering Design,
Analysis and Manufacturing 1–13. https://
doi.org/10.1017/S0890060417000592
Received: 25 October 2016
Revised: 21 August 2017
Accepted: 24 August 2017
Key words:
Computer implementation; curve
implementation; NURB curve grammars;
shape grammars
Author for correspondence:
Elif Ensari, E-mail: elif.ensari@gmail.com
© Cambridge University Press 2018
Shape computations with NURB curves
Elif Ensari and Mine Özkar
Istanbul Technical University, Faculty of Architecture, Taskisla, Taksim, Istanbul 34437
Abstract
Freeform curves are commonly used in contemporary design practices, especially with digital
modeling tools. We investigate facilitating shape subtraction and addition with two-
dimensional (planar) non-uniform rational basis-spline (NURB) curves with the codes and
conventions of modeling while preserving the visual continuity of curved shapes. Our pro-
posed tool, developed in a common digital modeling environment, automates the adjustment
of parameters for tangential continuity of curves in shape rule applications. When the user
designates a curve range to subtract from an initial shape and provides a new curved shape
to add to it, the tool splits the initial shape, scales and aligns the curve to be added to fit
into this range, introduces additional control points at the joining ends of the new curve to
preserve continuity and redraws the new curve. We present a sample set of design variations
produced using this practical approach which can be utilized as a method or become part of
an automated NURB curve manipulation tool for designers.
Introduction
Non-uniform rational basis-spline (NURB) curves have come to be commonly used in com-
putational design tools, especially since the introduction and the rapid advancement of NURB
surface modeling software into design practice. Freeform curves, mostly modeled as NURB
curves, are parts of many contemporary design vocabularies. Implementations of shape gram-
mars have previously explored curves but there have been limitations in dealing with NURB
curves. An implementation that incorporates NURB curves holds potential for integrating
shape computation with conventional design tools and in generative design processes provid-
ing the designer a means of systematically working with multiple NURB curves.
In shape grammars, three primary steps of a shape rule application are embedding (part
relation), shape difference, and addition. In computer implementations of shape grammars,
embedding corresponds to a shape recognition problem. It defines the step where a certain
part of an existing shape is identified to be then replaced by another shape. Shape difference
is the removal of the identified part whereas shape addition is the summation of the leftover
part and the new shape from the right side of the rule. Visually, for both rectilinear and curved
shapes, these three steps are straightforward (Fig. 1).
In the implementations, however, shape embedding poses problems for freeform curves.
Shape grammars are originally defined for a broad range of shape types (Stiny, 2006) but
their computational implementations have mostly been for rectilinear shapes. Chau (2002),
McCormack and Cagan (2003), and Jowers and Earl (2009, 2011, 2015) explored implement-
ing shape grammars for curved shapes. Most of these studies adopt the maximal lines method
Krishnamurti (1992) developed for rectilinear shapes. For the computational implementation
of curved shapes, McCormack and Cagan (2003, 2006) use distinct shapes that are straight line
equivalents of curved shapes. Jowers et al. (2004) discuss the detection of segments within a
curve using maximal curve segments and their carrier curves where a carrier is an infinite
curve within which another curve is embedded. In the case that a curve carrier is to be descri-
bed piecewise, they show that a curve segment does not necessarily have the unique description
normally required for computer implementations. Their suggestion for future work is the use
of a combination of mathematical functions and curve properties to describe the carrier curves
and curve segments. We propose a new implementation approach that allows for working with
NURB curves without uniquely describing them, and to also freely select and transform any
part without being limited to maximal curve segments. This method is intuitive and compa-
tible with the way designers work with NURB curves.
Shape grammars value seeing sub-shapes when looking at shapes, including those that con-
sist of free-form curves. Jowers et al. (2010) and Keles et al. (2012) have both relied on visual
approaches in sub-shape detection. The latter approaches part relation entirely visually and,
using a weight function, overcomes the limitations of working with canonically describable
curves. This technique facilitates sub-shape recognition in shapes of any nature including free-
form curves but is not yet implemented as part of common design software.
Whereas the main challenge in a shape grammar implementation for curves is in handling
the part relation, it is just as important to recognize the challenges that working with curves