Triangular grid distortion to fit a defined frame

Hi all, I am trying to replicate this type of construction using grasshopper, the idea is to be able to distort a triangular grid in such a way that at certain rows I can fit more columns horizontally. In the past I have distorted grids using tensors but this feels conceptually different as I am trying to deform each row proportionally. Any suggestions on how to get started would be much appreciated. Thanks!!

If you know how to code read this (The appendix has some C# code [incomplete] as well).

Mesh_Triangulate_Paper98.pdf (932.4 KB)

If not try to find some add-on (or try the MeshMachine/K2)

Thanks for your reply! I was trying to find a method to implement this with grasshopper as the distorted grid and vertex location would be the base for further geometries. Thanks again!

Ps not sure how I could use mesh machine for this task, by looking at the documentation and videos it seems to be a blender add on for working with quads and n-gons, right? Any direction would be greatly appreciated

Well … as I said if I was you I would give the C# (appendix in the above paper) a spin. The only thing worth talking is the approach for dividing the boundary (there’s various ways for that [proportional to segments lengths - for instance]) and/or a general way to deal with BrepFaces Lists.

That said the Class objects (other than Curves) in that C# are pointless. Plus the C# - as a whole - requires some mods as well (is rather written in a hurry).

But all that require code skills (medium to advanced).

BTW: Truth is that the MeshMachine is not written for exactly that type of stuff.

Thanks again! I am afraid that my coding skills are quite basic, hoping that there would be a method in grasshopper which I feel more confortable with. I have done some tests using CageEdit but does not feel to have enough control of the deformation.

Initial grid on the left, grid fit into the rectangle using CageEdit in the middle and desired hand drawn outcome on the right. I am trying to minimise the amount of irregular triangles as this grid will be the base for physically fabricated objects while keeping a smooth transition between the two grid dimensions. Orange will be the irregular triangles in each case. The reason of doing it using Grasshopper would be to be able to increase the amount of elements in the grid and try different configurations as well as constructing the objects based on the grid vertex.

Well … these are bad news I’m afraid. Unless some good C# Samaritan (Laurent does that frequently) wants to implement the appendix thingy (and fix one or two Methods).

Thanks, will try to find someone to help me with c#


triangulation_refit.gh (8.5 KB)
Here’s an example of how you can take a triangulation and refit it to a new boundary curve

2 Likes

Many thanks @DanielPiker!!! Fantastic!!

1 Like

@DanielPiker did some tests and it seems that kangaroo may be the way to approach this, thanks! I am trying to “compress” the central rows of the mesh so 6 equilateral triangles of smaller size will fit the width of 4 original triangles while keeping the non equilateral triangles up to a minimum (as per image at the top of the thread). I am wondering if there is a way to tell kangaroo to keep those central rows as equilateral triangles of a desired side length while letting kangaroo solver to deform the rest of the mesh to fit the boundary? Thanks again!!

Yes, it is possible to keep certain triangles fixed using Anchors.

For example:
triangulation_refit2.gh (9.7 KB)
(I first selected the control points of the triangles to keep fix and rescaled them in Rhino before setting them as anchors)

The exact mesh you’re after wasn’t clear to me from your diagrams, as the mesh on the left has different topology to the other 2. Anyway, hopefully the above approach is clear enough to adapt to the mesh you want.

1 Like

Fantastic! Many thanks @DanielPiker! You are absolutely right, topology is different, did it by hand so added few points missing in the original mesh. Never used kangaroo before and only saw examples of form finding using external forces. Thanks again, I really appreciate your help!!

1 Like