Texture mapping onto a curved surface

Can anyone tell me how to apply a texture onto a curved surface made of triangles??
I know there is one method called
Spherical Mapping, but it doesnt give good results. I want to know if u guys have some good idea in mind.

If you have the original curve the triangles were tesselated for, you should obviously get the UVs from there by computing the value for certain ST parameters just the way you do for XYZ.

If you’re talking about adding a decal to an otherwise random polygonsoup, check out an article in Game Programming Gems for some good ideas.

If you want arbitrary conversions from XYZ to UV, check your favorite modeller for ideas – spherical, cylindrical, cube, whatever.

If you’re however talking about finding the “best” UV mapping for some triangles of unknown curvature, by whatever metric, you should search the web for ‘surface fitting’. It basically comes down to applying option 1 in this list, after inventing a curve/patch that fits the triangles “nicely” first. It’s not easy though, and still requires input values for the control points.