Hi! I’m trying to recreate this effect in grasshopper and it’s been giving me trouble. I have used a variety of strategies including attractor point stuff, magnetic fields, and scaling via bounds, remapping numbers, and construct domain.

Basically, I’d like to generate tiles that respond to points in 3 different ways - slightly moving away from the point to mimic distortion, scaling smaller and smaller as they get closer to the point, and edges/corners closest to points moving away from points to create non-uniform tiles.

I have gotten a few results, but nothing close to the desired tile pattern. I would really appreciate some help or some suggestions, because I am stuck.

Thank you!

This is what I’ve gotten so far, but the tiles are uniform in shape, with no warping of corners or edges, which is what the original looks like.

Here are a few different scripts that I’ve tried so far.

magnetic field.gh (19.8 KB)

magnetic voronoi.gh (17.4 KB)

Hi! Perhaps the deformation was not effect of the field on the squares, but on the vertices that form the square. That is, the field moves the vertices (deconstruct BREP?) on the square, thereby changing the shape of the square

Also, is anyone else’s ‘brep’ getting auto-corrected to ‘prep’?

That is a great idea! Thank you. @Gears_Gears Here’s what I tried from there.

Do you have any tips on streamlining connecting all those points into individual polylines?

Perhaps the following:

1 make squares

2 for each square: (implement the ‘for-each’ part by using Graft, so that each square is in their own tree branch)

deconstruct brep to extract points

use your tool to move the vertices

get polyline from points, or some other way to get a four-sided shape from four points (since your operation is applied to each branch, you know that the four vertices in that branch necessarily come from the square on that branch)

Awesome! I ended up using this

Thanks for the help

1 Like