point-cloud-utils icon indicating copy to clipboard operation
point-cloud-utils copied to clipboard

what's the difference between pcu.RayMeshIntersector and pcu.ray_mesh_intersection? I seemed to get different results using them both.

Open zhangzc19 opened this issue 1 year ago • 1 comments

I ran the code below, but i got two different fid results. One result is -1 and the other is 663153. Is it possible that passing only one ray leads to this problem?

ply_area = trimesh.load(ply_path)
ray_origin = start_point
vector = end_point - start_point
ray_direction = vector / np.linalg.norm(vector)
v = treatment_area.vertices
f = treatment_area.faces
fid, bc, t = pcu.ray_mesh_intersection(v,f,ray_origin.reshape(1,3),ray_direction.reshape(1,3))
print(fid)
intersector = pcu.RayMeshIntersector(v, f)
fid, bc, t = intersector.intersect_rays(ray_origin.reshape(1,3),ray_direction.reshape(1,3))
print(fid)

zhangzc19 avatar Nov 06 '24 12:11 zhangzc19

I visualize intersection result and find the latter fid is right.

zhangzc19 avatar Nov 06 '24 12:11 zhangzc19