1234567891011121314151617 |
- """Generate a denser point cloud.
- The new points are created in such a way that
- all points in any local neighborhood are
- within a target distance of one another"""
- from vedo import Points, printc, show
- import numpy as np
- npts = 50 # nr. of points
- coords = np.random.rand(npts, 3) # range is [0, 1]
- scals = np.abs(coords[:, 1]) # let the scalar be the y of the point itself
- pts = Points(coords, r=9)
- pts.pointdata["scals"] = scals
- densecloud = pts.densify(0.1, nclosest=10, niter=1) # return a new pointcloud.Points
- printc('nr. points increased', pts.npoints, ':rightarrow:', densecloud.npoints, c='lg')
- show([(pts, __doc__), densecloud], N=2, axes=1).close()
|