# How to find point on a circle that's opposite another point?

How do I find the coordinate of point and angle value on circle sprite which placed on opposite side of sprite from a touch point and the center point of the sprite?

I know A position, B position and sprite circle size. How do I calculate the position of C? and the angle it is around the sprite circle?

-

Calculate a vector from B to A, normalize it (divide by the vector's length), then multiply by the circle size:

``````vx = A.x - B.x
vy = A.y - B.y
length = sqrt(vx*vx + vy*vy)
C.x = vx / length * size + A.x
C.y = vy / length * size + A.y
``````

For the angle you can use the atan2 function, if your language has it.

-
Remember to add A's position back to C to get the actual position. This calculates the position of C relative to A. (Also might as well update the code to use A and B instead of just x, x1, y, y1, just to make things clear). – Byte56 Jul 15 '14 at 0:37
@Byte56 thanks, it help me. Sergio big thanks. about atan2, please do you can say what Y and X i need put to atan2(y,x) method? – Snake22 Jul 15 '14 at 1:30
Thanks @Byte56. Edited. – Sergio Jul 15 '14 at 6:26

``````angle = atan2((C-A).y, (C-A).x) + PI/2;