Generate a 3D Mesh from a Point Cloud with Python

The fastest way to generate a 3D mesh from a point cloud

Mattia Gatti
3 min readAug 20, 2022
Photo by engin akyurt on Unsplash

Several implementations have been written in Python to obtain a mesh from a point cloud. The problem with most of them is that they imply setting many parameters which are hard to tune, especially without being a 3D data processing expert. In this short guide, I want to show the fastest and easiest process to generate a mesh from a point cloud.

Introduction

A point cloud is a collection of points with 3-axis coordinates (x, y, z). A collection of this type can come from different sources and be saved in different formats. Point clouds can be converted into 3D meshes by using different algorithms called surface reconstruction algorithms. To perform surface reconstruction this guide uses PyVista which is an easy-to-use library to process 3D data.

To install the latest version of PyVista from PyPI use:

pip install pyvista

Procedure

The code to generate the mesh is very short. You just need to provide a NumPy array with a shape of N × 3 where N is the number of points and the three columns are the x position, y position, and z position of each point. The most challenging part of the process is obtaining a…

--

--

Mattia Gatti

Currently doing research into AI Remote Sensing. Writing about Deep Learning and Geospatial Data Analysis.