0

I'm having a really weird behaviour when using vedo's intersectWith() function to check intersection between meshes. I'm checking intersections between thousands of simple planar meshes (basically squares, of the same size, made by 2 triangles, rotated in different angles in both z and x axis) and sometimes, when checking some of those pairs, python crashes. No error, it just crashes in that function.

I found out that when the center point of both meshes is exactly the same, the problem happens. I corrected that by adding noise, but still, some other combinations throw the same problem.

I was able to isolate one of the cases and make a small testing example that produces the crash:

m1v = np.array([[17903.93947473, 11418.12995419,  2572.68075251],[17889.43531656, 11423.09300945,  2546.89320749],[17913.65204344, 11446.51421055,  2572.68075251],[17899.14788527, 11451.47726581,  2546.89320749]])
m2v = np.array([[17897.68174692, 11454.30365475,  2573.22453367],[17917.8546173 , 11442.45883457,  2554.44274633],[17882.4917027 , 11428.43354543,  2573.22453367],[17902.66457308, 11416.58872525,  2554.44274633]])

m1f = [[0,1,2],[1,2,3]]

m1 = vd.Mesh([m1v,m1f])
m2 = vd.Mesh([m2v,m1f])

m1.intersectWith(m2,tol=1e-06)

I suspect that if (i don't know really..) maybe some coordinates of the vertices are the same, for some reason it crashes (maybe some division by 0 or something in the intersect check).

Has anybody working with vedo (or vtk, vedo is a wraapper of vtk) had the same issue or has any idea why it's happening?

Ghost
  • 1,426
  • 5
  • 19
  • 38

0 Answers0