Mesh Triangulation


(David S. Mavrov) #1

On the left is a triangulated mesh done with the standart triangulation component. On the right is a triangulation, which I have done manually. Any way or existing plug-in which can do this?


(Daniel Piker) #2

I think it takes the shortest diagonal if there is one, so maybe you could deform the quadrants inwards, triangulate, then deform back to the original shape.

Or just triangulate a quarter, array it around and rejoin


(David S. Mavrov) #3

I was thinking of a way to draw the diagonals from the center of the shape outwards and then use Weaverbird to recreate the mesh from lines.


(David S. Mavrov) #4

Something like this :slight_smile:
But I wonder if I can make it simpler.

triangulation.gh (50.6 KB)


(Daniel Piker) #5

Yes that should work too. For more complex quad meshes it might also be nice to have a function that takes some input curves, and for each quad chooses the diagonal most aligned with the closest curve


(Georgelei) #6

My train of thought may be divided into four parts and then one of them. Mirror.


(Daniel Piker) #7

Seemed like it might be useful, so I made a script for triangulating by closest curve direction:
triangulate_direction.gh (6.7 KB)


(Daniel Piker) #8

Fun to see what happens when you equalize the triangles produced from this

triangulate_direction_relax.gh (14.3 KB)


(David S. Mavrov) #9

The diagonals at the bottom right corner are the other way around. The rest is perfect. :slight_smile:


(Daniel Piker) #10

Not sure I follow?
You choose the direction with the input curves.
For the pattern in your post at the start, you’d give it 2 crossed lines:
image


(Daniel Piker) #11

tridir


(David S. Mavrov) #12

OK! I was trying it out and yes, the curves as a guide do the trick pretty well. I will play with some random shapes and see what I can get.

I inflate the mesh later on, so I should not have flat faces at the corners and also this way the curvature of the entire shape is way better at the end.


(David S. Mavrov) #13

Damn this is trippy as hell :smiley:


(David S. Mavrov) #14

Look at it when you use the guide curves the way I needed. Pretty neat thing :slight_smile:

triangulate_direction_relax_v2.gh (12.6 KB)


(David S. Mavrov) #15

Look at that curvature analysis. Look at that symmetry.


(Daniel Piker) #16

Nice!
I added another little script for if you want to use an irregular boundary curve - it trims off any faces outside the curve, and also any ‘hanging’ triangles with 2 boundary edges:

triangulate_withincurve_pressure.gh (14.9 KB)


(David S. Mavrov) #17

God dammit Daniel, this is pure beauty!!!


#18

wow !!


(Giaco) #19

@DanielPiker

Hi , do you think this approach can work also with multiple curves?

I have a mesh generated trimming a surface with a series of closed curves and then Mesh Brep.
When I thicken and smooth the final result is bad, since the topology is not regular ( see below).

I tried out the exemple shown above, but I don’t understand what is going wrong…

Here’s the file.
triangulate_withincurve_pressure-multiple-curves.gh (132.0 KB)

Thanks!


(Daniel Piker) #20

I updated this to work with nested curves :slightly_smiling_face:
triangulate_withincurve_pressure_multicurve.gh (14.7 KB)