# Manage Data – Grasshopper

**Building a grid with CrossRef in Grasshopper **– **Data Matching** in Grasshopper by default, matches one by one – corresponding items from different list entering into the same component. In order to modify this matching logic Grasshopper provides us with with three specific components. *Shortest List*, *Longest List**, Cross Reference. *The Component *Cross Reference *can be used to create a 2-dimensional array.

The component *Cross Reference *can also be used to create a three-dimensional array, by connecting a a z translation vector sequence and cross referencing the data with the second component.

The component *Repeat Data *extends a numeric sequence to a specified length by repeating input data. Look at this definition

Mathematical functions. One variable, two variables functions. Using the *Eval *component.

*Conditional statements *can be used to define *Cull Patterns. *Alternatively, the component *Dispatch *can be used to filter data with a corresponding Boolean value list. The component returns two lists. We can use these two sets of data to sort the circles, so that the ones that return true are extruded one direction, and the ones that return false are extruded in a different direction.

*Remap numbers –* This component evaluates a list of numbers from A to B and resizes them proportionally to a new numeric domain. For example the list of numbers (2,4,6,8) whose source domain is (2,4), can be remapped to a new domain (0,1) yielding (0.0, 0.3, etc).

**Distance based transformations **using *“attractors” *with the *Remap** numbers* component

**Variations of distance based tranformations**