designcoding
About Table of Contents Keywords Monthly Archive
Support designcoding!

Basic Curve Attractor

January 31, 2012 | Algorithms
#attractor #grasshopper #parametric-surface #structure

This study includes three main topics related to the basics of Grasshopper. The first one is the surface subdivision, the parametric definition of a surface component, that is, in this case, a simple pyramidal object. The second thing is the associative behavior of surface components with an external parameter, that is another entity in space; a curve. Traditionally, this is simply demonstrated by

  • 1) finding the area centroids of each surface panel,
  • 2)finding the closest point on the attractor curve for each centroid,
  • 3) calculating the distance between each centroid and it’s the closest point on the curve,
  • 4) moving the centroids away from the surface using the distance value and the surface normal vector at that point,
  • 5) using extrude to point component to finalize the design.

The important thing here is to find a method to compare each object (here it is the closest point and distance calculations) and assign at least one value to each of them regarding our design intentions. The third thing we learned from this exercise is the secondary parameters that are used to demonstrate the output. This might be labeling and fabrication layouts, in this case, it is the color code of the surface components. This is assigned to each component after they are modeled.

Basic Curve Attractor animation
Basic Curve Attractor attractor, grasshopper

This exercise includes some methods also important for dataflow management. Sorting distance values along with their corresponding component objects; and assigning the gradient colors to them is the tricky part of the color coding here.

Basic Curve Attractor Grasshopper definition
Grasshopper definition (GHX)Download

Cite this post

Yazar, T. (2012, January 31). Basic Curve Attractor. designcoding. Retrieved August 24, 2026, from https://www.designcoding.net/basic-curve-attractor/

Related Posts

Point Waves

May 29, 2023

Here is another basic exercise in Grasshopper. This exercise “Point Waves” creates wave-like deformations on the grids of points. The major function of the definition is to calculate the distances from every point of a grid to an attractor point, with the help of Distance (Dist). Then it sorts them from the smallest to the largest (= closest to farthest) with the Sort List (Sort) component. This component takes and matches two lists of the same size, called key (K)…

Graph Waves with Attractor Geodesic

January 25, 2012

The regular component design technique can be further improved by adding several manipulations. The purpose of this study was to create a surface component that reacts to an inherent parameter (actually a geodesic curve on the surface). However, within the process of parametric modeling, diverse formal potentials emerged. Most interesting results are achieved by adding a graph parameter to control the waves of reaction while splitting the surface as stripes. It is created in the recently updated version (0.8.00066) of…

Voronoi Cage

June 26, 2023

I have created a straightforward Grasshopper code that generates a Voronoi diagram on a surface. Then, it adds thickness to form a structure called a “Voronoi Cage.” In the initial step, I project a surface onto the ground plane (Z=0). The projected frame serves as the boundary for two operations: generating random points using the Populate 2D (Pop2D) function and calculating the Voronoi diagram based on these points. The resulting Voronoi cells are then slightly offset inwards. Moving on to…

Interlocking Structures Revisited

April 10, 2023

I studied the interlocking joint details in Grasshopper here and here. This time, the interlocking structures were revisited with a cleaner code and an in-depth explanation. I believe that this is a very good educational exercise for learning the potential of the native Grasshopper components. The Preparations The Region Difference (RDiff) component is used to create the interlocking detail of a surface that is contoured with bi-directional spacing. In the first part of the code, after contouring our surface in…

Parametric Truss

February 10, 2012

This is the old-method Parametric Truss definition. Interestingly this quickly became a solid solution, used and taught for years. I couldn’t find a better answer yet. As Grasshopper updates, some of the components in this definition change but the overall structure remains. Subdivision of a free-form surface and addition of geometric components has, of course, a wide range of alternatives. Maybe we should combine this with different problems and solutions we’ve talked about earlier on this website. The same solution…

  • Chapters

    • Algorithms
    • Discourses
    • Fabrications
    • Studios
  • Explore

    • All Keywords
    • Table of Contents
    • Monthly Archive
    • #robot
    • #kuka-prc
    • #polyhedra
    • #rhino-python
    • #rhinoceros
    • #tutorial
    • #boolean
    • #moulding
    • #rammed-earth
    • #tessellation
    • #design-object
    • #relief
    • #terrain
    • #sandblasting
    • #stone
    • #eps-foam
    • #hotwire-cutting
    • #basic-design
    • #dome
    • #parametric-curve
  • Search

  • Support designcoding!

  • Enjoying designcoding? Support me on Patreon to keep it growing. Thank you!

  • copyright 2026 designcoding.net | about | privacy policy | end user license agreement