Wednesday, May 8, 2019

geometry - Triangle-Plane intersection in 3D space


I would like to clip a triangle if its bounds lie partially out of a cube. I guess I would need some kind of Triangle Plane intersection code - I'm not well versed with math but I do have the points of the triangle in 3d space (P1, P2, P3).


How do I get the 2 points of intersection of the triangle with one of the planes of the cube?



Answer



If cube is axis-aligned, then it's easy.


You can compare each vertex of triangle with each face (plane) of cube. If it's out of cube (just compare apropriate coordinates), then find two new points, which lie on line connecting two other vertices with that one out of cube and which lie on plane (their coordinate is same as the plane). This is common linear interpolation. So I think you would handle it.


But you should be aware of case, which is on picture. Everytime choose point, which is closer to vertex, which is not out of cube (inner vertex). Choose green point, not red (which is closer to vertex out of cube). triangle plane intersection


Well. And if cube is not axis-aligned, you can look here: http://www.softsurfer.com/Archive/algorithm_0105/algorithm_0105.htm#Triangle-Plane


There is intersection of triangle and plane (not axis aligned). You can use it and test it with all cube faces.



I hope I answered your question. If not, then punch me and ask again :)


No comments:

Post a Comment

Simple past, Present perfect Past perfect

Can you tell me which form of the following sentences is the correct one please? Imagine two friends discussing the gym... I was in a good s...