Meshing Point clouds

   2353   6   1
User Avatar
Member
143 posts
Joined: 9月 2017
Offline
Hi,

I've got some laser scan data that I want to turn into a mesh, but it's not just simple terrain, it's houses with roof overhangs, church towers and other stuff, where the Triangulate2D node with "keep point positions" doesn't give me nice results around the roof corners, since it basically tries to project a plane on top of the point cloud and ends up connecting points on the roof overhang with ground points, creating a mess where there are points on the walls etc.
There is an algorithm called Poisson surface reconstruction, that seems to do a decent job of meshing 3D point clouds, but I can't find anything similar in Houdini.

How would you guys go about meshing a 3D point cloud (not a 2.5D one) inside Houdini?

Cheers,
Ivan
User Avatar
スタッフ
71 posts
Joined: 1月 2022
Offline
The Point Cloud Iso SOP constructs a mesh from a point cloud with normal vectors. More details are in this tutorial: https://www.sidefx.com/tutorials/surfacing-lidar/ [www.sidefx.com]

This is an area where we'd like to improve our tools. Feel free to leave some feedback here.

EDIT:
The newer Point Cloud Surface SOP is recommended for meshing scanned point clouds.
Edited by paulmarkd - 2024年9月13日 15:52:47
User Avatar
Member
1 posts
Joined: 10月 2022
Offline
ez57 img [imgur.com]

For instance, I have a drone-scanned Lidar point cloud, with both terrains and trees.
Could I easily remove the vegetation and approximate the bare terrain?

The video above is more of a product-like scan.
Terrains are different subjects.
User Avatar
スタッフ
529 posts
Joined: 8月 2019
Offline
With H20, you can use the new Point Cloud Normal and Point Cloud Surface nodes.

https://www.sidefx.com/docs/houdini/nodes/sop/pointcloudnormal.html [www.sidefx.com]
https://www.sidefx.com/docs/houdini/nodes/sop/pointcloudsurface.html [www.sidefx.com]
User Avatar
Member
1 posts
Joined: 6月 2016
Offline
I know it is an older post, but as johnmater is saying they want to improve the tools in there i have some remarks and maybe it get's some attention:

I'm working in the simulation industry and we often have to generate meshes from pointclouds that are several square kilometers. The pointclouds are not always perfect square and are, in my case, mostly following a river so i have very long but (relativly) narrow points clowds.

For these large pointclouds you often struggle with the sheer size. The pointcloud surface node has to have a very high subdivision to keep some detail. Wich results in a very high memory usage and is mostly unworkable. It also generates a border mesh around the pointcloud wich is going to big.

Another big problem is that the pointclouds we get are mostly already processed clouds: they have been converted into a very even grid point cloud. It looks like: 3D pointcloud to 2D pointcloud and added the height information again. It gives you a kind of JPEG compression: you have jagged edges.
If you mesh a pointcloud like this one, you'll get very jagged edges if a corner or difference in height is not exactly on the grid-lines. It would be nice if we could apply some kind of guid-geometry (curves, lines, ...) so that the surface-node takes them into account when connecting certain points. I'm thinking of something like you can add flow-lines from wich you can set the influence (and influence distance) it has on the pointcloud-surfacing so that it prioritizes the flowlines first when looking for the best points to connect.

or am i looking for a solution that already exists?

Thanks for reading!
User Avatar
スタッフ
71 posts
Joined: 1月 2022
Offline
Since your dataset is 2.5D by the sounds of it, you'd be better suited using the Triangulate 2D SOP, with Restore Original Point Positions toggled on. The Point Cloud Surface SOP is better for 3D scans.
User Avatar
スタッフ
71 posts
Joined: 1月 2022
Offline
Triangulate 2D:
- Adds topology to the input points (Delaunay Triangulation).
- Linearly interpolates, bounded by the input's convex hull.

Point Cloud Surface:
- Creates new points and topology.
- Solves on the bounding cube.
- Uses smoother interpolation, with closed or open boundary conditions.
- Adaptive; uses more polygons in areas with higher point densities.
- Requires input points to have properly oriented normals.
  • Quick Links