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
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
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
a point that is 100m from X1,Y1 in the direction of X2,Y2 is
X=X1+100m*(X2-X1)/sqrt((X2
Y=Y1+100m*(Y2-Y1)/sqrt((X2
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.
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
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
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!
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.
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.
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)
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) ?
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)
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) ?
ASKER
myproblem.gif