So, these triangles exist on the same plane so we can treat them as 2D (e.g. ignore the Z coords of the verts)?
When an intersection occurs, do you want to leave the original triangles as they are, or do you want to 'cut' the intersection out of them?
Do you need to check for intersection between more than 2 triangles, ever?
I'd definately go the math route for this. You could basically use a line intersection function to determine all points of intersection between the edges of the 2 tris - these will be your new vertex coords.
There's actually going to be more to it than that as the intersection may be a polygon with more than 3 sides. Look at The Star of David for a worse case senario. This'll require some intelligent triangulation of the intersection poly. Hmm, actually, the actual triangulation wont be that difficult.
Just thinking out loud, here. :P
When an intersection occurs, do you want to leave the original triangles as they are, or do you want to 'cut' the intersection out of them?
Do you need to check for intersection between more than 2 triangles, ever?
I'd definately go the math route for this. You could basically use a line intersection function to determine all points of intersection between the edges of the 2 tris - these will be your new vertex coords.
There's actually going to be more to it than that as the intersection may be a polygon with more than 3 sides. Look at The Star of David for a worse case senario. This'll require some intelligent triangulation of the intersection poly. Hmm, actually, the actual triangulation wont be that difficult.
Just thinking out loud, here. :P