Smooth triangle connectivity between points (via Connectivity POP & Dimension POP)

Dear community,

Trying to learn how to create smooth meshes (i.e. triangles interconnecting points) from points (i.e. via Connectivity Tab in TOP to POP or Connectivity POP/Dimension POP).

For example when doing a Sphere POP, converting it to TOP (Position and Active) and then converting it back to POP (using the Position to create points), how would you recreate the smooth sphere using Connectivity POP and Dimension POP (or perhaps other POP(s)) from these points?

Warm regards,
Fred

Hello @_Fred
Are you trying to mesh neighboring points from a set of points? If the points are arranged in a regular grid and you know the grid dimensions, you can reconstruct the mesh by using a Primitive POP together with a Skin POP. This works well when the connectivity is implicit in the grid structure.
For an arbitrary set of coordinates, however, there’s no inherent connectivity information. In that case, you would need to triangulate the point cloud to generate a smooth mesh. At present, there isn’t a built-in operator for this, but a Triangulate POP is something we’re considering adding in the future.
Another partial workaround is to render the geometry into a Depth TOP, then convert that back into points with a TOP to POP. This gives you a mesh-like grid that approximates the original visible surface, though it won’t perfectly recreate the complete mesh.

SkinGridMeshesAndPolygonize.toe (5.8 KB)

Hi @Guillaume.L ,

Indeed trying to mesh neighbouring points, or at least provide a structure to how they interconnect that can be smooth and coherent.

Thank you for this comprehensive explanation, will also be diving into presented methods to get a stronger footing.

Just one more question in response for now (perhaps to understand methods better):

If you take a TOP to POP approach without starting geometry, is there a way to kind of modulate a structure to connect points with that you can give to the POP as an attribute or some supplementary part? And modulate that to utilize it as a structural property in itself (how the points connect).

Reason I ask is because of groundedness in TOPs for complex structures (ie feedback, fractals) and eagerness to cultivate/augment these structures in some way in POPs in three dimensions

You can use the Neighbor POP to identify nearby points. It can creates an integer array attribute that stores the indices of the closest points for each particle. You can control both the maximum number of neighbors and the search radius, which gives you a lot of flexibility in defining local structure.

Another option is the Proximity POP, which will actually draw line segments between points that fall within a given distance. It’s useful for quick visualization of local connectivity, but it doesn’t enforce any kind of topological rules—so overlapping or crossing edges aren’t prevented.

Hello! Just wanted to comment quickly on this, indeed this can also be done with Dimension POP and Connectivity POP, which can be a bit obscure, but makes that quite easy, see edited toe. Just realizing we could have an option on TOP to POP to use the TOP resolution as dimension when mode is position and active (it’s just assuming the points are a point cloud right now and not ordered, for other modes it will bring the TOP resolution as dimension).

The dimension information is stored on the CPU so getting it directly with the python member should be a little more efficient than analyze POP + POP to CHOP, also in toe

SkinGridMeshesWithConnectivityPOP.toe (6.3 KB)

1 Like