Chapter 2 considered the kinds of traits that should be possessed by a geometry intended to form part of an optimization process, but, with the exception of illustrative examples, we have yet to look at how to actually construct such geometries, i.e. the step between some design parameters and a shape whose performance can be analysed (and so optimized). Now we will look at some fundamental building blocks en-route to creating parametric geometry. Naturally we begin with curves in this chapter before introducing surfaces in Chapter 4. While the fundamental curves detailed can be produced in commercial CAD tools, we have included Matlab and Python code in the text and the accompanying toolset with a view to providing both greater understanding and also the possibility of the reader incorporating elements in their own bespoke toolsets. Here, and increasingly throughout the book, we also include implementations in OpenNURBS/Rhino-Python.
In order to experiment with the relevant Matlab codes, the first step is to download the Aircraft Geometry Toolbox.
This contains a wealth of 2D and 3D geometry algorithms. The best place to start is to run the scripts that generated some of the figures included in the book – a Matlab implementation is available for Figure 3.10 (the corresponding script is called
figure3_10.m). Also type, e.g.
>> help bezier at the Matlab prompt for information and examples on creating curves.