# Grasshopper Tutorials Part 1.8

These are grasshopper recreations of a design pattern 'Reactor' found in Robert Woodbury's Elements of Parametric Design. A grid of objects (circles/vectors) react to a reference object resulting field-like effects.

In the first definition, circles change in size based on their proximity to a curve. This proximity or distance is calculated by first using a 'Curve Closest point' component which returns a point on the curve, then measuring the distance between this point and the center of the circle.

The tricky part of this definition is in mapping the values that come out of the 'Distance' component to a range that is appropriate. This can be done by using the 3 components: 'Bounds', 'Domain' and 'Remap' together. In order to fine-tune the final radius values, an expression is written in the 'R' input of 'Circle' component. Sometimes an error occurs when the one of the input values of R is 0 (1/0 approaches infinity), therefore adjust the expression accordingly e.g. 1/(R + 0.1).

The second definition involves vector manipulation. Vectors are drawn from each point (in the grid of points) to the reactor point and then rotated Pi/2 rads. To visualize the vectors, use a 'Vector Display' component.

The grasshopper definitions can be downloaded here.

Videos of Reactor 1 and 2: