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 113. 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