Results 1 to 2 of 2

Thread: Creating mesh from point cloud

  1. #1
    Newbie Newbie
    Join Date
    Jul 2014
    Posts
    2

    Creating mesh from point cloud

    Hi all,

    I've got a project which involves 3D reconstruction of point clouds from a 3D scanner. Being relatively new to computer vision i am in the dark. I need to implement this 3D reconstruction in c++. I plotted the coordiated i recieved from the 3D scanner and i got a point cloud, a picture of which is attached.
    Attached Images Attached Images

  2. #2
    Senior Member Regular Contributor Agent D's Avatar
    Join Date
    Sep 2011
    Location
    Innsbruck, Austria
    Posts
    281
    First of all, I don't see how this is related to OpenGL(R) at all, and I have no knowledege of the subject, here are some suggestions how I would approach the task:

    a) Search for it online

    b) Here's an intuitive aproach I though up on the train ride home (i.e. I don't guarantee for this to actually work):
    • Compute the AABB from the point samples
    • Generate an octree from the point samples
      • if there are no points left, stop octree subdivision
      • if the octree node edge length reaches a certain threshold, stop octree subdvision and average the remaining points inside the node (that way you could some how controll the resolution of the mesh)

    • At this point, you have an octree where each leave contains either zero points or exactely one point
    • For each node:
      • If it is a leave node and it contains a point, label it filled, otherwise label it empty
      • If it is a non leave node and contains at least one filled child, label it filled, otherwise label it empty

    • For each non empty leave node:
      • Generate a triangle fan from the point sample as first vertex and all surounding non-empty leave nodes
      • Store node pointers instead of vertex positions as integers are easier to compare for equality than float touples
      • Append every triangle of the fan individually to a triangle list

    • For each triangle in the list
      • For each vertex
        • If the vertex has not been encountered before, append it's coordinates to the final vertex buffer and append the index of the top of the vertex list to the final index buffer
        • If a vertex has been encountered before, only append the index of the existing vetex position to the index buffer



Similar Threads

  1. Display a point cloud from Array
    By Saulmann in forum OpenGL: Basic Coding
    Replies: 3
    Last Post: 02-23-2012, 08:00 AM
  2. point cloud to wireframe
    By kulig in forum OpenGL: Basic Coding
    Replies: 3
    Last Post: 07-11-2011, 11:20 AM
  3. Query points close to a cut plane in point cloud
    By Andrea Tagliasacchi in forum OpenGL: Advanced Coding
    Replies: 0
    Last Post: 09-16-2008, 02:49 PM
  4. Lighting calculations for large point cloud
    By thinks in forum OpenGL: Basic Coding
    Replies: 4
    Last Post: 12-19-2006, 12:32 AM
  5. Mesh generation from points cloud
    By Gerardo in forum OpenGL: Basic Coding
    Replies: 2
    Last Post: 04-15-2004, 12:59 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Proudly hosted by Digital Ocean