Geometry nodes radial mosaic scatter any object

Hello everybody,

I use blender since a couple of years, first mostly for rendering, but more and more for modeling, cloth sims and sometimes rigging. Now I am trying to get more into geometry nodes. I am still very much beginner to geometry nodes, I try to figure out how to get the nodes doing what I want it to do :wink:

Currently I am having a challenge with making a radial mosaic pattern on any mesh object. I want to be able to kind of choose the starting/center point of the radial pattern and be able to choose the size of the tiles and distance between them. I already have a setup, but this one only works for very simple shapes, very straight forward, pill kind of shapes. But I also want it to work for bended L shapes or maybe even U shapes.

My steps are as follows:

  1. Create an intersection plane to get an intersection curve from the mesh (boolean with the mesh)
  2. Evenly divide that curve based on distance (row/vertical distance between tiles)
  3. Raycast those points to a center line
  4. Create intersection planes on these points, boolean that with the mesh, to get something similar as isocurves.
  5. Divide all these “isocurves” based on distance, this is the horizontal distance between tiles
  6. Create tiles on these points

There is also some more nodes for randomization and some for getting the tiles oriented correctly.

The main problem is step 2. If the extracted curve is too complex or repeated in y or x direction, you will get duplicate points and therefore duplicated isocurved, etc.
Also of course the intersection planes in step 4 should be perpendicular to the line created in step 1.

All very difficult to explain, but maybe there is somebody how could have a look at my file and point me in the right direction? Thank you!

Patrick



geometrynodes_radial mosaic.blend (2.5 MB)

nobody any ideas?

@SterlingRoth @Charles_Weaver @AlphaChannel

1 Like

I think is hard topological problem not sure what is correct way to soling it.

But here is example creating geodesic distance and using it to create isolines with marching triangles algorithm get get somewhat decent results. Note this only works on triangular meshes, you can triangulate mesh by highly subdividing it, adding displace modifier with high frequency and use decimate modifier

geodesic_d_tiles.blend (2.5 MB)

5 Likes

Hi Higgsas, Thank you very much for the reply, I will check it out!

Hi Higgsas, I tried your file, but it’s not working because it’s linking to your nodegroups in an external file. Is it something you can inlude, so I can check it out? Thank you in advance.

Good luck.

1 Like

Hi, yea I forgot unlink nodes inside node group, this file should work

geodesic_d_tiles (1).blend (2.5 MB)

2 Likes

This is such a cool method, thanks a bunch for sharing !

1 Like

Thank you very much, I have been very busy, so didn’t come to checking this out yet, but it’s a great solution

1 Like

One more question. Would it be somehow possible to find the vertex id for the starting points of radial pattern by proximity? So instead of going into edit mode and finding the ID that way, it would be great if it would be possible to do it by moving a proximity object to the desired location. I was playing around, but I couldn’t get it working.

This way it would also be possible to generate the triangulated mesh within geometry nodes.

Here is example with finding vertex id with empty and triangulating mesh inside geo nodes

geodesic_d_tiles2 (1).blend (307.8 KB)

2 Likes

Hi Higgsas, Thank you for the prompt reply! Thank you for the solution. Your file had some unique node groups, so it didn’t work, but I could distillate the solution from your nodetree, thanks! I had some other nodes for triangulation, probably much more costly, but it works!

1 Like

Ah sorry I forgot to unlink some of the node groups, I updated the latest file it should work now