Rhinoceros or Rhino as it is commonly called is primarily a NURBS modelling tool used for industrial design (vehicle design, jewellery design, product design) and architectural form finding.

The word “NURBS” stands for Non-Uniform Rational B-Splines. NURBS are a mathematical model commonly used in computer graphics for generating and representing curves and surfaces. NURBS offers great flexibility and precision for handling both analytic (surfaces defined by common mathematical formulae) and modelled shapes and for this reason they are industry standard for both modelling and manufacturing.

The alternative to the NURBS type geometry definition is called MESH Modelling. Meshes represent a surface using polygons: high accuracy modelling requires a large number of polygons, so the mesh models can become very large. Therefore, meshes are used more for visual modelling rather than fabricated ones.

###### Images sourced from: https://education.graphisoft.com/mod/book/view.php?id=155&chapterid=1232

Grasshopper is a visual programming language and environment that runs within the Rhinoceros 3D computer-aided design application. Grasshopper is predominantly used for parametric modelling for design, architecture, structural analysis and fabrication.

Parametric design is a process based on algorithmic thinking that uses parameters and rules together to create designs. The parameters and rules can be used to manipulate and change the form in real time.

In grasshopper is important to note that you will most commonly be working with NURB surfaces and NURB curves.

NURB curves are defined by **degree, control points, and knots.**

**Degree:** The degree is a positive whole number. This number is usually 1, 2, 3 or 5, but can be any positive whole number. The degree of the curve determines the range of influence the control points have on a curve; where the higher the degree, the larger the range. NURBS lines and polylines are usually degree 1, NURBS circles are degree 2, and most free-form curves are degree 3 or 5.

**Control Points:** The control points are a list of at least degree+1 points. One of the easiest ways to change the shape of a NURBS curve is to move its control points.

**Weight:** Control points have an associated number called a weight . Weights are usually positive numbers. When a curve’s control points all have the same weight (usually 1), the curve is called non-rational, otherwise the curve is called rational. Most NURBS curves are non-rational. A few NURBS curves, such as circles and ellipses, are always rational.

**Knots:** Knots are a list of (degree+N-1) numbers, where N is the number of control points.

**Edit Points:** Points on the curve evaluated at knot averages. Edit points are like control points except they are always located on the curve and moving one edit point generally changes the shape of the entire curve (moving one control point only changes the shape of the curve locally). Edit points are useful when you need a point on the interior of a curve to pass exactly through a certain location.

Images sourced from: https://education.graphisoft.com/mod/book/view.php?id=155&chapterid=1232

Let's have a look at a video by The Different Design on youtube who are an educational and research platform interested in all things parametric design.

This video shows you the basics of parametric design in Grasshopper with this quick tutorial introducing the Grasshopper interface, Grasshopper components and creating your first parametric algorithm.