designcoding
About Table of Contents Keywords Monthly Archive
Support designcoding!

Field Deformation

October 8, 2026 | Algorithms
#attractor #deformation #grasshopper #pattern #tutorial #vector-field

Ever since I restructured designcoding, I’m still sorting through the trash folder. All 580 posts published on the blog have been reviewed, and their files have been uploaded as open source. The mysterious trash folder, where I couldn’t even tell where things belonged, is shrinking fast. While checking this folder yesterday, I found a video. This is probably a simple tutorial I prepared about 10 years ago for the parametric modeling elective course (probably related to this 2012 post). The notion of the “Point Attractor” is critical for those trying to design with Grasshopper, enabling them to make their designs adaptive. In this simple tutorial, I demonstrate a well-known point-based pattern deformation. There are some neat interventions, such as ReMap and Sort. You can see that Rhino 5.0 was being used in the video. Thinking that this definition might still be educational for beginners learning Grasshopper today, I wanted to upload it. I don’t have the definition file on hand, so I’m only uploading the video.

On this occasion, I wanted to touch upon the “attractor” issue that also came up in my graduate class the other day. I also use the terms “point attractor” and “curve attractor” frequently on this blog and in my lectures. On the other hand, pattern deformations were used in Basic Design education even before the era of coding and computer-aided design (e.g., at the Ulm School and by William Huff). However, this term “attractor” is actually somewhat misleading. Because what happens in such deformation algorithms is essentially built on a “field” deforming a structure. If this field is driven by Euclidean distance, it becomes what we simply call an attractor. Architects and designers, I suppose, care more about the charging points of the field itself (even doing it with a curve is essentially just placing points along the curve) rather than the field itself. The invisible charging points themselves, which nonetheless affect and provoke the system, somehow become a source of excitement for us.

I looked into the origin of the word a bit: The word “attractor” is derived from the Latin verb attrahere, formed by the combination of ad- (toward) and trahere (to pull, drag), meaning “that which draws toward itself” or “something that pulls.” Starting from the 17th century, it began to be used in the literature of physics and magnetism to describe magnets and gravity. Its meaning in physics is quite different. In physics, mathematical chaos theory, and dynamical systems, an attractor is a set of states toward which a system tends to evolve over time, thereby stabilizing the system. Therefore, there can be a metaphorical confusion. For this reason, although the term attractor is not entirely wrong in the context of what is being done, I think we need to get used to using “field” instead.

Cite this post

Yazar, T. (2026, October 8). Field Deformation. designcoding. Retrieved October 8, 2026, from https://www.designcoding.net/field-deformation/

Related Posts

Basic Grid Deformation

July 5, 2023

I am still trying to find the simplest solution to some geometric definitions. This is why I called this Grasshopper definition “Basic Grid Deformation”. Here you see the Curve Proximity (CrvProx) component in use. This component calculated the shortest distance between two curves. I think the underpinnings of this component are very interesting. I hope I can code it in Python one day. In order to see the result more clearly, the Previews of the Interpolate Curve (IntCrv) and Square…

Minimal Parquet Deformations

January 28, 2013

Is it possible to model a two-way parquet deformation using only native components of Grasshopper? In this definition, I limited myself to 10 of them. Parquet deformations are a very interesting and pedagogical topic to teach some of the basics of contemporary parametric modeling. This post explains a minimal parquet deformations algorithm in Grasshopper. However, this has its own limitations. You will see that the definition generates the attractor graph curve. Because the graph input tool creates the magic here….

Inflating Grids

December 28, 2012

After playing with vector fields in 2d (here) it was quite easy to create a 3d surface deformation. Here is my first experiment on a regular triangular grid’s three-dimensional behavior within a vector space, that includes a point charge of varying z coordinates. That makes field lines escape to a bounding box, instead of a bounding rectangle. Again, you may play with force decay, the number of samples, and the “grid blast” parameter, which is just a t-value evaluation of…

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)…

Parquet Deformation of Star Patterns

February 3, 2012

This is another starting point for pattern generation study in a dataflow environment. I tried to implement the parquet deformation of Islamic patterns in Grasshopper. I studied Hankin’s method of Islamic Pattern generation. Then I tried to simulate his process beginning with basic regular tiling (regular hexagonal tessellation). Craig S. Kaplan (here) explains this and other methods in his dissertation. A Simple Foundation We have already experienced the result of exploding any hexagonal grid, shifting its points with the help…

  • Chapters

    • Algorithms
    • Discourses
    • Fabrications
    • Studios
  • Explore

    • Table of Contents
    • Monthly Archive

    • All Keywords
    • #rhino-python
    • #design-education
    • #terrain
    • #polyhedra
    • #parametric-surface
    • #tessellation
    • #kuka-prc
    • #robot
    • #simulation
    • #curvature
    • #sphere
    • #harmonic
    • #basic-design
    • #fourier
    • #computational-geometry
    • #visualization
    • #dual
    • #parakeet
    • #growth
    • #3d-printing
  • 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