Advanced Collision Rebound From Curved Surfaces

Hey. First post, and I’ve got something of a doozy to ask. I’m trying to get do a couple things for a project of mine, and I think I may have, er, overstepped the limits of my skills. What I’m trying to do is make an object react correctly to collisions with curved surfaces.

Things are not going so well, and while I have a few ideas left untried, it seems wise to ask around for other thoughts before I try to implement things that may not work at all.

My thoughts on the subject so far run as follows:
Initially, I tried using simple movieclip objects overlapping each other to provide borders for the spaceship, such as basic circles, squares, and concave areas. With a little stretching and rotating, these could be made to form the levels just fine, but the problem in every case was finding the tangent line to the point of impact on the shape. This fault led me to frustration and despair. Then I decided to come here before scrapping it completely and moving on to my next plan…
The equation of the tangent line at point of impact is, by definition, the value of that function’s derivitive at that point. So the thought occurs to me: What if I could make Flash into, in essence, a graphing calculator designed to display parametric equations? I would have to make the derivitives by hand, but that wouldn’t be hard… Possibly an new object, Equation, might help, that would contain the equation, it’s derivitive, and the domain of *t[/t]. There might be a little trouble determining the exact point of impact, but in theory it should work if I can get Flash to view the graph as a single object.

I probably made a mess of my explanations, heh… If you can understand my dilemma, any insights would be helpful.