Extruding and sweeping polygons

I’ve been trying to model some basalt columns as a fragment of a landscape but I am having difficulty achieving even an approximation of the form as seen in the image below. At first glance I thought this might be a good chance to start learning Grasshopper but I can’t even figure out the correct tools to use (or whether it’s even possible and i’m wasting my time)

I tried first with simple SubD modelling, then moved onto Grasshopper using hexgrid and mobius transformations from Kangaroo to obtain some ‘sweeping’ of the extrusions. Looks fine for certain fragments, but I can’t figure out a better way to achieve the middle part of the image where columns sweep from two different directions and merge together. The second image shows my attempt, bottom right is a manual subD (yuck), top left is a mobius transform (a bit better).

Does anyone have any suggestions on which tools would help me out here please?

starting from something as easy as a hexagon grid and a simple curve you can sweep those together and get interesting flows like this:

the main point is what happens when multiple flows (multiple shapes/sweeps) have to move together and at the same time be perfectly-separated non-compenetrating entities :slight_smile:

don’t know what sort of precision are you aiming for, and if you are happy of getting a nice visual effect without digging too much into the compenetration thing…

hexagon_sweeps.gh (4.6 KB)

2 Likes

Something like this may help :
(I don’t see a reason to work with Subd modeling in your case)



Random_cliff-pattern.gh (21.3 KB)

1 Like

Also : For the other part in your post
Random_cliff-02.gh (12.8 KB)

But anyway , I was thinking that working with Fields can also be a good idea , It will be more chaotic .


This part reminds me of something like this :

2 Likes

My thoughts went like:

Columnar basalt isn’t strictly hexagonal, but more like a voronoi.

So lets make a hexagonal cluster of points, array them upwards, then add a point or two to each with Populate. Relax the points with Kangaroo to make them roughly equidistant, the make a voronoi on each layer. Loft the cells.

It’s a nice idea, but I can’t get the Lofts to not be all twisted :frowning:

The next step would be to put some bends/truncations in, but I’m done for the day. If anyone can take this further, they’re welcome:

voronoi columns.gh (25.4 KB)

this reminded me of that :slight_smile: 3D Delaunay Lofts

1 Like

Wow, very similar! (I got all excited at “I have hidden perimetral cells as they deform due to Voronoi boundary being a rectangle” and then saw you’d used the same Area fudge as me :D)

Having slept on it and read that thread, it definitely needs a more deliberate method to align the curves for lofting, and a robust way to handle transitions between number of edges per cell. I think it would also be sensible to start with an authored volume and guide path , so that any curves/branching are emergent - rather than making an array of columns and then trying to bend them to fit.

1 Like

Well I rammed my head into a brick wall last night trying to make a consistent method of lofting between polylines of differing vertex count while maximising planarity and guaranteeing that each vertex is connected to at least one vertex in the next polyline. There are just too many edge cases. I guess this explains why the native Loft tool can’t do it. I wonder if there’s a Better Loft in a plugin somewhere?

I haven’t even started thinking about how the the missing bit at the “tip” of each inserted column would be formed.

Is there a way with Isopod maybe? Make a closely packed, sparsely branched series of aligned curves and find the medial surfaces between each pair of lines?


Without any branching, it’s all simple of course. The topology of cells can be identical from layer to layer, and can happily be wiggled, stretched and squashed while maintaining good clean lofts from cell to cell. Then you can intersect another volume to find truncation points and isotrim the tops off to emulate cliff-side erosion.

2 Likes

With Isopod, the ‘strands’ would probably be merged into one mesh but are the strands even individual objects? Some definitely but others look completely fused together

Two closeup screenshots:

1 Like

Maybe I’ve been over thinking it by going fully volumetric. This is for looks, not geology simulation. So just do the branching wavy stuff on the front surface (with as much authorial control as you like), voronoi on the top, but nothing inside.

1 Like

I’m have no time :slight_smile:

1 Like

I’ve already wasted too much :smiley:

As I thought about this way earlier , I tried to make a logic based on Field components .


The algorithm principal part is above, but there is more components in the following for extruding , adjusting polygons etc. (which can be found in the file)
Studlagil canyon.gh (28.8 KB)
The final field looks like this :

Result : ( which is just a part of the whole pattern )