# Grasshopper Practice #02 | Attractor Point

### Contents

- Attractor Point
- Useful Components for Attractor Point
- Basic Concept of Attractor Point
- Multiple Attractor Points | example

- Practices

### Attractor Point

#### Useful Components for Attractor Point

- Replace Nulls : Replace null items with certain object
- Remap Numbers : Map numbers with source domain and target domain
- Graph Mapper : Map numbers with a graph

#### Basic Concept of Attractor Point

Attractor Point is one of the most popular method in parametric modeling and is a way to differentiate a bunch of objects.

Generally speaking, the basic concept of Attractor Point is to assign the relationship between objects and certain points, which is called attractor points, to parameters of the geometric manipulations to objects. For example, following image shows the most typical way to use Attractor Point. In this case, the distance between the center points of circle and attractor point is assigned to the height of extrusion.

#### Multiple Attractor Points

There are 2 major way to deal with multiple attractor points.

One is to get the parameter with each attractor point individually and calculate the average of them. But the problem of this method is that the differences between each parameter of objects can be too small to control the difference easily.

And second way is to give attractor points a certain threshold and sum up the parameter of the object after calculating parameters with each attractor points.

### Practices

#### Perforation with Attractor Points

- populateGeometry : Generate random point on a geometry.
- curveClosestPoint : Find the closest point on a curve from a certain position.
- flipMatrix : Replace row and column in a DataTree.
- average : Calculate average value of numbers in a list.
- replaceNulls : Replace null objects with a certain item.

#### Subdivision with Attractor Points

- crossProduct : Calculate cross product from a pair of vectors. Basically is used to get a perpendicular vector of the plane by a pair of vectors.
- repeatData : Repeat data in a list in a certain extent.