OpenMesh 1.9.5 ported to D

Jascha Wetzel firstname at mainia.de
Wed Sep 26 04:28:43 PDT 2007


Ansible wrote:
> I have a 2d laser triangulation scanner sitting in my office, which I 
> use for work.  You can push an object through the scanner and create a 
> point cloud that more-or-less approximates the object.
> 
> I've gotten interested in writing something to turn this point cloud 
> into a 3d model.  I've done it in C++, but its not quite where I want it 
> to be - it doesn't handle objects like rabbit ears or coffee cups - but 
> as long as you want to scan cigars, you're fine.
> 
> Can you recommend a lib or algorithm out there for doing this kind of 
> work?  From a brief overview of the openmesh website it looks like this 
> isn't the kind of thing openmesh does, its more the kind of thing that 
> openmesh is used to make.

i happen to know this one:
http://research.microsoft.com/users/hhoppe/recon.pdf
it's for 3d point clouds. it uses k-nearest neighbors of a point to 
approximate a best fitting plane using least squares, like Bill 
mentioned. using these planes, a (volumetric) signed distance function 
can be approximated. then you can use the marching cubes algorithm to 
triangulate the surface.

if your scanner can provide a set of 2d range images instead of a 3d 
point cloud, you can use a trivial triangulation of the regular grid. 
then the tricky part is to join the images into a 3d model. you'll find 
algorithms for that searching for "registration integration laser range 
image".



More information about the Digitalmars-d-announce mailing list