Explore the “Éloge du pas à côte” statue in the Place de Bouffay in Nantes through the generation and visualization of a point cloud using Python and Open3D.
The “Éloge du pas à côte” statue in the Place de Bouffay in Nantes is a fascinating and unique piece of art which is part of “Le Voyage a Nantes”. Its innovative and thought-provoking design encourages reflection on the importance of taking different paths in life. What if we explore this sculpture from an even more intriguing perspective by using point cloud generation and visualization?

In this article, we will discover how to use Python and the Open3D library to transform the “Éloge du pas à côte” statue into a three-dimensional point cloud and visualize it interactively.

The first step is to obtain a digital representation of the statue in the form of a 3D file. This can be achieved through techniques such as photogrammetry, laser scanning, or by finding an available 3D model online. Once we have the 3D file of the statue, we can begin the process of generating the point cloud.

Python offers a wide range of libraries for working with 3D data, and Open3D is an excellent choice for our purpose. Let’s start by installing Open3D in our Python environment. We can use pip to do this:
pip install open3d
Once Open3D is installed, we can load the statue’s 3D file and convert it into a point cloud. Here’s an example of the code:
import open3d as o3d
# Load the statue's 3D file
mesh = o3d.io.read_triangle_mesh("statue.ply")
# Convert it into a point cloud
point_cloud = mesh.sample_points_poisson_disk(5000)
# Save the point cloud as a PLY file
o3d.io.write_point_cloud("statue.ply", point_cloud)
In this example, we load the statue’s 3D file using o3d.io.read_triangle_mesh()
. Then, we use the sample_points_poisson_disk()
method to uniformly sample points on the model’s surface and convert it into a point cloud. Finally, we save the resulting point cloud as a PLY file using o3d.io.write_point_cloud()
.
Once we have generated the point cloud, we can once again utilize Open3D to visualize it interactively. Here’s a basic example:
import open3d as o3d
# Load the point cloud
point_cloud = o3d.io.read_point_cloud("statue.ply")
# Visualize the point cloud
o3d.visualization.draw_geometries([point_cloud])
In this code, we load the point cloud from the PLY file using o3d.io.read_point_cloud()
. Then, we use o3d.visualization.draw_geometries()
to visualize the point cloud in an interactive window.

Now, we can explore the “Éloge du pas à côte” statue from a whole new perspective through the generation and visualization of a point cloud.
See the complete notebook at the following link: