Link to home
Start Free TrialLog in
Avatar of Squeese
Squeese

asked on

Calculate angle between two points

Math math mat! :D

I got two XY points, what Im trying todo is set the first XY1 to "move towards" XY2, in my application. I assign new XY positions for XY1 every 100ms or so. So to the math:
What I remember from school is that I need to use some sort of variation of the phytagoras theorem?
The new X and Y are C1 and C2 of the right angled triangle, and the hypotenuse is the direction in wich XY2 is relation to XY1.

So I know the length of the hypotenuse and calculate the angle between XY1 and XY2, can I calculate the C1 and C2 from that?

Hope I made sense, math is hellova fun, it's just to hard to manage for some of us.. :P
Avatar of Squeese
Squeese

ASKER

Ive made a small image illustrating the "problem"


myproblem.gif
Avatar of ozo
I don't know what you are naming C1 and C2, but
a point that is 100m from X1,Y1 in the direction of X2,Y2 is
X=X1+100m*(X2-X1)/sqrt((X2-X1)^2+(Y2-Y1)^2)
Y=Y1+100m*(Y2-Y1)/sqrt((X2-X1)^2+(Y2-Y1)^2
All points while "moving towards" the second point are on the line between the two points.

The equation of a line between two points p1(x1,y1) and p2(x2,y2) is :

    y = y1 + [(y2 - y1) / (x2 - x1)] * (x - x1)

(when x1 is not equal to x2)

To let a point move from p1 to p2, you just let x vary from x1 to x2, and calculate the corresponding y with the above equation.


In the special case where x1 is equal to x2, the equation becomes :

    x = x1

And to let a point move from p1 to p2, you just let y vary from y1 to y2, and calculate the corresponding x with the above equation.
ASKER CERTIFIED SOLUTION
Avatar of ozo
ozo
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Squeese

ASKER

Im naming C1 and C2 out of ignorance to the proper terms I guess, used the shorts for naming the sides of an right angled triangle according to wikipedia: http://en.wikipedia.org/wiki/Cathetus ;P

I tried your solution first ozo and it works absolutely perfect. Much abliged!
One thing that seemed confusing, was that despite the question title, we nowhere calculated an angle.
Avatar of Squeese

ASKER

Oh, my lack of mathematical expertise is lacking. :P
Should I rename the Question to a more fitting title, as to help anyone else with similiar problems?

I initially thought it was a prerequisite to solve the math, thw angle that is.
He probably meant the slope of the line, in which case I did make direct use of it ... (and your solution also indirectly uses it)
Avatar of Squeese

ASKER

Meaning, if you knew the length of the hypotenuse and the angle, you could thus calculate the length of both cathetus (?).
But what little I actually understand from the given solution, you only need distance between the points to solve it?

C2=10*(X2-X1)/sqrt((X2-X1)^2+(Y2-Y1)^2)
Is that: H = sqrt(c1^2 + c2^2)

Can you use the same formulae to calculate any side of the right angled triange if you know two of them, not only the hypotenuse (as the unknow) ?