1.3 Building Blocks of Algorithms

Attractors

- eg. circle will orient such that it is normal to (facing) the attractor point (file 1.3.2.1_attractor definition)

Math, Expressions, and Conditionals

- +, -, x, /, >=, etc.

Trigonometry

**Deconstruct**to get x,y,z coordinates of pts and**Construct**to use coordinates to build pts**Interpolate Crv**to construct curve by connecting pts

Expressions

eg. **Voronoi**

**Expression**- in the two Expression commands, why do I need to change “variable x” and “variable y” to “x” and “y” to make inputs valid?

Domains & Color

…?

Boolean and Logical Operators

- Boolean variables can only store two values referred to as Yes or No, True or False, 1 or 0- used
**to evaluate conditions**

1.4 Designing with Lists

**NURBS** (non-uniform rational B-splines) are mathematical representations that can accurately model any shape from a simple 2D line, circle, arc, or box to the most complex 3D free-form organic surface or solid

-flexible and accurate

-The **degree** of the curve determines the range of influence the control points have on a curve [NURBS lines and polylines are usually degree 1, NURBS circles are degree 2, and most free-form curves are degree 3 or 5]

-The **control points** are a list of at least degree+1 points

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

–**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)