test_project_point_on_variety.py 558 B

123456789101112131415161718
  1. import vedo
  2. # Example usage
  3. ########################################################################
  4. mesh = vedo.Mesh(vedo.dataurl + "bunny.obj").subdivide().scale(100)
  5. mesh.wireframe().alpha(0.1)
  6. pt = mesh.coordinates[30]
  7. points = mesh.closest_point(pt, n=200)
  8. pt_trans, res = vedo.project_point_on_variety(
  9. pt, points, degree=3, compute_surface=True
  10. )
  11. vpoints = vedo.Points(points, r=6, c="yellow2")
  12. plotter = vedo.Plotter(size=(1200, 800))
  13. plotter += mesh, vedo.Point(pt), vpoints, res[0], f"Residue: {pt - pt_trans}"
  14. plotter.show(axes=1).close()