Question: From what I understand, taking a polygon and breaking it up into composite triangles is called "tesselation". What's the opposite process called and can anyone link me to an algorithm for it?

Essentially, I have a list of 2D triangles and I need an algorithm to recombine them into a polygon.

Thanks!

Answer: 
I think you need to transform your triangles as a [half edge data structure](http://www.flipcode.com/archives/The_Half-Edge_Data_Structure.shtml), and then you should be able to easily find the half edges which have no opposite.

![alt text](https://i.stack.imgur.com/hSe3U.png)
It's called *mesh decimation*. Here is some code I wrote to do this for a class. Tibur is correct that the half edge data structure makes this much more efficient.

<http://www.cs.virginia.edu/~mjh7v/advgfx/proj1/>