Re: Point Cloud Isosurface [message #72066 is a reply to message #72061] |
Thu, 12 August 2010 18:55   |
tegus
Messages: 20 Registered: October 2008
|
Junior Member |
|
|
On Aug 12, 5:27 pm, Karl <karl.w.schu...@gmail.com> wrote:
> On Aug 12, 2:42 pm, tegus <tegusbillhar...@gmail.com> wrote:
>
>
>
>
>
>> Hello,
>> I'm working with noisy 3D point cloud data approximated by:
>> xyz_0=randomn(seed, 3, 1000) + 5.0
>> xyz_1=randomn(seed, 3, 1000) + 10.0
>> xyz_2=randomu(seed, 3, 10000) * 20.0
>> xyz=[[xyz_0], [xyz_1], [xyz_2]]
>
>> although the actual data sets are larger and far more complex ...
>
>> My current method of reducing and rendering the data:
>> - Create a 3D histogram (bin size = 1) using hist_nd from JDHU
>> library:
>> vol=hist_nd(xyz, 1.0)
>> - Create isosurface (density threshold=10)
>> isosurface, vol, 10, verts, conn
>> - Create polygon object and display
>> oPoly=obj_new('IDLgrPolygon', verts, polygons=conn)
>> xobjview, oPoly
>
>> This gives me the desired result which in this example is a polygon
>> object which depicts two blobs approximating the measured positions.
>
>> However, rendering and analysis of a more complex scene as a single,
>> complex polygon becomes unwieldy (e.g., no dynamic culling, z
>> clipping ...)
>> My question is, how do I separate these two solid objects, represented
>> by a single polygon (verts and conn), into two seperate polygon
>> objects (verts1, conn1 and verts2, conn2)?
>
>> Thanks,
>> Bill
>
> MESH_CLIP() ?
Karl,
To use MESH_CLIP I need to specify a clipping plane between the blobs,
which becomes intractable for any real data set (on the order of
millions of points and tens of thousands of blobs).
|
|
|