# How do I compute the angle between a pixel on an irregular curve and a circle colliding with it?

I'm building a custom physics engine to accompany a level-editor. This image shows how the level-editor outputs levels:

Now, some explanation is in order. The curve is defined by the red points. After they are connected in threes by circles (yellow lines show these circles), a system connects them in a 'streamlined' way - as shown by the blue lines. This makes the curves flow seamlessly.

Now, these curves are 'irregular,' so to say. For the accompanying physics engine - how do I detect the angle made between a pixel on the curve and a colliding circle (per-pixel collision check)?

• Possible duplicate: gamedev.stackexchange.com/questions/37802/… – MichaelHouse Aug 28 '13 at 13:13
• I saw that post, but I'm not exactly dealing with bezier curves. – MemoNick Aug 28 '13 at 13:15
• Wouldn't you just take the two adjacent pixels to form a line? Then you can calculate the "angle" between the pixel and colliding circle rather easily. – MichaelHouse Aug 28 '13 at 13:23
• How irregular are your curves? Aren't they cubic splines? If you invented them and it doesn't bother you in sharing the idea, put the math online so we may help. I think there's an ocean on info on spline-circle intersection out there. What did you look for before deciding it's not what you need/want? – teodron Aug 28 '13 at 13:23
• @Byte56 I don't think that would work really. If you're taking adjacent pixels, you'll only have a handful different gradients (and hence, lines). – MemoNick Aug 28 '13 at 13:25