# Essential Mathematics for Computational Design

*Essential Mathematics for Computational Design* introduces to design professionals the foundation mathematical concepts that are necessary for effective development of computational methods for 3D modeling and computer graphics. This is not meant to be a complete and comprehensive resource, but rather an overview of the basic and most commonly used concepts. The material is directed towards designers who have little or no background in mathematics beyond high school. All concepts are explained visually using Grasshopper® (GH), the generative modeling environment for Rhinoceros® (Rhino).

The content is divided into three chapters. Chapter 1 discusses vector math including vector representation, vector operation, and line and plane equations. Chapter 2 reviews matrix operations and transformations. Chapter 3 includes an in-depth review of parametric curves with special focus on NURBS curves and the concepts of continuity and curvature. It also reviews NURBS surfaces and polysurfaces.

*I would like to acknowledge the excellent and thorough technical review by Dr. Dale Lear of Robert McNeel & Associates. His valuable comments were instrumental in producing this edition. I would also like to acknowledge Ms. Margaret Becker of Robert McNeel & Associates for reviewing the technical writing and formatting*.

Robert McNeel & Associates

Download the math-samplesandtutorials.zip archive, containing all the example Grasshopper and code files in this guide.

Download Essential Mathematics for Computational Design as a single PDF

Watch the Essential Mathematics Videos…

While we are translating the new edition, the previous edition is available in four languages:

- Essential Mathematics 2nd Edition in Korean
- Essential Mathematics 2nd Edition（日本語
- Essential Mathematic 2nd Edition in Traditional Chinese (繁體中文版)
- Essential Mathematic 2nd Edition in Simplified Chinese(簡體中文版)
- Versione italiana del tutorial Essential Mathematics, tradotta da Nando Varriale
- Matemáticas Esenciales para diseño computacional - Versión en Español del tutorial Essential Mathematics, traducido por Jose Luis y Fernando García del Castillo.

### Table of Contents

### 1. Vector Mathematics

1.1 Vector representation

Position vector

Vectors vs. points

Vector length

Unit vector

1.2 Vector operations

Vector scalar operation

Vector addition

Vector subtraction

Vector properties

Vector dot product

Vector dot product, lengths, and angles

Dot product properties

Vector cross product

Cross product and angle between vectors

Cross product properties

1.4 Vector equation of a plane

1.5 Tutorials

Face direction

Exploded box

Tangent spheres

### 2. Matrices and Transformations

2.1 Matrix operations

Matrix multiplication

Identity matrix

2.2 Transformation operations

Translation (move) transformation

Rotation transformation

Scale transformation

Shear transformation

Mirror or reflection transformation

Planar Projection transformation

### 3. Parametric Curves and Surfaces

3.1 Parametric curve

Curve parameter

Curve domain or interval

Curve evaluation

Tangent vector to a curve

Cubic polynomial curves

Evaluating cubic Bézier curves

3.2 NURBS curves

Degree

Control points

Weights of control points

Knots

Knots are parameter values

Evaluation rule

Characteristics of NURBS curves

Evaluating NURBS curves

3.3 Curve geometric continuity

3.4 Curve curvature

3.5 Parametric surfaces

Surface parameters

Surface domain

Surface evaluation

Tangent plane of a surface

3.6 Surface geometric continuity

3.7 Surface curvature

Principal curvatures

Gaussian curvature

Mean curvature

3.8 NURBS surfaces

Characteristics of NURBS surfaces

Singularity in NURBS surfaces

Trimmed NURBS surfaces

3.9 Polysurfaces

3.10 Tutorials

Continuity between curves

Surfaces with singularity