NEW: Welcome to the Rhino 6 version of this page! Looking for the older Rhino 5 version?

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.

Rajaa Issa

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

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.3 Vector equation of line

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