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