Site Tools

Essential Mathematics for Computational Design

Summary: Get acquainted with the foundational mathematical concepts necessary to make progress with an algorithmic design editor such as Grasshopper.


The Essential Mathematics for Computational Design introduces the foundation mathematical concepts that are necessary for effective development of computational methods for 3-D modeling and computer graphics. It 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).


Download the full PDF text of the Essential Mathematics and Grasshopper definitions from here:


The author, Rajaa Issa, have chopped down the material into byte size videos to help you grasp the basics of math needed to make real progress in any algorithmic design environment. The following cover vector mathematics, and more videos will be added soon.

Watch all videos below, or on Youtube or Vimeo

Intro to Algorithmic Design

Learn the main differences between traditional 3D modeling and algorithmic modeling. (4 minutes):

01 Intro to Vectors

What are vectors and what do we need them for? In this video, Rajaa explains how vectors are a way of defining length and direction. Vectors help define, orient or move geometry in 3D modeling space. (4'19“):

02 Representing Vectors

Learn how to represent a vector numerically & understand its 3 components. (4'35”):

03 Visualizing Vectors

Vectors are an abstract concept. Learn how to visualize them in a 3D modeling system using Rhino and Grasshopper. (4'26“):

04 Position Vectors

Learn why a position vector is a special case, how to find the coordinates for the tip point of a vector and why vectors and points can sometimes get confused. (4'55”):

05 Vectors vs Points

In this video, Rajaa explores the differences between vectors and points in the context of the 3D coordinate system. in a clear list of items. (2'11“):

06 Previewing Position Vectors

Learn how to preview a position vector in Grasshopper and how to calculate the tip point. (2'25”):

07 Unit Vectors

Learn about another special vector case: the unit vector. Learn how to visualize it in Grasshopper and how to turn any given vector into a unit vector. (3'45“):

08 Vector Scalar Operation

In this video, Rajaa introduces the first of the six main vector operations: Scalar. Learn how to scale the length of a vector by a certain factor and how scaling a vector and setting the length of a vector are achieved in different ways. (6'01”):

09 Vector Addition Operation

Learn how to add vectors and when it can be useful. Rajaa will also explain the average vector and how to find it when the vectors being added have different lengths. Then on to Grasshopper to get a visual feedback for vector addition. (8'13“):

10 Vector Subtraction Operation

Learn how subtracting two vectors results in a third vector. As opposed to vector addition, changing the order of the vectors in a subtraction alters the result, giving you a fourth vector with opposite direction. Learn also how vector subtraction is used to create a vector between two points. (12'27”):

11 Summary of Basic Vector Operations

Learn the differences and similarities, in this side by side comparison of the three main vector operations: scalar, addition and subtraction. Rajaa also points out the difference between scaling a vector and using the amplitude component. (2'26“):

12 Vector Dot Product Operation

As opposed to the other vector operations, dot product returns a number. Learn what this number tells us when it is positive, negative or equal to zero. Rajaa will also explain other uses for this operation, such as calculating the projection length of a vector over another or how the result is equal to the cosine of the angle between two unit vectors. (8'46”):

13 Vector Cross Product Operation

In this video, you will learn how vector cross product is commonly used to obtain a vector that is orthogonal or normal to two vectors. Learn how inverting the order of the operation will result in a new orthogonal vector with opposite direction. Cross Product is also used to test if two vectors are parallel. Rajaa will explain the theory and will use the appropriate components in Grasshopper to proof it visually. (4'52“):

rhino/home/essentialmathematics.txt · Last modified: 2020/08/14 (external edit)