#Animated O3D mesh

1 messages · Page 1 of 1 (latest)

formal stag
#

This is what I have so far:

import time
import open3d as o3d

x,y = np.meshgrid(100, 100)
z = np.sin(x*1)

xyz = np.zeros((np.size(x), 3))
xyz[:, 0] = np.reshape(x, -1)
xyz[:, 1] = np.reshape(y, -1)
xyz[:, 2] = np.reshape(z, -1)

vis = o3d.visualization.Visualizer()
vis.create_window()


# Convert the NumPy array to an Open3D point cloud
pcd = o3d.geometry.PointCloud()

pcd.points = o3d.utility.Vector3dVector(xyz)
normals = np.full_like(np.asarray(pcd.points),[0,0,1])
pcd.normals = o3d.utility.Vector3dVector(normals)

mesh,density = o3d.geometry.TriangleMesh.create_from_point_cloud_poisson(pcd,depth=7)
mesh.paint_uniform_color([0.5,0.5,0.5])

vis.add_geometry(mesh)


for i in range(0,1000):
    z = np.sin(x* i)
    xyz[:, 2] = np.reshape(z, -1)
    pcd.points = o3d.utility.Vector3dVector(xyz)
    mesh.vertices = pcd.points
    mesh.compute_vertex_normals()
    
    vis.update_geometry(mesh)
    vis.poll_events()
    vis.update_renderer()
    time.sleep(.05)
devout linden