You are given a series of $N$ triplets of values ($P_1$, $P_2$, $P_3$), pertaining to physical measurements. $N$ is in the order of $100$ to several thousands. My colleague would like to draw isosurfaces from this dataset.
This is a little bit broad but perhaps still with some chances of accurate answers.
To an extent, it is important to know where the data comes from because it affects how the iso-surfaces are reconstructed. A Digital Elevation Model, for example, is essentially a 2D construction but volumetric data are inherently 3D. In the latter case, a trully 3D surface has to be fitted through the points of the contour which is much more challenging.
In both cases, the marching cubes algorithm is the standard way to extract the iso-surface but other methods involving a shrinking elastic surface (basically, 3D generalisations of active contours) have also been used.
In terms of practically applying it:
For relatively small point-clouds (a few hundreds of points), Blender with Point Cloud Skinner, can produce quick results. I have used this to create a surface through Magnetoencephalography sensors (whose locations are known) which ends up looking like a helmet. If your point cloud describes a convex shape, this will have no problems recovering it. I think that it works similarly to QHull (i.e, extracts the convex hull) but it has a threshold parameter that to an extent allows it to account for holes.
Paraview. Incredibly useful and with Python scripting capabilities. The software handles loading the data and several standard operations and allows extracting the results. The good thing about Paraview is that it includes a "raw import" functionality which you can use to load data in whatever format you may have it in. Isosurfaces are produced with "Contour". This is straightforward for volumetric data. If you already have the points, there is a "Table to structural grid" function that will bring the data to the expected form prior to applying "Contours".
- I would consider this the faster option over the Visualisation Toolkit but if you need more control over the result, you might find the VTK more useful.
Meshlab. Meshlab is specifically built for handling huge point clouds including fitting surfaces. Meshlab is interesting because there are various scripts you can use around it, depending on what you are trying to achieve.
The Point Cloud Library and its Python bindings. This is similar to Meshlab in that it can handle huge volumes of data and it includes a surface fitting capability. It is however more challenging in setting up and operating.
Hope this helps.