Point Cloud Isosurface [message #72074] |
Thu, 12 August 2010 13:42 |
tegus
Messages: 20 Registered: October 2008
|
Junior Member |
|
|
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
|
|
|