I am using WPF, using the MeshGeometry3D class to build up my model.

I have 2 pipes intersecting each other, and I would like to remove the region of intersection (meaning erase the portion of pipe 1 that lies inside of pipe 2).

I have tried to solve the problem by solving for the points(vertices) that exist inside the pipe, and deleting it from the list of vertices.

However, it does not seem to work, since (i assume) that the primitives are represented by triangles, and if I were to remove the points, the triangles would no longer exist and the model will fall apart.

My question is that considering this, is there any method that I can try to remove the intersecting regions?

  • \$\begingroup\$ Cant you just change the color of intersecting to transparent? Yes, there are method, but they are very expensive(it is m to n test) and even more difficult(synthesizing new triangles), if you are not a pro I suggest you rather find a way around... \$\endgroup\$ – wondra Jan 26 '15 at 11:10
  • \$\begingroup\$ Unfortunately I do not have a way to change it to transparent. Is there an algorithm or method that you can point me to with regards to synthesizing new triangles? \$\endgroup\$ – John Tan Jan 27 '15 at 1:16
  • \$\begingroup\$ You can search for "polyhedron intersection" or "polyhedral mesh intersection". You can simplify things a lot if your object will be always convex(pipes), creating bounding boxes might be also helpful and convert your problem into some more easier to solve. \$\endgroup\$ – wondra Jan 27 '15 at 10:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.