hello , I need to know how to get the direction from point A to point B

eg. point_direction(0 , 0 , 100,100); would equal 315
x1 y1 x2 y2

how do I compute this ?

Thanks !

4
Contributors
6
Replies
7
Views
8 Years
Discussion Span
Last Post by daviddoria

Are you looking for the bearing? You would need to use the inverse trig functions found in the <cmath> header then convert the answers from radians to degrees.

Are you looking for the bearing? You would need to use the inverse trig functions found in the <cmath> header then convert the answers from radians to degrees.

what would the code be to this ?

``````#include <cmath>
#include <iostream>

int main()
{
double x1 = 0;
double y1 = 0;
double x2 = 100;
double y2 = 100;

std::cout << 180./3.14159 * atan((x2-x1)/(y2-y1)) << std::endl;

return 0;
}``````

The answer is 45 not 315 going from (0,0), to (100,100), right?

Dave

Edited by WaltP: Fixed CODE tags -- careful, David. Remember PREVIEW...

Just look up the distance formula.

``````#include <cmath>
#include <iostream>

int main()
{
double x1 = 0;
double y1 = 0;
double x2 = 100;
double y2 = 100;

std::cout << 180./3.14159 * atan((x2-x1)/(y2-y1)) << std::endl;

return 0;
}``````

The answer is 45 not 315 going from (0,0), to (100,100), right?

Dave

well in graphics everything starts at the top left hand side :icon_smile:

Ah, yes. In mathematics the standard is +x is 0 degrees and the angle increases counter-clockwise. You'll have to adjust accordingly.

Dave

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.